实时调用相关接口

单通实时外呼接口

接口描述

百度提供,单通外呼的实时调用接口,调用后立即进行实时外呼

请求地址

https://bior.bce.baidu.com/rest/bior/v1/real/time/call

请求方式
POST(application/json)

请求参数

参数 类型 含义 必选 说明
appId Long 唯一对应一个话术 创建话术时生成
token String 用于权限认证 由百度生成,与客户唯一对应
callerNum String 主叫号码 主叫号码
calledNum String 被叫号码 被叫号码,强校验格式
checkBlack int 黑名单校验配置 是否校验黑名单, 0:校验,1:不校验;默认为0
userName String 用户名称 对应被叫的名称
extJson Object 扩展字段 常用场景为客户信息,TTS所需要的变量(key为userInfo),Map结构

请求示例

{
    "appId": 1234567,
    "token":"lsldkjfakjdf-sdf2334-daf",
    "callerNum": "13612341234",
    "calledNum": "15012345678",
    "extJson": {
        "userInfo": {
            "customer":"张三",
            "waybillNo":"30294875",
            "srcCountry":"中国",
            …… // 自己扩展
        } // TTS变量信息在此定义
    }// 客户扩展信息,自定义
}

响应示例

{
    "status": 0,
    "msg": "OK",
    "data": {
        "sessionId": "714fd2a18f9-7705-135b2-bead-1acb" // 客户保存,回调时根据sessionId对应
    }
}

错误码

错误码 含义 说明
201 参数错误 请检测你的输入参数是否合法
202 您没有权限访问外呼平台 非外呼平台用户或用户话术不存在权限
203 话术未审核 审核通过后,才能进行外呼
204 实时呼叫最高20W次 单个话术最多只能被呼叫20W次
205 拨号失败 外呼平台呼叫出现异常
206 您已欠费,请充值后再使用 请先充值后再使用
210 被叫号码在黑名单 默认校验黑名单,如不需校验,请参考接口文档
211 主叫号码无效 主叫号码未在外呼平台注册
212 被叫号码格式不正确
213 实时外呼任务过多,超过实时通路数 请检查实时配置通路数
214 实时外呼设置通路数过大,请您暂停批量任务后重试 批量任务占用通路数,请先暂停任务
215 输入的URL不合法,请重新输入
216 超过最大并发度 超过平台接受请求的最大并发度

通话录音下载接口

接口描述

百度提供,下载实时调用的通话录音

请求地址

https://bior.bce.baidu.com/rest/bior/v1/get/audio

请求方式
POST(application/json)

请求参数

参数 类型 含义 必选 说明
token String 用于权限认证 由百度生成,与客户唯一对应
sessionId String 通话的唯一标识 与发起呼叫时百度返回的一致

请求示例

{
    "token" : "5207DA30B29E464538E9DB26F9FF0A61",
    "sessionId" : "31403dff0d913475-12ce-98e5-8617-abb"
}

响应示例

{
  "status" : 0,
  "msg" : "ok",
  "data" : {
    "audioUrl" : "http://localhost:8067/rest/bior/v1/audio/download?sessionId=31403dff0d913475-12ce-98e5-8617-abb&token=5207DA30B29E464538E9DB26F9FF0A61", // 录音地址
    "duration" : 20 // 录音时长
  }
}

错误码

错误码 含义 说明
220 文件不存在 录音文件可能还未生成,请重新尝试
221 文件下载失败 文件没有下载成功

通话数据回调接口

接口描述

客户提供,将实时调用的通话数据回调给您的业务系统

请求地址

由客户提供

请求方式
POST(application/json)

请求参数

参数 类型 含义 必选 说明
appId Long 唯一对应一个话术 与输入一致
sessionId String 给客户的一通电话的唯一标识 与输入一致
callerNum String 主叫号码 与输入一致
calledNum String 被叫号码 与输入一致
callStatus int 通话状态 通话状态 0:已接通,1:拒绝
beginTime String 发起呼叫时间 Unix时间戳
endTime String 呼叫结束时间 Unix时间戳
extJson Object 扩展字段,返回一通电话各相关信息 Map结构,包括通话状态、意图信息、会话记录、录音、

扩展参数

参数 类型 含义 说明
callRecord Array 通话记录 sentence:通话内容;roleCategory;agent表示机器人,CLIENT表示客户; duration:该语句时长
intentionList Array 客户意向信息收集 按照收集到的先后排序
collectInfoList Array 客户信息收集 infoName:信息的key值;infoValue:信息的value值
crankCallVo Map 是否是骚扰电话 crankCall:true表示是, false表示不是; crankCallList:匹配的策略

请求示例

{
    "appId": 1234567,
    "sessionId": "714fd2a18f9-7705-135b2-bead-1acb",
    "calledNum": "15117921865",
    "callerNum": "04792207912",
    "callStatus": 0,
    "beginTime": 1553764898668,
    "endTime": 1553764938998,
    "extJson":{
        "callRecord": [{
            "sentence": "喂?你好,请问您是吗?我这边是千言婚恋网站的顾问老师给您来电的,看到您之前在我们网站上有注册一份征婚资料,也想请问一下您现在还单身吗",
            "roleCategory": "AGENT",
            "duration": 10
        }, {
            "sentence": "",
            "roleCategory": "CLIENT",
            "duration": 0
        }, {
            "sentence": "您好,您能听得到吗?",
            "roleCategory": "AGENT",
            "duration": 2
        }, {
            "sentence": "",
            "roleCategory": "CLIENT",
            "duration": 0
        }, {
            "sentence": "您好,您能听得到吗?",
            "roleCategory": "AGENT",
            "duration": 2
        }, {
            "sentence": "",
            "roleCategory": "CLIENT",
            "duration": 0
        }, {
            "sentence": "您好,您能听得到吗?",
            "roleCategory": "AGENT",
            "duration": 2
        }],
        "intentionList": ["是单身", "需要介绍对象"],
        "collectInfoList": [
            {
                "infoName": "意向",
                "infoValue": "是单身1"
            },
            {
                "infoName": "年龄",
                "infoValue": "28"
            }
        ], // 信息收集
        "crankCallVo": {
            "crankCall": false,
            "crankCallList": []
        } // 骚扰电话
    }
}

响应示例

{
    "status": 0,
    "msg": "OK",
    "data": {
    }
}