TelCRM(国信)呼叫中心 集成 API 文档

面向将 OA/CRM 等系统与呼叫中心做基础集成的 AI 编程工具与开发人员。所有接口均来自对服务端源码、官方《国信呼叫中心二次开发接口说明书》V3.66 与官方 demo(WebPlugin/diapnl、webapps/demo/callstate)的核对,冲突处以服务端源码为准。

1. 文档索引(按集成场景)

你要做的事看这份文档
来电弹屏 / 实时通话状态 / 坐席忙闲 / 排队看板websocket-call-state — WebSocket 呼叫状态订阅
页面点击拨号 / 点击挂机click-to-call — 点击呼叫
无坐席自动外呼(语音通知/TTS 播报/语音验证码/双外线桥接)ivr-outbound-voice — 自动语音外呼
弹屏录单时置忙免打扰 / 保存后置闲 / 忙闲状态查询ext-presence — 分机示忙示闲
坐席上班绑工号/部门 / 来电状态 HTTP 推送弹屏 / 外呼显示号码 / 回拨直达agent-ext-binding — 坐席资料绑定与分机外呼属性
通话记录列表 / 详情 / 结果查询call-log-query — 呼叫记录查询
挂机话单批量推送同步到第三方服务器call-log-push — 呼叫记录推送
号码维度沟通小结弹屏 / 按号码统计通话次数(频控、机器人呼入统计)call-summary-call-count — 沟通总结与通话计数
来电是否打得太频繁(防骚扰拦截 / 机器人呼入频控,true/false 判定)incoming-frequency-guard — 呼入频次越限判断
录音在线播放 / 下载归档 / 话机收听recording-download — 录音下载与播放
坐席状态监控 / 监听 / 强插 / 强拆agent-supervision — 坐席监管
三方通话 / 多方会议 / 成员管理conference — 三方会议全链路
通话中转给同事或外线(盲转一步转走 / 显转先沟通再转)call-transfer — 盲转与显转
通话中放确认音/免责声明 / 转IVR/机器人 / 对放音呼叫动态换播in-call-voice-ivr — 通话中放音与转 IVR
通话中客户口述信息转文字(语音填单)voice-input — 通话语音识别输入
挂机邀评满意度 / 发短信 / 短信通道余额sms-and-evaluation — 短信与挂机邀评
系统健康探测 / 排队看板 / 对时 / 网页软电话账号system-status-queue — 系统状态与排队监控
大模型故障上报 / 恢复上报(knServer 对接,联动机器人入口拦截)ai-model-fault-recovery — 大模型故障与恢复

最小集成路径示例:来电弹屏+点击回拨+录音 = 订阅 WebSocket(websocket-call-state)+ CLICK_TO_DIAL(click-to-call)+ CALL_LOG_QUERY + FileDownServlet(call-log-query / recording-download)。

其他未在本文档展开的接口(客户资料导入、批量外呼任务、WebService/SOAP 通道、服务器关机等运维类操作等)见随产品的官方《二次开发接口说明书》。

2. 服务器端口一览

