您好,欢迎使用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"表示整个通话结束(推送包含满意度评价,通话时长等重要信息)。