Developer API
开发者API

终极开发者 API 指南

本文档是整个 Chirps AI 平台的官方详尽 API 参考。我们已经规划了整个系统中每个开发人员安全的端点。您可以通过编程方式无头复制 100% 的仪表板功能。

Developer API

1. 认证及核心原则

基本 URL: https://chirps.cc

所有 API 端点都需要“授权”标头中的 Chirps API 密钥。您可以从仪表板的开发人员部分 中的 API 管理器生成 API 密钥。

http
Authorization: Bearer <YOUR_CHIRPS_API_KEY>

请求示例:

bash
curl -X GET https://chirps.cc/api/billing/usage \
  -H "Authorization: Bearer <YOUR_CHIRPS_API_KEY>" \
  -H "Content-Type: application/json"

标准错误处理

状态码描述
200 好请求成功。
400 错误请求JSON 负载验证失败。包括一个详细信息数组。
401 未经授权令牌丢失或过期。
402 需要付款工作区已达到计费限制。
《403 禁止》用户没有所需的 RBAC 权限。
404 未找到请求的资源不存在。
500 服务器错误意外的平台错误。
Developer API

2. 助理生命周期(创建)

GET /api/assistants

列出助理

获取与 API 密钥工作区关联的所有助手的列表。

创建助理

POST /api/assistants

创建具有所有基本配置的新助手。

json
{

  "businessName": "Acme Corp",
  "businessUrl": "https://acme.com",
  "knowledgeBaseType": "both",
  "knowledgeBaseUrl": "https://acme.com/help",
  "knowledgeBaseText": "Raw text content of a document...",
  "knowledgeBaseFileName": "company_handbook.pdf",
  "language": "en",
  "isMultiLanguage": false,
  "tonePersonality": "professional",
  "isCustomPersonality": false,
  "supportEmail": "[email protected]",
  "maxPages": 5,
  "maxDepth": 2,
  "welcomeMessageDelay": 2
}
范围类型必需的描述
企业名称细绳是的公司名称(2-100 个字符)。
businessUrl细绳是的企业网站的有效 URL(最多 500 个字符)。
知识库类型枚举是的以下之一:“url”、“文档”、“两者”、“无”。
知识库网址细绳如果类型是“url”或“both”,则必须提供。
知识库文本细绳如果类型为“文档”或“两者”,则为原始文本。
知识库文件名细绳如果提供文本,则为上传文件的名称。
语言细绳是的语言代码(例如“en”、“es”)。
是多语言布尔值启用自动翻译。默认为“假”。
语气个性细绳是的例如,“专业”、“友好”。最多 100 个字符。
isCustomPersonality布尔值启用自定义音调。默认为“假”。
自定义个性描述细绳自定义提示音说明(如果启用)(最多 2000 个字符)。
附加说明细绳核心提示说明(最多 10000 个字符)。
支持电子邮件细绳是的用于升级的有效电子邮件地址。
最大页数数字要抓取的页面。最小值 1,最大值 100。默认为“5”。
最大深度数字爬行深度。最小值 1,最大值 20。默认为“2”。
欢迎消息延迟数字问候前延迟几秒。最小值 0,最大值 6。默认为“2”。

删除助手

删除 /api/assistants/:id

永久删除助手并级联删除其所有知识节点和历史记录。无需有效负载。

Developer API

3. 助理分析与统计

创建和使用后,您可以立即以编程方式获取助手的性能指标。

GET /api/analytics/overview?assistantId=uuid&range=30

获取指定助理的使用情况统计信息、消息总数、捕获的潜在客户以及一般参与度指标。 range 参数是可选的(天数,最小值 7,最大值 365,默认 30)。

预期反应