端口协议用途
12121HTTP/bridge/* 业务接口、/Oms/FileDownServlet 录音下载(本文档全部 HTTP 接口)
8443HTTPS同上的加密通道(证书需现场配置)
7397WebSocket(明文)ws://{cti_host}:7397/websocket 呼叫状态订阅
7399WebSocket(加密)wss://{cti_host}:7399/websocket,带服务端 ping/pong 心跳

端口均为默认值,以现场实际配置为准。URL 中服务器地址本文档统一以 {cti_host} 表示。

3. 必读通用约定

3.1 业务码在响应体,HTTP 状态码恒为 200(重要)

/bridge/callctrl 系列接口:无论成功失败,HTTP 状态码都是 200,业务结果写在响应体,为纯文本数字(SIP 风格码),例如成功是文本 200,权限不足是文本 403。不要用 HTTP 层判断成败。

curl "http://{cti_host}:12121/bridge/callctrl?caller=801&callee=13512340001&authtype=no&opt=CLICK_TO_DIAL"
# 响应体: 200   ← 文本"200"表示成功

例外:

  • /bridge/jsoncfg、/bridge/conference 返回 JSON(错误也是 HTTP 200 + body 内错误信息,如 {"code":404,"message":"unknown opt: xxx"});
  • 鉴权失败(配置了白名单/Basic 且未通过)是真实 HTTP 401;
  • 录音下载 /Oms/FileDownServlet 返回文件流或错误文本。

3.2 业务码总表(SIP 风格)

码含义常见场景
200成功一切接口
400参数错误缺参数/拼写错/opt 非法
402授权(license)限制点击呼叫并发超授权
403禁止黑名单号码、分机无权限(如强插/监听/外呼)
404目标不存在无相关通话、分机不存在、会议不存在
420默认错误(BAD_EXTENSION)兜底错误码
480暂时不可用分机离线、会议创建中
483重复提交重复创建会议、重复提交任务
486忙分机忙、线路忙、被邀请方忙
487已终止有终端挂机导致操作失败
500系统错误服务端异常
502网关错误网关账号类型错误/离线
503资源不足/频控系统资源不足、呼叫频率超限
606不可接受opt 参数取值错误

各接口特有业务码以对应文档章节为准。

3.3 数据格式约定

项约定
JSON 日期字符串yyyy-MM-dd HH:mm:ss
时间戳字段(如 beginTime)毫秒 epoch(数值型)
日期型查询参数yyyy-MM-dd 或 yyyy-MM-ddTHH:mm:ss(T 分隔日期与时间)
CORS全部接口响应 Access-Control-Allow-Origin: *,可跨域调用
字符编码UTF-8

3.4 鉴权模型

  • /bridge/* 接口:可配置 IP 前缀白名单(legitimate.servlet.client.ip.prefix)或 HTTP Basic Auth(legitimate.servlet.basic.auth),任一通过即放行;127.0.0.1 恒放行;两者都未配置时完全放行。未通过返回 HTTP 401。
  • 点击呼叫支持业务级 MD5 鉴权(authtype=md5,见 click-to-call)。
  • WebSocket 订阅(7397)无鉴权,可订阅任意分机;录音下载默认放行。
  • 集成建议:生产环境用防火墙/安全组限制 12121/7397/7399 端口来源,或在 CTI 配置 IP 白名单/Basic Auth。

3.5 拼写陷阱表(历史拼写,必须原样传递)

以下拼写与直觉不符但是接口的真实字段/参数名,写错不报错、只返回 400/404 或静默无效:

正确拼写(勿改)位置
wokerExtnum强拆/强插/监听的被操作分机参数
drection呼叫记录方向字段/dirction 查询参数
ringdration / talkdration分机视角记录的振铃/通话时长字段
stauts会议状态字段;会议查询软参 conference.http.json.stutas.offon
unkown状态枚举值(presence 取值之一)
sceenShowTypeWebSocket 通知类型字段
IDEL坐席监控的话机空闲状态值(非 IDLE)
suddept转出号码库 TELTRANS_QUERY 的二级部门查询字段(非 subdept)

4. 典型集成组合

  1. 来电弹屏:订阅 WebSocket → 收到 ringing 的 dialog → 按 caller 打开客户资料;通话中 talking 计时;hungup 后可查记录/放录音。
  2. 点击回拨:客户详情页按钮 → CLICK_TO_DIAL(带 clicktoken 业务标记)→ 坐席话机响铃接听后自动外呼客户。
  3. 通话留痕:通话列表用 CALL_LOG_QUERY/EXTNUM_CALL_LOG_QUERY 分页查询;详情与录音按 callid 获取。
  4. 坐席监管:轮询 EXTNUM_MONITOR(2 秒)→ 对通话中的坐席执行 CALL_MONITOR/FORCE_PICKUP/FORCE_HUNGUP。
  5. 三方支援:坐席通话中 CALL_THIRD 呼第三方 → 私下沟通 → CALL_THIRD_CONFERENCE 三方或 CALL_THIRD_TRANSFER 显转。
  6. 电话转接:无需沟通直接 CLICK_TO_TRANSFER 盲转;需先沟通走 CALL_THIRD → CALL_THIRD_TRANSFER 显转,不满意可 CALL_THIRD_RESUME 恢复(见 call-transfer)。
  7. 话单同步:配置 calllog.post.* 软参开启推送(call-log-push)→ 挂机话单批量 POST 到第三方(应答 200/400)→ 收到的 recordVoice 非空即按 callid 走 FileDownServlet 取录音。

5. 版本与事实来源

  • 依据官方说明书 V3.66(系统版本 3.10.629,2026-07-28)与服务端源码核对整理;
  • 接口行为如与现场版本有出入,以现场部署版本实际行为为准,并欢迎在本文档目录下补充勘误。