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