Skip to main content

双向外呼(新)

双向外呼接口

应用场景

双向外呼接口主要用于需要由系统发起外呼,先接通一方,然后再接通另外一方,达到接通双方的效果,一般的应用场景有:网页点击呼叫、系统自动发起外呼等

此接口主要包含以下几种功能:

转电话:先呼叫一方电话,接通后再呼叫另外一方电话,通过设置两个呼叫的主被叫信息实现; 转技能组:先呼叫一方电话,接通后转入技能组,通过设置技能组ID实现; 转IVR:先呼叫一方电话,接通后转入IVR流程,通过设置IVR名称实现;

接口地址

POST https://m.icsoc.net/v3/api/makeCall/calling

请求示例

请求消息

POST /v3/api/makeCall/calling HTTP/1.1
Host: m.icsoc.net
Content-Type: application/json
Authorization: Bearer {用户中心认证的access_token}

{
"callerId": "01058545734",
"tel": "18611112222",
"timeOut": 12,
"transTo": "tel",
"transPlay": "10011",
"connCalledPlay":"10002",
"connTimeoutPlay":"10003",
"transCaller": "01058545734",
"transCalled": "18611113333",
"timeLimit": 12,
"userData": {
"test": "123"
}
}

响应体

{
"code": 200,
"message": "ok",
"callId": "6632842348982198272"
}

请求参数

转电话

{
"callerId":"15151515",
"tel":"13612345678",
"timeOut":12,
"transTo":"tel",
"transPlay":"10001",
"connCalledPlay":"10002",
"connTimeoutPlay":"1003",
"transCaller":"1515151534",
"transCalled":"12345678911",
"timeLimit":12,
"enableCallback": 0,
"callbackBindingSecs": 21600,
"noticeSound":"1557",
"noticeTimeLimit":10,
"userData":{
"test":"123"
}
}

转技能组

{
"callerId":"15151515",
"tel":"13612345678",
"timeOut":12,
"transTo":"que",
"transPlay":"10001",
"transQue":"12",
"userData":{
"test":"123"
}
}

转IVR

{
"callerId":"15151515",
"tel":"13612345678",
"timeOut":12,
"transTo":"ivr",
"transPlay":"",
"transIvr":"IVRcode",
"ivrVar":{
"UNAME":"小红",
"COMPANY":"中通天鸿",
"TRANS_PHONE":"12345678911"
},
"userData":{
"test":"123"
}
}

字段说明

公共参数
参数类型说明必选
callerIdstring呼叫第一方时显示的主叫号码,为空时系统将随机获取企业下的一个主叫号码
telstring呼叫的第一方的电话号码
timeOutint呼叫超时时间 单位s, 默认50s
transTostring转接类型:tel-转分机、que-转队列、ivr-转IVR
transPlaystring主叫接通时播放的语音,转ivr时不生效,此语音为系统后台上传的语音文件id,例如10001
userDatajson对象用户自定义对象,此字段为自定义参数,呼叫后将原样推送回去,主要用于标记业务属性参数,长度限制 500byte
转电话参数
参数类型说明必选
connCalledPlaystring接通后被叫提示的语音,此语音为系统后台上传的语音文件id,例如10001
connTimeoutPlaystring接通超时挂机前提示的语音,此语音为系统后台上传的语音文件id,例如10001
transCallerstring转接电话使用的主叫,为空时系统将随机获取企业下的一个主叫号码
transCalledstring转接的电话transTo为tel,该字段必填
timeLimitint最长通话时间 单位s,范围:30s–3小时, 不传为0 不限制
enableCallbackint是否开启回呼的功能,如果开启则会记录呼叫绑定的关系,电话可以通过回拨外显号码的方式找到双向外呼的对方,例如双向外呼号码分别为A/B,外显主叫号码分别是X/Y(X和Y可以相同也可以不同),就是号码A收到X的呼叫,号码B收到Y的呼叫,然后A通过呼叫X可以找到B,B通过呼叫Y可以找到A,1为开启,0为关闭,默认为0
callbackBindingSecsint回呼关系绑定的时长,即只有在此时长内才能回呼,超过此时长后关系就解绑了,无法回呼,单位s, 默认为21600,8个小时,此配置只有在 enableCallback 开启的情况下有效
noticeTimeLimitint通话结束前N秒提醒,0为不提醒
noticeSoundstring提醒使用的语音,此语音为系统后台上传的语音文件id,例如10001
转技能组参数
参数类型说明必选
transQueint队列ID,可以通过后台查看也可以通过API接口获取transTo为que,该字段必填
转IVR参数
参数类型说明必选
transIvrstringIVR编码transTo为ivr,该字段必填,ivr编码可以通过后台系统查看,具体的值为流程编号
ivrVarjsonivr变量,json中只能使用一级的变量,在此传递的变量的使用需要先在要转接的ivr中配置好变量,具体见ivr中的根节点

