您好,欢迎使用udesk通话事件推送功能。
基本用法
第一步:配置推送的字段
登陆Udesk客服系统管理员账号,在 管理中心 -> 呼叫中心 -> 其他设置 -> 通话事件推送,打开推送开关,并填写推送地址。
第二步:通话事件推送的使用
设置推送地址,发生通话事件时自动触发推送。
通话事件推送
推送时机
1.呼入(呼出)开始
2.建立通话(客户/坐席应答)
3.挂机
4.通话结束
推送参数说明
| 参数名称 | 描述 | 类型 |
|---|---|---|
| call_id | call_id(同一客户一系列通话唯一id) | String |
| conversation_id | conversation_id(当前通话的id) | Int |
| timestamp | 时间 | String |
| nick_name | 客户姓名 | String |
| customer_phone | 客户电话 | String |
| mobile_area | 归属地 | String |
| display_number | 中继号 | String |
| workflow | 通话类型(in:呼入,out_callback: 双向回拨, out_direct:外呼直拨,out_auto: 自动外呼) | String |
| from_agent_id | 来源(高级通话时上一个客服的id) | Int |
| call_result | 通话结果(详解一) | String |
| is_leave_message | 是否有留言(留言在通话录音中) | Boolean |
| total_time | 通话时长(秒) | Int |
| record_url | 通话录音地址 | String |
| survey | 满意度评价 | String |
| outline_phone_number | 外呼电话 | String |
| agent_id | 客服id | Int |
| customer_ring_at | 客户侧响铃时间(例:2018-03-22 11:48:05 +0800) | String |
| agent_ring_at | 客服侧响铃时间 | String |
| customer_answer_at | 客户接听时间 | String |
| agent_answer_at | 客服接听时间 | String |
| customer_hangup_at | 客户挂机时间 | String |
| agent_hangup_at | 客服挂机时间 | String |
| agent_email | 客服邮箱账号 | String |
| agent_nick_name | 客服名称 | string |
| category | 高级通话类型(详解二) | String |
| task_name | 任务 | String |
| queue_statue | 排队状态 | String |
| queue_time | 排队耗时 | Int |
| dtmf | DTMF按键 | String |
| device_info | 设备类型 | String |
| drop_side | 通话挂断方 | String |
| defeat_cause | 外呼失败原因(详解三) | String |
| multi_ring_count | 顺振 | Int |
| relevant_agent | 相关客服 | 字符数组 |
| task_id | 自动外呼任务id | Int |
| queue_overflow | 溢出队列统计 | String |
| ivr_time | ivr时长(s) | Int |
| ivr_variables | ivr变量(详解四) | String |
| ivr_record_urls | ivr录音地址 | Array |
| ticket_numbers | 生成工单编号(详解五) | Array |
| lang | 语言 | String |
| is_blocked | 是否在黑名单 | Boolean |
| level | 等级 | String |
| description | 描述 | String |
| organization_name | 公司 | String |
| owner_name | 负责人 | String |
| owner_group_name | 负责组 | String |
| note_id | 业务记录的id | Int |
| note_content | 业务记录的主题 | String |
| note_custom_fields | 业务记录自定义字段(详解六) | Array |
| note_template_id | 业务记录模版id | Int |
| note_template_name | 业务记录模版名称 | String |
| questionnaire_id | 调查问卷id | Int |
| questionnaire_contents | 调查问卷内容 | Hash |
| callout_tasks | 手动外呼任务(详解七) | Array |
| occasion | 推送时机说明(详解八) | String |
| biz_id | 自定义通话id(配合通话组件使用) | String |
| customer_id | 客户ID | Long |
| customer_token | 客户open_api_token | String |
| customer_web_token | 客户web_token | String |
| customer_sdk_token | 客户sdk_token | String |
| weixin_openids | 微信公众号客户ID | Array |
| user_group_id | 坐席组ID | Int |
| user_group_name | 坐席组名称 | String |
| call_start_at | 通话开始时间 | String |
| ring_time | 振铃时长(秒) | Int |
| agent_tags | 坐席标签 | Array |
| created_at | 创建时间 | String |
详解一:通话结果(“客户未接”、“客户接听”、“话机占线”、“话机离线”、“客服未接”、“客服拒接”、“客服接听”、“客户速挂”、“客户挂机”、“排队超时”、“放弃排队”、“未选择队列”、“外线接听”、“外线未接”)
详解二:“normal”=> 普通通话; “transfer”=> 转接; “transfer_outline”=> 转接外线; “consult”=>咨询; “consult_outline”=>咨询(外线); “three_party”=>三方; “three_party_outline”=>三方(外线); “listening”=>监听; “barge_in”=>组长强插; “substitute”=>组长强拆
详解三: 外呼失败原因需要单独开通,请联系Udesk.详细说明如下,最终返回值为name 字段
详解四: ivr变量,为智能路由配置的,且保存到通话记录的ivr变量,返回格式:("ivr_variables": "aa:11,bb:22")
详解五: 生成工单编号,为在通话过程中创建的工单编号,可能会有多个工单,返回格式如下:("ticket_numbers": ["#12","#13"])
详解六: 业务记录自定义字段,为此通话记录对应的业务记录的自定义字段集合,返回格式如下:("note_custom_fields": [ { "id": "TextField_73", "name": "测试日期", "value": "2019-08-09" }])
注意:不会返回被删除的自定义字段详解七: 手动外呼任务,表示此次通话是从外呼任务发起的,且有可能多个外呼任务都包含此号码,返回格式:("callout_tasks": [{"id": 85,"name": "外呼任务1"},{"id": 86,"name": "外呼任务2"}])
| id | name | alias | description |
|---|---|---|---|
| 1 | 关机 | power off | 关机 |
| 2 | 空号 | does not exist | 空号 |
| 3 | 停机 | out of service | 停机 |
| 4 | 正在通话中 | hold on | 正在通话中 |
| 5 | 用户拒接 | not convenient | 用户拒接 |
| 6 | 无法接通 | is not reachable | 无法接通 |
| 7 | 暂停服务 | not in service | 暂停服务 |
| 8 | 用户正忙 | busy now | 用户正忙 |
| 9 | 拨号方式不正确 | not a local number | 拨号方式不正确 |
| 10 | 呼入限制 | barring of incoming | 呼入限制 |
| 11 | 呼叫转移失败 | forwarded | 呼叫转移失败 |
| 12 | 网络忙 | line is busy | 网络忙 |
| 13 | 无人接听 | not answer | 无人接听 |
| 14 | 欠费 | defaulting | 欠费 |
| 15 | 无法接听 | cannot be connected | 无法接听 |
| 16 | 改号 | number change | 改号 |
| 17 | 线路故障 | line fault | 线路不能呼出,比如SIM卡欠费 |
| 18 | 稍后再拨 | redial later | 各种稍后再拨提示 |
详解八:推送时机表示该次推送的触发事件,呼入呼出及高级通话各有区别,但每条通话必有一条“end”推送。目前“锁定坐席”推送因为顺振等原因,需要联系客服单独开通。字段详解如下:
| 值 | 表示时机为 |
|---|---|
| begin | 开始自动外呼 |
| agent_answer | 呼出回拨坐席接听 |
| customer_answer | 呼出回拨客户接听 |
| enqueue_succ | 呼入入队成功 |
| agent_lock | 锁定坐席(目前 需要单独开通此条推送) |
| agent_incall | 坐席开始通话 |
| agent_breakout | 分配坐席未应答 |
| transfer_succ | 转接成功 |
| transfer_failed | 转接失败 |
| consult_succ | 咨询成功 |
| consult_failed | 咨询失败 |
| listening_succ | 监听成功 |
| listening_failed | 监听失败 |
| third_party_succ | 三方成功 |
| third_party_failed | 三方失败 |
| interpose_succ | 强插成功 |
| interpose_failed | 强插失败 |
| substitute_succ | 拦截成功 |
| substitute_failed | 拦截失败 |
| whisper_succ | 密语成功 |
| whisper_failed | 密语失败 |
| hangup | 通话有一方挂断 |
| end | 通话结束 |
| end_info | 高级通话信息 |
推送值示例
{
"call_id": "8097f59e-0ba7-1111-b6c0-7f70c7a5a962",
"conversation_id": 54093,
"agent_ring_at": null,
"agent_answer_at": null,
"agent_hangup_at": "2019-07-24T15:23:14.000+08:00",
"customer_ring_at": "2019-07-24T15:21:41.000+08:00",
"customer_answer_at": "2019-07-24T15:21:56.000+08:00",
"customer_hangup_at": "2019-07-24T15:23:17.000+08:00",
"timestamp": "2019-07-24 15:23:17 +0800",
"nick_name": "测试客户18",
"mobile_area": "北京 北京",
"workflow": "out_direct",
"category": "normal",
"from_agent_id": null,
"call_result": "客户接听",
"is_leave_message": false,
"total_time": 81,
"survey": "未评价",
"record_url": "https://xxxx",
"outline_phone_number": null,
"agent_id": 1941,
"agent_email": "demo@udesk.cn",
"agent_nick_name": "测试客服01",
"task_name": null,
"queue_statue": null,
"queue_time": null,
"dtmf": "",
"device_info": "网页电话",
"drop_side": "客服",
"defeat_cause": null,
"multi_ring_count": 0,
"relevant_agent": ["demo2"],
"task_id": null,
"queue_overflow": "无溢出",
"ivr_time": null,
"ivr_variables": null,
"ivr_record_urls": [
{
"id": 50107001,
"ivr_record_url": "https://pro-ccrecords.kefutoutiao.com/linapp/cc_recordings/20200604114352_8b16c1a0-941d-47c0-9fa8-86a302021d50_8b16c1a0-941d-47c0-9fa8-86a302021d50.wav?OSSAccessKeyId=bPexlr6MCcadDhfu&Expires=1622778259&Signature=e6OcyIoJ6AbUM9X7soj%2Bux9VJJg%3D"
}
],
"ticket_numbers": ["#12","#13"],
"lang": "ko",
"is_blocked": true,
"level": "vip",
"description": "测试客户18描述",
"organization_name": "ACMILAN",
"owner_name": "demo",
"owner_group_name": "一二三",
"note_id": 113973,
"note_content": "主题1",
"customer_id": 1122333211,
"customer_token": "2lakjer32aw34r123l",
"customer_web_token": "la9df234jasdfqw3",
"customer_sdk_token": "lasdf234ala23234",
"weixin_openids": ["weixin_openids1", "weixin_openids2"],
"note_custom_fields": [
{
"id": "TextField_286",
"name": "zgh-单行文本",
"value": "zgh-单行文本"
},
{
"id": "TextField_287",
"name": "zgh-日期",
"value": "2019-07-24"
},
{
"id": "TextField_288",
"name": "zgh-时间",
"value": "15:21:35"
},
{
"id": "TextField_289",
"name": "zgh-日期时间",
"value": "2019-07-24 15:21"
},
{
"id": "TextField_291",
"name": "zgh-正整数",
"value": "111"
},
{
"id": "TextField_292",
"name": "zgh-链接",
"value": "https://baidu.com"
},
{
"id": "TextField_293",
"name": "zgh-多行文本",
"value": "zgh-多行文本"
},
{
"id": "TextField_294",
"name": "zgh-地理位置",
"value": "地理位置"
},
{
"id": "TextField_33405",
"name": "嘉云数值",
"value": "123"
},
{
"id": "SelectField_257",
"name": "10项级联",
"value": [
"北京市",
"海淀区",
"知春路"
]
},
{
"id": "SelectField_364",
"name": "zgh-下拉列表",
"value": [
"zgh-下拉列表-选项2"
]
},
{
"id": "SelectField_366",
"name": "zgh-单选框",
"value": [
"zgh-单选框-选项2"
]
},
{
"id": "SelectField_367",
"name": "zgh-复选框",
"value": [
"zgh-复选框-选项1",
"zgh-复选框-选项2"
]
}
],
"note_template_id": 114,
"note_template_name": "默认业务记录",
"questionnaire_id": "13",
"questionnaire_contents": { "你喜欢什么动物?": "小青", "你喜欢什么城市?": "北京; 上海; 天津; 重庆", "你今年几岁了?": "", "过年回家吗?": "不回" },
"callout_tasks": [
{
"id": 1301,
"name": "外呼任务1"
}
],
"occasion": "end",
"biz_id": null,
"customer_phone": "1388888888",
"display_number": "0211234567",
"call_start_at": "2022-03-03 14:27:10",
"ring_time": 17,
"agent_tags": ["客服标签", "show case"],
"created_at": "2022-03-03 17:12:42"
}
通话事件推送时机举例
顺振、高级通话时推送条数会因为通话情况复杂有所不同,以occasion实际情况为准,但每条通话必有且仅有一条推送的occasion为“end”,表示通话完全结束。 开通重试功能的情况下,同一conversation_id如果已经收到occasion为“end”的推送,其后的推送为之前失败后重试的推送。
1.一般呼出
一般情况下,occasion依次为:"agent_answer"; "customer_answer"; "hangup"; "end"。 "end"表示整个通话结束(推送包含通话时长等重要信息)。
2.一般呼入
一般情况下,occasion依次为:"enqueue_succ"; "agent_lock"(功能开通后); "agent_incall"; "hangup"; "end"。 "end"表示整个通话结束(推送包含满意度评价,通话时长等重要信息)。