You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术求助:如何通过Rest API使用Circuit Bot在Circuit会话中发布消息

使用Circuit Bot REST API在会话中发送消息的完整指南

我之前帮不少开发者处理过Circuit Bot的API调用问题,下面给你一步步拆解操作流程,还有实用的代码示例,帮你快速实现消息发送功能:

一、前置准备工作

在开始调用API之前,你需要先搞定这几个关键信息:

  • Bot身份凭证:在Circuit开发者控制台创建Bot后,获取到的client_id和client_secret
  • 目标会话ID:可以通过两种方式获取:
    • 打开Circuit网页版的目标会话,从URL的convId参数里提取(比如https://circuit.com/#/conversation/abc123...里的abc123...就是会话ID)
    • 调用Circuit的GET /conversations API列出Bot有权访问的所有会话,从中筛选目标ID

二、获取Bot的访问令牌

Circuit Bot使用OAuth2的Client Credentials模式获取访问令牌,这是调用所有API的前提:

请求详情

  • 请求方法:POST
  • 请求端点:https://circuit.com/oauth/token
  • 请求头:Content-Type: application/x-www-form-urlencoded
  • 请求参数(表单格式):
    • grant_type=client_credentials
    • client_id=你的Bot客户端ID
    • client_secret=你的Bot客户端密钥

curl示例

curl -X POST https://circuit.com/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

返回结果里的access_token就是你需要的令牌,注意它有过期时间(通常是3600秒),到期后需要重新获取。

三、发送消息到指定会话

拿到令牌后,就可以调用消息发送API了:

请求详情

  • 请求方法:POST
  • 请求端点:https://circuit.com/rest/v2/conversations/{CONVERSATION_ID}/messages
  • 请求头:
    • Authorization: Bearer {ACCESS_TOKEN}
    • Content-Type: application/json
  • 请求体(JSON格式):
{
  "text": "这是Circuit Bot通过API发送的测试消息",
  "attachments": [] // 可选,比如添加文件、链接等附件,格式参考Circuit API文档
}

Python示例(使用requests库)

import requests

# 替换成你的实际信息
ACCESS_TOKEN = "你的访问令牌"
CONVERSATION_ID = "目标会话ID"
MESSAGE_TEXT = "Hello from Circuit Bot API!"

url = f"https://circuit.com/rest/v2/conversations/{CONVERSATION_ID}/messages"
headers = {
    "Authorization": f"Bearer {ACCESS_TOKEN}",
    "Content-Type": "application/json"
}
payload = {
    "text": MESSAGE_TEXT
}

response = requests.post(url, json=payload, headers=headers)
if response.status_code == 201:
    print("消息发送成功!")
else:
    print(f"发送失败,错误码:{response.status_code},详情:{response.text}")

四、常见问题排查

  • 权限错误(403):检查Bot是否已经被添加到目标会话中,只有Bot在会话内才能发送消息
  • 令牌无效(401):确认令牌是否过期,或者获取令牌时的client_id/client_secret是否正确
  • 会话ID错误(404):检查会话ID是否拼写正确,或者Bot是否有权限访问该会话

内容的提问来源于stack exchange,提问作者Kamal Garg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:57:32