响应结果

参数类型说明
callIdstring本次呼叫唯一标识(call为小写,Id的首字母大写,d为小写)
codeint状态码
messagestring错误信息

状态码说明

code说明
200ok
301token不能为空
302token认证失败
401企业代码为空
402企业代码不存在
403主叫号码为空
404被叫号码为空
405呼叫失败
406主叫号码格式不正确
407被叫号码格式不正确
408呼叫主叫号码显示或者呼叫被叫号码显示 不存在,请统一填写你们的400号码
500请求参数为空
501转接类型错误(tel/que/ivr)
502呼叫的电话为空
503呼叫的电话格式不正确
504转接号码为空
505转接号码格式不正确
506转接的技能组ID为空
507转接的技能组不存在
508转接的IVR名称为空
509转接的IVR不存在
510外呼主叫号码不存在,请填写配置400号码或中继号
511转接电话使用的主叫号码不存在,请填写配置400号码或中继号
512grpc请求异常
513号码归属查询出错
514非法主叫号码
515无可用外呼主叫号码
516gRpc调用返回值异常
517企业不正确
518企业过期
519被叫号码不正确
520主叫号码在黑名单
521主叫号码被风控
522主叫号码没有外呼能力
523系统异常,请联系管理员
524放音的语音ID错误
525callId参数错误
526通话不存在

双向外呼挂断接口

接口地址

POST https://m.icsoc.net/v3/api/makeCall/hangUp

请求示例

请求消息

POST /v3/api/makeCall/hangUp HTTP/1.1
Host: m.icsoc.net
Content-Type: application/json
Authorization: Bearer {用户中心认证的access_token}

{
"callId":"6632842348982198272"
}

响应体

{
"code": 200,
"message": "ok",
"callId": "6632842348982198272"
}

请求参数

参数类型说明必选
callIdstring通话唯一标识

响应结果

参数类型说明
callIdstring本次呼叫唯一标识(call为小写,Id的首字母大写,d为小写)
codeint状态码
messagestring错误信息

状态说明

同双向外呼接口的状态码说明

话单推送

话单推送

话单查询

接口地址

POST https://m.icsoc.net/v2/wintelapi/webcall/cdr/search

请求参数

参数类型说明必选
call_idstring通话唯一标识

响应结果

参数类型说明
codeint200 为正常,其它均为不正常
messagestring消息
dataarray信息

请求示例

请求消息

POST wintelapi/v2/webcall/cdr/search HTTP/1.1
Host: m.icsoc.net
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer {用户中心认证的access_token}

call_id=6987675906508750848

响应体

{
"code": 200,
"message": "ok",
"data": [
{
"id": "107xxx521",
"vcc_id": "xxxx",
"call_id": "67829xxxxx86528",
"caller": "175xxx23", // 主叫
"called": "180xxx21466", // 被叫
"called_areacode": "0902",
"called_areaname": "新疆 哈密",
"called_type": "MOBILE",
"called_vendor": "SIP",
"trans_caller": "175xxx3423", // 转接主叫
"trans_phone": "11897", // 转接坐席
"trans_areacode": "",
"trans_areaname": "",
"trans_type": "",
"trans_vendor": "",
"start_time_ee": "1617185008", // 坐席被呼叫时间
"ring_time_ee": "1617185008", // 坐席振铃时间
"answer_time_ee": "1617185009", // 坐席接通时间
"end_time_ee": "1617185035", // 坐席挂机时间
"start_time": "1617184989", // 客户被呼叫时间
"ring_time": "1617184991", // 客户振铃时间
"ans_time": "1617185008", // 客户应答时间
"link_time": "1617185009", // 客户被呼叫时间
"end_time": "1617185035", // 客户挂机时间
"ans_secs": "27", // 客户应答秒数
"link_secs": "26", // 客户与坐席通话秒数,即坐席通话秒数
"all_secs": "46", // 客户被呼叫总秒数
"callresult": "2", // 呼叫结果,描述见 string 字段
"endresult": "11", // 挂机结果,描述见 string 字段
"callresult_string": "双向接通",
"endresult_string": "主叫挂机",
"call_context": "xxx",
"call_exten": "v1",
"call_vars": "",
"user_data": "{\"phone\":\"180xxx466\",\"proid\":\"xxx\"}",
"record_file": [
"https://record.icsoc.net/123.mp3"
]
}
]
}