10分钟即可完善你的业务系统,接入自己的AI营销客服流程。

基础查询

获取项目列表

对接前的第一步:拉取企业下所有项目及其运行状态(运行中/已暂停)和执行模式(流式自动外呼/手动批次),后续所有接口都要用到这里返回的项目 ID。

GET /api/v1/external/programs

获取项目下数字员工列表

按项目查出可用的数字员工及其轮次、启用状态和话术升级状态,上传线索、AI 呼入都要指定具体是哪个数字员工接听。

GET /programs/:programId/bots

查询线路状态

实时查看项目当前的并发占用和空闲线路数。建议推送线索前先查一次,确认有空闲线路且项目在运行中,再批量推送。

GET /programs/:programId/line-status

获取线路列表

拉取企业名下及对本企业开放的共享线路,包含运营商、外显号码类型、并发数、每日拨打频次上限等信息,创建项目前先挑好线路。

  • 移动 CMCC
  • 联通 CUCC
  • 电信 CTCC
  • 固话 / 虚拟小号 / 实名手机

获取音色列表

查看企业可用的全部音色,含全局共享音色与专属克隆音色,每个音色都带试听地址,配置数字员工声音时直接参考。

GET /api/v1/external/voices

创建项目

一次调用即可创建外呼项目:指定线路、最大并发、拨打时间窗口、每日上限口径等,默认以暂停状态创建,避免刚建好就开始拨打。

POST /api/v1/external/programs

关联数字员工

为项目绑定按轮次跟进的数字员工。注意这是整份替换,不是增量添加——需要"只加一个"时,先读出现有配置再拼接提交。

PUT /programs/:programId/bots

AI 外呼

下载线索模板

按数字员工当前话术配置生成对应的 Excel 模板,表头列名就是后续上传时的字段映射依据,不能随意改列名。

GET /programs/:programId/leads/template

批量上传线索

上传 Excel 或 CSV(最大 100MB),系统按项目内手机号自动去重,返回成功写入与跳过的数量,方便核对导入结果。

POST /programs/:programId/leads/upload

查询线索字段定义

推送线索前调用一次,拿到该数字员工 variables 需要传的准确字段 key(不是 Excel 模板里看到的中文列名),避免字段不匹配被拒绝。

GET /programs/:programId/leads/fields

实时单条线索导入

适合用户刚填完表单就要立即外呼的场景。支持 contextId 做业务标识:同号同 contextId 覆盖重排队,同号不同 contextId 可并存,互不打扰。

POST /api/v1/external/leads

撤销线索

线索已推送但情况有变(比如会议取消)时,可撤销仍处于排队中的记录;已开始拨打或已完成的线索不受影响,也不会报错。

POST /api/v1/external/leads/cancel

启动 / 暂停项目

线索上传后需要显式启动项目才会开始拨打;暂停期间推送的线索会正常入队等待,不会丢失,恢复运行后自动继续拨打。

POST /programs/:programId/run-state

拨打配置

随时调整最大并发、拨打顺序(先进先出/后进先出)、允许拨打的时间段和绝对禁呼时段,字段全部可选,只改需要的部分。

PUT /programs/:programId/dialing-config

查询线索通话结果

按线索 ID 或手机号查询通话记录,包含接通状态、AI 意向判断、意向评分、通话摘要、录音地址和结构化提取数据。

  • 接通状态
  • 意向评分
  • 通话摘要
  • 录音 7 天有效

批量查询线索

一次查多条线索,或按项目 + 日期拉取当天全部拨打记录,适合替代逐条轮询,批量核对哪些线索还没接通。

GET /api/v1/external/leads/batch

AI 呼入与话单回调

呼入自定义参数

呼入时可通过 SIP Header 传入自定义参数,系统接收后自动替换进提示词模板,实现"来电即知道对方是谁"的个性化开场。

SIP Header 透传

X-BotId 指定接听的数字员工,X-Call-Params 携带业务参数,X-Call-ID 作为本次呼入的全局唯一标识,事后可凭它接收或查询结果。

sip_h_X-BotId / X-Call-Params / X-Call-ID

参数 Base64 编码

所有自定义参数先组成 JSON 对象,再整体做 Base64 编码放入 X-Call-Params,几行代码即可完成编码。

Buffer.from(JSON.stringify(params)).toString("base64")

FreeSWITCH 转发对接

提供标准的 originate + bridge 转发示例,呼入网关按此拼接 Header 即可把电话转接到对应的 AI 数字员工线路。

话单主动推送

通话结束后系统主动向接入方的 HTTPS 地址推送话单,5 秒内返回 200 视为接收成功,超时会被判定失败并按配置重推。

话单字段:通话与意向

话单包含接通时间、通话时长、录音地址、AI 通话摘要、意向状态与评分、完整对话记录,以及按话术配置提取的结构化标签。

  • 通话时长
  • 意向评分
  • 录音地址
  • 完整对话记录

签名验签机制

每次推送都带 X-Sign 签名,按时间戳、随机串、应用 ID、正文和密钥拼接后取 MD5 或 SHA256,接入方可据此验证请求确实来自平台。

X-Sign = hash(timestamp&nonce&appId&data&appSecret)

失败重推与幂等

推送失败会按配置重试,接入方应以话单 ID 做幂等处理避免重复入库;即使重推全部失败,也能用查询接口兜底核对遗漏的话单。

管理与话术

权限分级(Scopes)

创建 API Key 时按最小权限原则勾选:只读查询、线索管理、项目控制、话术改写——权限不够时接口直接返回 403,不会误操作。

  • READ 只读
  • LEADS 线索
  • CONTROL 控制
  • SCRIPT 话术

读取话术配置

获取数字员工当前的提示词、开场白、线索字段定义和转人工配置,话术版本号每次更新自动 +1,可用来判断是否有变更。

GET /bots/:botId/script

动态更新话术

通过 API 直接改写提示词和开场白,写库后立即刷新缓存生效,无需在平台上手动点"重新初始化"。

PUT /bots/:botId/script

配置数字员工音色

切换音色模型,并调整语速、音量、音调乃至情绪(视所选音色供应商是否支持),修改同样立即生效。

PUT /bots/:botId/voice

读取提取配置

查看当前配置的信息提取字段和意向推送规则——推送到飞书、企微、钉钉还是自定义 API,是否只推送高意向数据。

GET /bots/:botId/extract

更新提取字段与意向推送

调整 AI 从对话里提取哪些结构化字段,以及提取结果推送到哪个群或哪个人;推送时间窗口等其它配置仍需在平台上手动设置。

PUT /bots/:botId/extract

准备好开始了吗?