json
{

  "totalConversations": 1245,
  "totalMessages": 8420,
  "totalLeads": 156,
  "totalBookings": 42,
  "satisfactionRate": 94,
  "avgMessagesPerSession": 6.7,
  "avgSessionsPerDay": 41.5,
  "liveNow": 3,
  "onlineNow": 12,
  "dailySeries": [
    {
      "date": "2026-07-15",
      "conversations": 45,
      "messages": 310,
      "leads": 5,
      "bookings": 2
    }
  ],
  "agentStats": [
    {
      "name": "Jane Doe",
      "messagesSent": 120,
      "csat": 98
    }
  ]
}
财产类型描述
总对话数数字助理处理的聊天会话总数。
总消息数数字所有对话中发送的消息总数(用户 + AI)。
总潜在客户数字提取的唯一潜在客户(姓名、电子邮件、电话)总数。
总预订量数字成功预订的日历约会总数。
满意度数字正面反馈评分占总评分的百分比 (0-100)。
每会话平均消息数数字每次对话交换的平均消息数。
平均每天会话数数字在要求的范围内每天的平均会话数。
现在直播数字当前由人工代理接管的活动对话数量。
现在在线数字最近2分钟内主动与AI聊天的用户数量。
「每日系列」大批每日对象数组,包含每个日期的“对话”、“消息”、“潜在客户”和“预订”计数。
代理统计大批人工代理的性能指标,包括“messagesSent”和“csat”(客户满意度得分)。
Developer API

4. 知识与培训

创建助手后,您可以通过“知识节点”管理它的大脑。每个节点代表一块数据(爬行的 URL、上传的文档或手动文本片段)。

管理知识节点

GET /api/assistants/:id/nodes - 列出该助手的所有知识节点。

POST /api/assistants/:id/nodes - 手动注入新的知识块。

json
{

  "title": "Return Policy",
  "refined_content": "We offer a 30-day return policy for all unused items...",
  "type": "text",
  "metadata": {}
}

PATCH /api/assistants/:id/nodes/:nodeId - 修改现有节点的内容或切换其活动状态。

json
{

  "title": "Updated Return Policy",
  "refined_content": "We offer a 60-day return policy now...",
  "is_active": true
}

DELETE /api/assistants/:id/nodes/:nodeId - 完全删除知识块。

POST /api/assistants/:id/nodes/:nodeId/re-crawl - 强制抓取工具重新抓取与此节点关联的 URL 并更新其内容。有效负载:{}

人工智能培训

POST /api/assistants/:id/train - 编译所有 is_active 知识节点并使用 AI 编排器动态合成新的主系统提示。有效负载:{}

Developer API

5. 小部件外观和配置

自定义助手气泡和聊天窗口的前端 UI。

更新小部件外观

PATCH /api/assistants/:id/widget-config

