官网文档:https://www.coze.cn/docs/developer_guides/coze_api_overview
前情提示
API 接口的调用方式多种多样,本文档提供了快捷测试接口服务的示例和常见问题
API 接口文档中未涉及到的功能,均不支持,如有必要您可以提交需求工单
此处以一个chat 对话接口举例
Step1: 确认令牌可用
-
令牌需开通对应权限:https://www.coze.cn/open/oauth/pats
-
Bot的创建者与令牌归属同一账号
请求方式 | POST |
---|---|
请求地址 | ``` |
https://api.coze.cn/v3/chat |
| **权限** | chat确保调用该接口使用的个人令牌开通了 chat 权限,详细信息参考[鉴权方式](https://www.coze.cn/docs/developer_guides/authentication)。 |
| **接口说明** | 调用此接口发起一次对话,支持添加上下文和流式响应。 |
Step 2: 快速接口体验
编辑curl命令:
- 选择文档右侧的示例
- 根据需要选择问答类型
- 替换包含******的参数
- 调整url中的相关参数。因本次对话为新建对话,不需要传入conversation id ,需调整url删除相关内容
- 复制文本内容
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/e0f9636c8ad34c25a53ade9dd295e3d8~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1732445072&x-signature=WXO8x8IfT0bktLeaTgvUyrG5GLE%3D)
使用curl 命令:
使用终端控制台
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/76bf0d64c75c4c6db65b562215fe444d~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1732445072&x-signature=6sCxfQHZ06g883Nh2u4nvbn4kkQ%3D)
使用postman (接口测试阶段推荐使用)
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/eb6a83946e294d76855d806383da30c3~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1732445072&x-signature=sZVJcl9S0BKg2UgklYPdv%2Fpsk5U%3D)
Step 3:查看返回内容
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/505f2bc9cfd1486fa629522fa0d13db2~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1732445072&x-signature=4Fsw1H1k0qHWGbcBjkzD%2BU3nbAM%3D)
# 常用场景接口使用
以下接口需要组合使用才可获得预期的返回结果
## 获取非流式输出
可参考
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/f4d0b7c76df24f9ba47d5c49e3eedd42~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1732445072&x-signature=fzU0Pc%2FA1WtSbtrKRu2mxGBS7Os%3D)
## 上传文件到Bot中
需要Bot本身具备对文件处理的能力才可以进行正常返回,通常配合相关插件使用
Step 1:
调用文件上传接口:https://www.coze.cn/docs/developer_guides/upload_files
curl --location 'https://api.coze.cn/v1/files/upload'
--header 'Authorization: Bearer pat_kALwAJpZwpxozC09ENQ0xxxxxxxx'
--form 'file=@"postman-cloud:///1ef77612-0d61-49d0-95e6-93f31b2f1d98"'
对line 3进行补充解释:
• --form 参数用于指定发送表单数据(multipart/form-data)。这个格式允许你上传文件和其他字段。
• file=@"/test/1120.jpeg" 部分的作用是将 /test/1120.jpeg 这个文件以字段名 file 上传。
• file= 指定表单字段的名称为 file。
• @"/test/1120.jpeg" 表示从路径 "/test/1120.jpeg" 加载文件并上传。
一般情况,该路径需要一个可供互联网直接访问的路径,本次代码中是使用了postman的服务器进行文件上传
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/fbee7271f0b7478ea8e7a1dff0d31ff0~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1732445072&x-signature=%2FGWL0C8xecxmiKmc9pAoeeTL9gU%3D)
返回内容
{ "code": 0, "data": { "bytes": 167641, "created_at": 1731568133, "file_name": "20240xxxxxx.jpeg", "id": "743702780xxxxxxxx" }, "msg": "" }
Step 2:
在chat接口中,传入返回内容中的file_id等相关信息
此处的content内容需要做序列化处理
原格式:
[ { "type": "text", "text": "请帮我分析这张图片的内容" }, { "type": "image", "file_id": "7437027806540103730" }
]
序列化后(可使用在线工具处理):
[{"type":"text","text":"请帮我分析这张图片的内容"},{"type":"image","file_id":"7437027806540103730"}]
返回结果
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/185ecb42f2994d43ae06bc0902dcd977~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1732445072&x-signature=rY2VcCudb89eDRxU4WUUvQx5UBU%3D)
## 使用问答节点
工作流执行中断场景下,以查看天气工作为例,完整的接口调用示例如下。
1. 调用接口[执行工作流(流式响应)](https://www.coze.cn/docs/developer_guides/workflow_stream_run),要求查看天气。
请求示例如下:
curl --location 'https://api.coze.cn/v1/workflow/stream_run'
--header 'Authorization: Bearer pat_vTG1****'
--header 'Content-Type: application/json'
--data '{
"workflow_id": "739739507914235****",
"parameters": {
"BOT_USER_INPUT":"查看天气"
}
}'
2. 触发问答节点,工作流中断,响应信息中返回智能体提出的问题,要求用户提供城市和日期。
返回示例如下:
id: 0 event: Message data: {"content":"请问你想查看哪个城市、哪一天的天气呢","content_type":"text","node_is_finish":true,"node_seq_id":"0","node_title":"问答"}
id: 1 event: Interrupt data: {"interrupt_data":{"data":"","event_id":"7404831988202520614/6302059919516746633","type":2},"node_title":"问答"}
3. 调用接口[恢复运行工作流](https://www.coze.cn/docs/developer_guides/workflow_resume),回复智能体城市和日期。
请求示例如下:
curl --location 'https://api.coze.cn/v1/workflow/stream_resume'
--header 'Authorization: Bearer pat_vTG1****'
--header 'Content-Type: application/json'
--data '{
"event_id":"740483727529459****/433802199567434****",
"interrupt_type":2,
"resume_data":"杭州,2024-08-20",
"workflow_id":"739739507914235****"
}'
4. 工作流执行完毕,完成天气查询,返回工作流输出消息。
返回示例如下: