后台里那位顾问,同样可以在您的应用中使用。您创建一个会话、发送一条消息,助手的回答会通过一条持续打开的流分片返回。
需要 tools:chat 权限范围。基础地址:https://developers.grem.capital/api/v1。
工作方式
- 创建会话 — 它保存对话的上下文。
- 为该会话打开事件流。
- 发送消息。
- 回答通过流分片返回,直到完成。
顺序很重要:请在发送消息之前打开流,否则回答开头的几段会漏掉。
会话
POST /chat/sessions create
GET /chat/sessions list
PATCH /chat/sessions/{id} rename, pin
DELETE /chat/sessions/{id} move to the archive
创建会话:
curl -X POST https://developers.grem.capital/api/v1/chat/sessions \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"title":"Client question about a mortgage"}'
响应中包含会话 id,之后的每次调用都要带上它。
通过 API 得到的是通用顾问。后台 CRM 内部运行的自动回复模式无法从外部开启。
发送消息
curl -X POST https://developers.grem.capital/api/v1/chat/messages \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "…",
"text": "What does a two-room flat in Podil cost?",
"clientMessageId": "msg-0001"
}'
clientMessageId 是您为该消息自定的 id。它把您发出的内容与流中返回的内容对应起来,从而在连接重建后不会重复显示。
可选的 style 字段用于设定回答长度:short、normal 或 detailed。
回答流
GET /chat/stream?sessionId=…
Authorization: Bearer gsk_live_...
Accept: text/event-stream
连接是长连接,事件会随着回答的生成陆续到达:
| 事件 | 含义 |
|---|---|
assistant.started | 助手开始作答;随后是文本片段 |
assistant.delta | 下一段文本,在 delta 字段中 |
assistant.done | 回答已完成;text 中是完整内容 |
若连接中断,请用同一个 sessionId 重新连接:服务器会从头重放当前这一轮。因此 assistant.started 应当清空为该消息累积的文本,否则内容会重复。
历史记录
GET /chat/history?sessionId=…&limit=50
返回该会话已保存的消息。可用于在界面重新加载后恢复对话。
费用
只有发送消息(POST /chat/messages)会计费。创建会话、列出会话、历史记录以及流本身都是免费的,也不计入 API 调用次数。
相关文章
- TypeScript SDK — 一个已订阅该流的现成客户端。
- 错误 — 各类拒绝代码的含义。
- 通过 API 使用工具 — 平台的其他工具。