微信公众号发送客服消息---菜单消息,卡片消息

工作中遇到公众号发送客服消息,让用户点击选择。查看了微信开发者文档,发现“菜单消息” 可以满足,但是用户接收到的样式的确很难看,所以就想可不可以改变其样式来达到一种卡片式的消息。

先不说别的,先上微信客服消息---菜单消息文档如下:

1、开发文档

{"touser": "OPENID","msgtype": "msgmenu","msgmenu": {"head_content": "您对本次服务是否满意呢? ""list": [{"id": "101","content": "满意"},{"id": "102","content": "不满意"}],"tail_content": "欢迎再次光临"}
}

按照上述例子,用户会看到这样的菜单消息:

“您对本次服务是否满意呢?

满意

不满意”

其中,“满意”和“不满意”是可点击的,当用户点击后,微信会发送一条XML消息到开发者服务器,格式如下:

<xml>
<ToUserName><![CDATA[ToUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>1500000000</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[满意]]></Content>
<MsgId>1234567890123456</MsgId>
<bizmsgmenuid>101</bizmsgmenuid>
</xml>

XML参数说明:

参数说明
ToUserName开发者帐号
FromUserName接收方帐号(OpenID)
CreateTime消息创建时间戳
MsgTypeText
Content点击的菜单名
MsgId消息ID
bizmsgmenuid点击的菜单ID

收到XML推送之后,开发者可以根据提取出来的bizmsgmenuid和Content识别出微信用户点击的是哪个菜单。

2、实现方式

本人在测试号调用此接口一直报40200的错误码 invalid account type, 在文档上找不到对应的错误码;后来在网上查阅资料才知道,此接口必须在正式的公众号才能调用成功。

备注:

msgmenuid:单击了哪个按钮对应的id(测试号以文本方式发送给微信服务器的话,返回的xml中不会有这个id,只有公众号才会有)
1、根据msgmenuid来判断用户点击了哪一个按钮,然后处理相关逻辑。
2、为了防止用户多次点击,可以后台返回一个随机数,用户点击的时候可以通过这个随机数判断是否已经处理过,如果为空或者随机数不是后台生成的则拒绝处理,发送客服提示消息。

要想达到卡片式的效果,超链接必须要加上微信地址weixin://bizmsgmenu服务器才会返回菜单按钮样式的xml。至于排版,可以通过\t 空格 \n换行 自行排版。

发送文本消息的内容如下

"检测到您正在和【张三】医生进行咨询尚未结束,是否要切换至【李四】医生咨询?\n\n"+"\t\t\t\t\t"+
"<a href=\"weixin://bizmsgmenu?msgmenucontent=切换&msgmenuid=10001\">切换</a>"+
"\t\t\t\t\t\t\t\t\t\t\t\t\t"+
"<a href=\"weixin://bizmsgmenu?msgmenucontent=不切换&msgmenuid=10002\">不切换</a>\n"+
"\n快马健康!(本次消息有效时间为30分钟)"

效果图如下:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37345.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信可以用邮箱吗?邮箱无法分享到微信怎么办?微信邮箱从哪找呢

微信可以用邮箱吗&#xff0c;电子邮箱和微信都是我们日常最常用到的通讯方式&#xff0c;对于常用邮箱的朋友&#xff0c;经常会面临邮件需要微信同步给好友的情况。针对邮箱无法分享到微信怎么办的问题&#xff0c;今天让我们一起来了解下吧&#xff01; 邮箱到底能否在微信…

微信公众号发送消息给用户 php

1.微信公众号 这里得话 一开始先去看了 微信公众号的接口 发现网页授权需要时认证的服务号&#xff0c;一开始想的是那去申请一个认证的服务号岂不是很费事&#xff0c;然后网上搜了搜&#xff0c;发现了还有微信公众号个人测试号这个东西&#xff0c;所有的接口都可以使用&…

如何使用微信收发企业邮箱邮件

使用微信服务号来收发企业邮箱&#xff0c;下面介绍一下相关教程 微信官方规定“接入服务器地址”只能为www主机名&#xff0c;否则不能进行OAuth2.0鉴权&#xff08;即邮件来信提醒功能、登录邮箱界面用不了&#xff09;&#xff0c;而且端口规定只能用80和443。另外文档中以…

以太坊钱包私钥爆破产业链和攻击案例

一:产业链频道&#xff1a;小飞机搜索"BRUTE_FORCE_CRYPTO_WALLET" 2、github项目(有成熟的工具)GitHub - Houzich/CUDA-GPU-Brute-Force-Mnemonic-Old-Electrum-V1: CUDA-GPU-Brute-Force-Mnemonic-Old-Electrum-V1 3、揭秘以太坊 Vanity 生成器 Profanity 私钥破解…

Android使用postman实现模拟api接口

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版&#xff0c;欢迎购买。点击进入详情 文章目录 简介postman 简介 在开发过程中涉及到前端和后台的交互&#xff0c;那就是api接口。 前端的需求是api接口定义好以后&#xff0c;能够有数据返回&#x…

使用钉钉Api 向企业群发送文件 python

由于钉钉群机器人推送消息类型只支持text&#xff0c;link&#xff0c;markdown等形式&#xff0c;因此我们需要使用钉钉的接口来实现媒体文件的发送。 目录 获取身份验证参数上传媒体文件发送消息获取chatid 注意事项 获取身份验证参数 钉钉开放文档中可以看到我们上传媒体文…

php 使用钉钉机器人推送消息

机器人发送消息频率限制 消息发送太频繁会严重影响群成员的使用体验&#xff0c;大量发消息的场景&#xff08;譬如系统监控报警&#xff09;可以将这些信息进行整合&#xff0c;通过markdown消息以摘要的形式发送到群里。 每个机器人每分钟最多发送20条。如果超过20条&#x…

应用系统与钉钉集成案例及操作步骤

1、准备钉钉应用 1.1、注册钉钉账号 作为钉钉的企业管理员&#xff0c;首先登录钉钉官网&#xff0c;注册一个钉钉账号。 如果已经有账号&#xff0c;则直接使用即可。 钉钉官网&#xff1a;https://www.dingtalk.com/ 1.2、开通企业团队 企业管理员使用账号登录钉钉。 如…

钉钉新版服务端修改流程Task状态( 同意或拒绝审批流程 )API调用的大坑

文章目录 1.背景2.新版服务端的java依赖3.接入流程3.1 创建企业内部应用3.2 获取AppKey和AppSecret3.3 添加接口权限3.4 获取应用访问凭证accessToken3.5 调用服务端OA相关API 4.问题及其解决办法5.新版API相关代码分享 1.背景 由于之前做了一个财务收付款关联管理的项目中接入…

python/Django对接dingtalk-sdk企业内部开发对接钉钉过程手记

前提 需要拥有管理员账号或获得开发者权限 准备 钉钉方面 1. 创建钉钉应用 钉钉开放平台——应用开发——钉钉应用——创建应用 2. 记录应用凭证 记录应用的AgentId、AppKey、AppSecret 3. 打开应用权限 打开需要获取数据的接口权限 开发环境方面 1.安装依赖库 dingta…

钉钉发送消息 java

1、完成钉钉认证才能使用此功能 2、需要登录控制台进行创建应用操作 https://open-dev.dingtalk.com/fe/app 3、需要设置 权限范围及通讯录权限设置 参考 https://www.ngui.cc/el/778161.html?actiononClick pom <dependency><groupId>com.aliyun</groupId&g…

PHP 通过钉钉API向员工推送消息(以工作通知的形式)

通过钉钉 API 向员工推送消息分为多种形式, 今天只以工作通知的形式讲述。 第一步: 进入 钉钉开放平台 注册账号按照流程操作即可 进入开发者后台后需要进行创建应用(之所以创建应用, 是因为以应用为一个 demo) 第二步:创建应用(今天以创建小程序为例) 第三步: 获取企业内部…

LzDingTalk-免费的钉钉机器人框架

LzDingTalk-是一款免费的钉钉机器人框架 1.异常处理规则 2.稳定不易掉线 3.哈希多线程处理 再多消息也能轻松应对 4.框架完全免费&#xff0c;用爱发电&#xff01; 5.多样式API支持二次开发插件&#xff01; 蓝奏下载地址&#xff1a;DingTalk 密码&#xff1a;6jbd界面展示&a…

禅道接入钉钉工作通知与钉钉群机器人二次开发代码详解

目录 禅道接入钉钉工作通知与钉钉群机器人 一、钉钉工作通知使用步骤 1.进入钉钉管理后台工作台添加自建应用进入开发者平台 2.禅道中得操作 3.接收到消息 二、钉钉群机器人使用步骤 1.钉钉群进行设置群机器人 2.禅道设置 三、禅道二次开发添加新功能进行工作通知和群机…

推送Markdown格式信息到钉钉机器人

1.自定义机器人设置 根据钉钉官方开放文档进行自定义机器人的配置&#xff0c;文档地址为&#xff1a;自定义机器人接入 - 钉钉开放平台 (dingtalk.com) 2.Markdown推送形式 Markdown类型 参数说明 3.Markdown图片格式 Markdown中可以使用url连接的图片进行推送&#xff0c…

Java项目如何接入钉钉群机器人

创建群机器人&#xff1a;对于任意我们所在的群&#xff0c;我们都可以创建自己的机器人&#xff0c;不需要群主权限&#xff0c;每个机器人信息只能自己看到。 我们项目通过对应的链接调用机器人发送消息。 创建对应的鉴权方式&#xff0c; 关键字只要消息内容携带即可&…

雷军入局ChatGPT大战/ AutoGPT星标超PyTorch/ 马斯克星舰今晚发射…今日更多新鲜事在此...

h日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好&#xff0c;今天是4月17日星期一&#xff0c;新的一周要元气满满哦~ 今天科技圈有哪些新鲜事儿&#xff0c;和日报君一起来看看~ 马斯克星舰今晚发射&#xff1a;将进行直播&#xff0c;此前曾延期 SpaceX官网发布通告称&…

[论文阅读] Collaborative and Adversarial Learning of Focused and Dispersive Representation

[论文地址] [代码] [ICCV 21] Abstract 从结肠镜图像中自动分割息肉是计算机辅助诊断结直肠癌的一个重要步骤。近年来报道的大多数息肉分割方法都是基于完全监督的深度学习。然而&#xff0c;医生在诊断过程中对息肉图像的注释是非常耗时和昂贵的。在本文中&#xff0c;我们提…

2000元训练比肩ChatGPT的开源大模型!GPT-4亲自盖章认证,模型权重均可下载

鱼羊 编辑整理量子位 | 公众号 QbitAI 2000块&#xff0c;调教出一个达到ChatGPT九成功力的开源大模型。 还是被GPT-4亲自盖章认证实力的那种。 这事儿&#xff0c;一群主要来自加州大学伯克利分校的研究人员做到了。 如图中所见&#xff0c;这个模型名叫Vicuna &#xff08;小…

chatgpt赋能python:Python处理雷达基数据:从入门到实践

Python处理雷达基数据&#xff1a;从入门到实践 随着气象技术的不断发展&#xff0c;雷达探测技术已成为当今天气预报和气象研究的主要手段之一。雷达基数据是气象雷达接收到的未经加工的原始数据&#xff0c;因其包含大量天气信息&#xff0c;不仅在天气预报、天气预警等方面…