目录
当特定的事件回调消息包含code字段,或通过接口变更到特定的会话状态,会返回code字段。
开发者可以此code为凭证,调用该接口给用户发送相应事件场景下的消息,如客服欢迎语、客服提示语和会话结束语等。
除"用户进入会话事件"以外,响应消息仅支持会话处于获取该code的会话状态时发送,如将会话转入待接入池时获得的code仅能在会话状态为”待接入池排队中“时发送。
目前支持的事件场景和相关约束如下:
事件场景 | 允许下发条数 | code有效期 | 支持的消息类型 | 获取code途径 |
---|---|---|---|---|
用户进入会话,用于发送客服欢迎语 | 1条 | 20秒 | 文本、菜单 | 事件回调 |
进入接待池,用于发送排队提示语等 | 1条 | 48小时 | 文本 | 转接会话接口 |
从接待池接入会话,用于发送非工作时间的提示语或超时未回复的提示语等 | 1条 | 48小时 | 文本 | 事件回调、转接会话接口 |
结束会话,用于发送结束会话提示语或满意度评价等 | 1条 | 20秒 | 文本、菜单 | 事件回调、转接会话接口 |
请求方式: POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/kf/send_msg_on_event?access_token=ACCESS_TOKEN
请求示例
{
"code": "CODE",
"msgid": "MSG_ID",
"msgtype": "MSG_TYPE"
}
参数说明:
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
access_token | 是 | string | 调用接口凭证 |
code | 是 | string | 事件响应消息对应的code。通过事件回调下发,仅可使用一次。 |
msgid | 否 | string | 消息ID。如果请求参数指定了msgid,则原样返回,否则系统自动生成并返回。 不多于32字节 字符串取值范围(正则表达式):[0-9a-zA-Z_-]* |
msgtype | 是 | string | 消息类型。对不同的msgtype,有相应的结构描述,详见消息类型 |
「进入会话事件」响应消息:
如果满足通过API下发欢迎语条件(条件为:用户在过去48小时里未收过欢迎语,且未向客服发过消息),则用户进入会话事件会额外返回一个welcome_code
,开发者以此为凭据调用接口(填到该接口code
参数),即可向客户发送客服欢迎语。
权限说明:
调用的应用需要满足如下的权限
应用类型 | 权限要求 |
---|---|
自建应用 | 配置到「 微信客服- 可调用接口的应用」中 |
第三方应用 | 具有“微信客服->管理账号、分配会话和收发消息”权限 |
代开发自建应用 | 具有“微信客服->管理账号、分配会话和收发消息”权限 |
注: 从2023年12月1日0点起,不再支持通过系统应用secret调用接口,存量企业暂不受影响 查看详情
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"msgid": "MSG_ID"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int32 | 返回码 |
errmsg | string | 错误码描述 |
msgid | string | 消息ID |
请求示例:
{
"code": "CODE",
"msgid": "MSG_ID",
"msgtype" : "text",
"text" : {
"content" : "欢迎咨询"
}
}
参数说明:
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
msgtype | 是 | string | 消息类型,此时固定为:text |
text | 是 | obj | 文本消息 |
text.content | 是 | string | 消息内容,最长不超过2048个字节 |
请求示例:
{
"code": "CODE"
"msgid": "MSGID",
"msgtype": "msgmenu",
"msgmenu": {
"head_content": "您对本次服务是否满意呢? ",
"list": [
{
"type": "click",
"click": {
"id": "101",
"content": "满意"
}
},
{
"type": "click",
"click": {
"id": "102",
"content": "不满意"
}
},
{
"type": "view",
"view": {
"url": "https://work.weixin.qq.com",
"content": "点击跳转到自助查询页面"
}
},
{
"type": "miniprogram",
"miniprogram": {
"appid": "wx123123123123123",
"pagepath": "pages/index?userid=zhangsan&orderid=123123123",
"content": "点击打开小程序查询更多"
}
},
{
"type": "text",
"text": {
"content": "纯文本,支持\n换行",
"no_newline": 0
}
}
],
"tail_content": "欢迎再次光临"
}
}
参数说明:
参数 | 必须 | 类型 | 说明 |
---|---|---|---|
msgtype | 是 | string | 消息类型,此时固定为:msgmenu |
msgmenu | 是 | obj | 菜单消息 |
msgmenu.head_content | 否 | string | 起始文本 不多于1024字节 |
msgmenu.list | 否 | obj[] | 菜单项配置,不超过10个 |
msgmenu.list.type | 是 | string | 菜单类型。click -回复菜单 view -超链接菜单 miniprogram -小程序菜单 text -文本 |
msgmenu.list.click | 否 | obj | type为click 的菜单项 |
msgmenu.list.click.id | 否 | string | 菜单ID。 不少于1字节 不多于128字节 |
msgmenu.list.click.content | 是 | string | 菜单显示内容 不少于1字节 不多于128字节 |
msgmenu.list.view | 否 | obj | type为view 的菜单项 |
msgmenu.list.view.url | 是 | string | 点击后跳转的链接。 不少于1字节 不多于2048字节 |
msgmenu.list.view.content | 是 | string | 菜单显示内容。 不少于1字节 不多于1024字节 |
msgmenu.list.miniprogram | 否 | obj | type为miniprogram 的菜单项 |
msgmenu.list.miniprogram.appid | 是 | string | 小程序appid。 不少于1字节 不多于32字节 |
msgmenu.list.miniprogram.pagepath | 是 | string | 点击后进入的小程序页面。 不少于1字节 不多于1024字节 |
msgmenu.list.miniprogram.content | 是 | string | 菜单显示内容。 不多于1024字节 |
msgmenu.list.text | 否 | obj | type为text 的菜单项 |
msgmenu.list.text.content | 是 | string | 文本内容,支持\n (\和n两个字符)换行。不少于1字节 不多于256字节 |
msgmenu.list.text.no_newline | 否 | bool | 内容后面是否不换行,0-换行 1-不换行,默认为0 |
msgmenu.tail_content | 否 | string | 结束文本 不多于1024字节 |