json
{

  "primaryColor": "#000000",
  "position": "bottom-right",
  "language": "en",
  "welcomeMessage": "Hi! How can I help you today?",
  "title": "Acme Support",
  "theme": "light",
  "fontFamily": "default",
  "bubbleStyle": "circle",
  "bubbleText": "Chat with us",
  "headerSubtitle": "We typically reply instantly",
  "inputPlaceholder": "Type your message...",
  "privacyPolicyUrl": "https://acme.com/privacy",
  "voiceEnabled": true,
  "voiceName": "Fenrir",
  "welcomeMessageDelay": 2,
  "fileUploadEnabled": true,
  "dictationEnabled": true,
  "copilotEnabled": true,
  "welcomeSuggestions": ["Pricing plans", "Contact sales"],
  "pageVisibility": {
    "mode": "all",
    "paths": []
  }
}
范围类型必需的描述
原色细绳十六进制颜色代码(例如“#000000”)。
位置枚举“右下”、“左下”、“右上”、“左上”。
语言细绳小部件语言代码(例如“en”、“fr”)。
欢迎消息细绳最初的问候语。
标题细绳小部件标题中的标题。
主题枚举“亮”或“暗”。
字体家族枚举“默认”(国际)或“继承”。
气泡样式枚举“圆形”“吧台”“抽屉”、“品牌圆”、“品牌吧台”、“品牌抽屉”`​​。
气泡文本细绳显示在气泡旁边的文本(对于栏/抽屉样式)。
标题副标题细绳小部件标题中的副标题。
输入占位符细绳消息输入的占位符文本。
隐私策略Url细绳您的隐私政策的 URL。
头像网址细绳自定义头像图像的 URL。
自定义徽标网址细绳自定义标题徽标图像的 URL。
语音已启用布尔值启用语音通话。
语音名称细绳音频响应​​的语音标识。请参阅下面的可用声音。
欢迎消息延迟数字问候前延迟几秒。
文件上传已启用布尔值允许用户上传附件。
听写已启用布尔值启用语音听写(语音转文本)。
副驾驶已启用布尔值启用副驾驶建议芯片。
欢迎建议大批用于初始快速回复芯片的字符串数组。
页面可见性目的确定小部件出现在哪些页面上(“mode”、“paths”)。
rateLimitEnabled布尔值启用聊天速率限制。默认为真。
rateLimitMaxMessages数字窗口中的最大消息数。默认 30。
速率限制时间窗口数字时间窗口以分钟为单位。默认 60。
gdprDataMaskingEnabled布尔值保存前屏蔽 PII。默认为 false。

可用的语音名称

  • 女性: Zephyr、Aoede、Core、Leda、Callirrhoe、Despina、Erinome、Laomedeia、Achernar、Pulcherrima、Gacrux、Algenib、Sulfat
  • 男性: PuckCharonFenrirOrusEnceladusIapetusUmbrielAlgiebaAutonoeRasalgethiAlnilam

定制标志

POST /api/assistants/:id/widget-logo

格式: multipart/form-datafile 字段。

Developer API

6. 集成与部署

配置并培训您的助手后,您可以通过两种主要方式来部署它:

选项 A:Web 嵌入(前端)

将助手集成到标准网站(WordPress、Shopify、React 等)的最简单方法。嵌入代码纯粹是确定性的。您不需要端点来获取它。只需将其放入站点的“<head>”即可:

json
<script src="https://chirps.cc/widget.js" data-assistant-id="YOUR_ASSISTANT_ID_HERE"></script>

选项 B:无头集成(后端/CRM/机器人)

如果您正在构建自定义客户端(例如 Discord 机器人、Telegram 集成或本机 iOS 应用程序),您将不会使用 Web Embed。相反,您将直接与“/api/chat”端点交互。

POST /api/chat/api/chat?stream=true

注意: 该端点是公共的,并且*不需要*需要“Authorization: Bearer” API 密钥标头。身份验证通过“assistantId”隐式处理。

json
{

  "assistantId": "123e4567-e89b-12d3-a456-426614174000",
  "sessionId": "unique-session-id-for-user",
  "conversationId": "optional-uuid",
  "message": "Hello, I need help with my billing."
}

*(如果“fileUploadEnabled”为 true,还支持带有“file”附件字段的“multipart/form-data”)。*

范围类型必需的描述
助理ID细绳是的助手的UUID。
会话ID细绳是的您生成此。 来自您自己的系统的唯一标识符,用于对聊天历史记录进行分组(例如,Discord 用户 ID、Telegram 聊天 ID 或随机 UUID)。
消息细绳是的消息的文本内容(最多 5000 个字符)。
对话 ID细绳对话的 UUID(在您的第一个请求中返回)。
id细绳可选的客户端消息 ID 以防止重复数据删除。

模式 1:标准 JSON 响应(默认)

通过向“/api/chat”发送 POST 请求(不带流参数),您可以等待完整的 AI 响应并接收标准 JSON 对象。

json
{

  "message": "Here is the information you requested...",
  "conversationId": "uuid-of-conversation",
  "messageId": "uuid-of-message"
}

*(如果返回“is_active_agent: true”,则表示有人接管了聊天,并且“message”将为“null”。)*

模式 2:服务器发送的事件流式传输 (?stream=true)

通过将“?stream=true”附加到 URL,您将收到实时服务器发送事件 (SSE) 流。您的代码应该侦听这些特定的事件类型:

  • `事件:令牌`:包含{"text": "chunk"}。针对 AI 响应文本的每个块触发。
  • `事件:状态`:包含{"text": "搜索知识库..."}。表示后端工具执行状态。
  • `事件:完成`:包含{"messageId": "uuid", "conversationId": "uuid", "message": "full text"}。当生成完全完成时触发。
  • `事件:错误`:包含{"error": "错误消息"}。如果发生速率限制或错误则触发。

实时接管端点

GET /api/chat/sessions

检索历史会话。

POST /api/chat/toggle-agent

暂停人工智能让人类接管。有效负载:{“sessionId”:“...”}

POST /api/chat/agent-message

发送人类消息。负载:{ "sessionId": "...", "message": "..." }

Developer API

7. 高级助手设置

PATCH /api/assistants/:id

更新核心配置

修改助手的核心设置、角色和抓取范围。

json
{

  "business_name": "Acme Corp",
  "business_url": "acme.com",
  "business_description": "We sell anvils.",
  "system_prompt": "You are a helpful assistant.",
  "language": "en",
  "tone_personality": "Friendly",
  "support_email": "[email protected]",
  "additional_instructions": "Never mention the Roadrunner.",
  "is_multi_language": true,
  "is_dev_mode": false,
  "is_active": true,
  "max_pages": 15,
  "max_depth": 2,
  "widget_config_merge": {
    "rateLimitEnabled": true
  }
}

*注意:所有字段都是可选的。仅发送您要更新的字段。*

删除助手

删除 /api/assistants/:id

永久删除助手,并级联删除所有知识节点、对话、消息。如果助手从未完全设置,则会退还每月创建配额。

Developer API

8. 电话和语音

GET /api/phone-numbers - 列出可用号码。

POST /api/phone-numbers/:id/assign - 提供号码。有效负载:{}

POST /api/assistants/:id/outbound - 触发出站呼叫。有效负载:{“to”:“+123...”,“message”:“...”}

Developer API

9. 线索提取

GET /api/leads?assistantId=uuid&page=1&limit=50&status=new - 获取对话期间人工智能提取的分页、结构化线索。

GET /api/leads?id=leadId - 获取单个潜在客户的详细信息,包括完整的对话记录。

Developer API

10. 预订和日历

GET /api/bookings?assistantId=uuid&start=ISO-8601&end=ISO-8601 - 检索助理安排的日历约会,可以选择按日期过滤。

GET /api/bookings?id=bookingId - 获取单个预订的详细信息,包括对话记录。

POST /api/bookings/cancel - 取消有效预订。有效负载:{“bookingId”:“uuid”}

POST /api/bookings/reschedule - 调整预订。有效负载:{“bookingId”:“uuid”,“newTime”:“ISO-8601”}

Developer API

11. 账户和账单使用

GET /api/billing/usage

检索工作区的计费周期使用情况、订阅计划限制和助理总数。 注意: 使用 API 密钥时,请求的范围将自动限定在 API 密钥的工作区;您不需要提供“teamId”。

响应(`200 OK`):

json
{

  "planName": "Pro",
  "periodStr": "2023-10-01",
  "assistantCount": 3,
  "usage": {
    "message_count": 1450,
    "harvest_count": 12,
    "recrawl_count": 5,
    "train_count": 2,
    "assistants_created_count": 1,
    "voice_minutes_used": 0,
    "sms_count": 0,
    "email_count": 0,
    "whatsapp_count": 0
  },
  "limits": {
    "messages": 5000,
    "assistants": 5,
    "training": 50,
    "recrawls": 20
  },
  "workspaceOwnerId": "uuid"
}
准备好开始了吗?

启动你的助手
10 分钟后。

注册、在您的网站上进行培训、自定义警报并嵌入您的网站。