短信发送与挂机邀评接口
适用于:通话前后的辅助触达——验证/通知短信发送(
SEND_SMS)、坐席挂机时邀请客户按键评价满意度(INVITE_TO_JUDGE)、查询短信网关手机卡余额(MOBILE_BALANCE_INQUIRY)。 配套:语音验证码走 ivr-outbound-voice;话单中的评价结果字段见 call-log-query。
所有接口均为 GET http://{cti_host}:12121/bridge/callctrl,HTTP 状态码恒为 200,业务码写在响应体(README §3)。
1. 发送短信:SEND_SMS
GET http://{cti_host}:12121/bridge/callctrl?mobile=13212340001&content=hellow!&timeStamp=20240425163536276&authenticator=<鉴权串>&opt=SEND_SMS
| 参数 | 必填 | 说明 |
|---|---|---|
| mobile | 是 | 接收手机号 |
| content | 是 | 短信内容(需 URL 编码,服务端解码) |
| timeStamp | 是 | 时间戳,建议 yyyyMMddHHmmssSSS;参与鉴权,须与生成鉴权串时一致 |
| authenticator | 是 | 鉴权串,算法见下 |
| channel | 否 | 指定短信通道/手机卡 |
| opt | 是 | 固定 SEND_SMS |
鉴权算法
authenticator = Base64( MD5( mobile + timeStamp + 密码 ) )
密码为 CTI 软参 http.api.client.pwd 配置值,需与厂方/管理员约定一致。MD5 取 32 位十六进制小写后再整体 Base64。
| 业务码 | 含义 |
|---|---|
| 200 | 已受理(短信异步经网关发出,不代表已送达) |
| 400 | 参数缺失 |
| 403 | 鉴权失败(authenticator 不匹配) |
2. 挂机邀评:INVITE_TO_JUDGE
坐席与客户通话(即将)结束时调用:系统结束当前通话并对客户播放满意度评价引导(按键 1-N 评分),评价结果落入该通话话单。
GET http://{cti_host}:12121/bridge/callctrl?callee=801&opt=INVITE_TO_JUDGE
| 参数 | 必填 | 说明 |
|---|---|---|
| caller 或 callee | 二选一 | 坐席分机号:来电场景坐席是被叫侧传 callee;点击外呼场景坐席是主叫侧传 caller |
| opt | 是 | 固定 INVITE_TO_JUDGE |
| 业务码 | 含义 |
|---|---|
| 200 | 邀评已发起(通话被结束,客户进入评价流程) |
| 400 | caller/callee 均缺失 |
| 404 | 该分机无进行中的通话,或通话为纯放音呼叫(无邀评对象) |
注意:调用即挂断坐席侧并改由系统引导客户评价,话单挂机方记为系统侧;坐席应在确需结束时再调用。
3. 短信网关余额:MOBILE_BALANCE_INQUIRY
GET http://{cti_host}:12121/bridge/callctrl?opt=MOBILE_BALANCE_INQUIRY
无参数,返回短信网关手机卡余额(数值文本)。用于第三方系统监控短信通道是否欠费。
4. curl 示例
CTI=http://192.168.1.80:12121
PWD=secret123 # 与 CTI 配置一致的 http.api.client.pwd
# 1. 短信:mobile=13212340001, timeStamp=20260924103000123
SEED="1321234000120260924103000123$PWD"
AUTH=$(printf '%s' "$SEED" | md5sum | cut -d' ' -f1 | base64)
curl "$CTI/bridge/callctrl?mobile=13212340001&content=hello&timeStamp=20260924103000123&authenticator=$AUTH&opt=SEND_SMS"
# 2. 呼入坐席 801 通话结束邀评
curl "$CTI/bridge/callctrl?callee=801&opt=INVITE_TO_JUDGE"
# 3. 查短信余额
curl "$CTI/bridge/callctrl?opt=MOBILE_BALANCE_INQUIRY"
5. 常见问题排查
| 现象 | 原因与处理 |
|---|---|
| SEND_SMS 返回 403 | authenticator 算法/密码不对:MD5 结果是十六进制串再 Base64;timeStamp 必须与 URL 中一致 |
| 200 但客户收不到 | 网关侧异步失败(欠费/通道故障);用 MOBILE_BALANCE_INQUIRY 查余额,或联系管理员查网关日志 |
| INVITE_TO_JUDGE 返回 404 | 坐席无通话或已在挂机中;确认通话存在再调 |
| 邀评后坐席通话被挂断 | 即设计行为:邀评=结束通话并转入评价引导,勿在通话中段调用 |
