跳到主要内容
操作

在通话中获取实时数据

在来电者等待时,让代理向你的系统查询订单、库存或账户信息。

使用 API RAG 工具,代理可以在对话中途向你的系统查询实时数据——订单状态、商品库存、账户详情——并据此回答。何时调用它,由代理根据你的描述自行判断。

设置​

  1. 添加工具

    打开代理 → 操作 → 添加工具 → CRM 与服务 → API RAG 工具。

  2. 描述工具并指向你的端点
    字段填写内容
    名称例如 订单查询
    常规条件何时使用,例如 客户询问订单状态
    API 端点 URL例如 https://api.yourshop.com/orders/{order_id}——{placeholders} 会用代理收集到的值填充
    HTTP 方法GET、POST、PUT、DELETE 或 PATCH
    执行消息代理等待时说的话,例如 请稍等,我正在查询您的订单
    请求超时(毫秒)等待你的响应多久;默认 5000
    标头、查询参数可选的固定值,例如你的 API 密钥
  3. 说明代理必须收集什么

    参数模式 (JSON) 列出代理从来电者那里收集并发送的值——见下文。如果缺少必填值,代理会先询问。

提示

务必填写 执行消息——请求进行时的沉默听起来就像通话断了。

参数模式​

它不是请求体本身,而是需要收集的值的 JSON Schema。这些值会去哪里:

情况值的去向
URL 中包含 {name}填入 URL
GET、DELETE其余的作为 ?key=value
POST、PUT、PATCH其余的作为 JSON 请求体

按订单号查询订单:

{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "客户询问的订单号,通常为 6 到 10 位数字。如果客户没说,就问一下。"
}
},
"required": ["order_id"]
}

包含多个值的预订:

{
"type": "object",
"properties": {
"product_id": { "type": "string", "description": "上一次搜索得到的商品 ID。" },
"quantity": { "type": "integer", "minimum": 1, "maximum": 10, "description": "数量。默认 1。" },
"delivery_method": { "type": "string", "enum": ["pickup", "home_delivery", "locker"], "description": "客户希望如何收货。" },
"customer_email": { "type": "string", "format": "email", "description": "用于确认的邮箱。如果客户没说,就问一下。" }
},
"required": ["product_id", "delivery_method", "customer_email"]
}

静态端点,例如营业时间:{ "type": "object", "properties": {} }。

适合语音的好模式:

  • 保持扁平:3–5 个值。
  • 为每个值写一段带示例的 description——它们对代理的引导效果最好。
  • 固定选项使用 enum:代理会把 “蓝色的那个” 对应到 blue。
  • 只有在缺少某个值请求就无法工作时,才把它标为 required。
  • 使用与 URL 中 {placeholders} 一致的 snake_case 名称。

使用场景​

  • 订单状态——“我的订单 482913 到哪了?”
  • 可用性——在你自己的系统中查看库存或空桌。
  • 账户问题——余额、合同到期时间、未关闭的工单。

常见问题​

问题检查什么
代理从不调用它让 常规条件 写明具体的请求
你的端点收到空值模式中的名称必须与 {placeholders} 完全一致
代理说无法查询你的端点响应时间超过了超时时间,或返回了错误