企业微信模板卡片消息

投票选择型和多项选择型卡片仅企业微信3.1.12及以上版本支持

文本通知型、图文展示型和按钮交互型三种卡片仅企业微信3.1.6及以上版本支持(但附件下载功能仍需更新至3.1.12)

微工作台(原企业号)不支持展示模板卡片消息

文本通知型

官网示例效果

 参数示例

{"touser":"UserID1|UserID2|UserID3","toparty":"PartyID1 | PartyID2","totag":"TagID1 | TagID2","msgtype":"template_card","agentid":1,"template_card":{"card_type":"text_notice","source":{"icon_url":"图片的url","desc":"企业微信","desc_color":1},"action_menu":{"desc":"卡片副交互辅助文本说明","action_list":[{"text":"接受推送","key":"A"},{"text":"不再推送","key":"B"}]},"task_id":"task_id","main_title":{"title":"欢迎使用企业微信","desc":"您的好友正在邀请您加入企业微信"},"quote_area":{"type":1,"url":"https://work.weixin.qq.com","title":"企业微信的引用样式","quote_text":"企业微信真好用呀真好用"},"emphasis_content":{"title":"100","desc":"核心数据"},"sub_title_text":"下载企业微信还能抢红包!","horizontal_content_list":[{"keyname":"邀请人","value":"张三"},{"type":1,"keyname":"企业微信官网","value":"点击访问","url":"https://work.weixin.qq.com"},{"type":2,"keyname":"企业微信下载","value":"企业微信.apk","media_id":"文件的media_id"},{"type":3,"keyname":"员工信息","value":"点击查看","userid":"zhangsan"}],"jump_list":[{"type":1,"title":"企业微信官网","url":"https://work.weixin.qq.com"},{"type":2,"title":"跳转小程序","appid":"小程序的appid","pagepath":"/index.html"}],"card_action":{"type":2,"url":"https://work.weixin.qq.com","appid":"小程序的appid","pagepath":"/index.html"}},"enable_id_trans":0,"enable_duplicate_check":0,"duplicate_check_interval":1800
}

 

参数说明

参数

是否必须

说明

touser

成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送

toparty

部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数

totag

标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数

msgtype

消息类型,此时固定为:template_card

agentid

企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值

card_type

模板卡片类型,文本通知型卡片填写 "text_notice"

source

卡片来源样式信息,不需要来源样式可不填写

source.icon_url

来源图片的url,来源图片的尺寸建议为72*72

source.desc

来源图片的描述,建议不超过20个字,(支持id转译)

source.desc_color

来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色

action_menu

卡片右上角更多操作按钮

action_menu.desc

更多操作界面的描述

action_menu.action_list

操作列表,列表长度取值范围为 [1, 3]

action_menu.action_list.text

操作的描述文案

action_menu.action_list.key

操作key值,用户点击后,会产生回调事件将本参数作为EventKey返回,回调事件会带上该key值,最长支持1024字节,不可重复

main_title.title

一级标题,建议不超过36个字,文本通知型卡片本字段非必填,但不可本字段和sub_title_text都不填,(支持id转译)

main_title.desc

标题辅助信息,建议不超过44个字,(支持id转译)

quote_area

引用文献样式

quote_area.type

引用文献样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序

quote_area.url

点击跳转的url,quote_area.type是1时必填

quote_area.appid

点击跳转的小程序的appid,必须是与当前应用关联的小程序,quote_area.type是2时必填

quote_area.pagepath

点击跳转的小程序的pagepath,quote_area.type是2时选填

quote_area.title

引用文献样式的标题

quote_area.quote_text

引用文献样式的引用文案

emphasis_content

关键数据样式

emphasis_content.title

关键数据样式的数据内容,建议不超过14个字

emphasis_content.desc

关键数据样式的数据描述内容,建议不超过22个字

sub_title_text

二级普通文本,建议不超过160个字,(支持id转译)

horizontal_content_list

二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6

horizontal_content_list.type

链接类型,0或不填代表不是链接,1 代表跳转url,2 代表下载附件,3 代表点击跳转成员详情

horizontal_content_list.keyname

二级标题,建议不超过5个字

horizontal_content_list.value

二级文本,如果horizontal_content_list.type是2,该字段代表文件名称(要包含文件类型),建议不超过30个字,(支持id转译)

horizontal_content_list.url

链接跳转的url,horizontal_content_list.type是1时必填

horizontal_content_list.media_id

附件的media_id,horizontal_content_list.type是2时必填

horizontal_content_list.userid

成员详情的userid,horizontal_content_list.type是3时必填

jump_list

跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3

jump_list.type

跳转链接类型,0或不填代表不是链接,1 代表跳转url,2 代表跳转小程序

jump_list.title

跳转链接样式的文案内容,建议不超过18个字

jump_list.url

跳转链接的url,jump_list.type是1时必填

jump_list.appid

跳转链接的小程序的appid,必须是与当前应用关联的小程序,jump_list.type是2时必填

jump_list.pagepath

跳转链接的小程序的pagepath,jump_list.type是2时选填

card_action

整体卡片的点击跳转事件,text_notice必填本字段

card_action.type

跳转事件类型,1 代表跳转url,2 代表打开小程序。text_notice卡片模版中该字段取值范围为[1,2]

card_action.url

跳转事件的url,card_action.type是1时必填

card_action.appid

跳转事件的小程序的appid,必须是与当前应用关联的小程序,card_action.type是2时必填

card_action.pagepath

跳转事件的小程序的pagepath,card_action.type是2时选填

task_id

任务id,同一个应用任务id不能重复,只能由数字、字母和“_-@”组成,最长128字节,填了action_menu字段的话本字段必填

enable_id_trans

表示是否开启id转译,0表示否,1表示是,默认0

enable_duplicate_check

表示是否开启重复消息检查,0表示否,1表示是,默认0

duplicate_check_interval

表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时

调用企业微信API

卡片文本通知消息是企业应用消息中的一种类型,也是需要获取授权企业的access_token,

不清楚的可查看《企业微信应用文本》篇的获取【企业凭证】。

参数是根据实际调用设定的,去掉了部分非必须的参数。

实例如下:

/*** 发起企业微信应用消息* @param $access_token :授权企业access_token* @param $params :消息参数* @return array|mixed*/
public function sendAppMsg($access_token, $params)
{$url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' . $access_token;$info = $this->linkCurl($url, 'POST', $params);$res = djson($info);if (isset($res['errcode']) && $res['errcode'] != 0) {return toFail($res['errmsg']);}return toSuccess('success', $res);
}/*** 发送卡片文本消息* @param $authInfo* @param $userid* @param $res* @return array|bool|mixed|string*/
public function sendCardTextMsg($authInfo, $userid, $res)
{$authInfo = ['corpid' => '授权企业id','permanent_code' => '授权企业永久授权码','agentid' => '授权应用id'];$userid = '企业微信用户userid';$res = ['url' => '项目在浏览器中的路径','pagepath' => '小程序跳转路径','title' => '合同需处理','items' => ['消息内容' => '与河北天翔服务有限公司的合同未完成签署,即将过期,请及时处理!','操作人员' => '于总','合同编号' => '20231205143706434243',],];$url = $res['url'] ?? '';$pagepath = $res['pagepath'] ?? '';$title = $res['title'];if (empty($res['items'])) {return toFail('请输入消息内容参数');}$get_token = $this->getCompanyToken($authInfo['corpid'], $authInfo['permanent_code']);if ($get_token['status'] != 1) {return $get_token;}$access_token = $get_token['data']['token'] ?? '';// 消息体处理$content_list = [];foreach ($res['items'] as $k => $v) {$content_list[] = ['keyname' => $k, 'value' => $v];}$params = json(["touser" => $userid,"msgtype" => "template_card","agentid" => $authInfo['agentid'],"template_card" => ["card_type" => "text_notice","task_id" => "task_id","main_title" => ["title" => "欢迎使用索服电子签","desc" => "您的好友正在邀请您加入索服电子签"],"sub_title_text" => $title,"horizontal_content_list" => $content_list,"jump_list" => [["type" => 1,"title" => "打开桌面应用","url" => $url,],["type" => 2,"title" => "跳转小程序","appid" => "跳转小程序的appid","pagepath" => $pagepath]],"card_action" => ["type" => 1,"url" => "官网地址"]]]);return $this->sendAppMsg($access_token, $params);
}/*** 请求接口返回内容* @param $url : 请求的URL地址* @param $method : 请求方式POST|GET* @param bool $params : 请求的参数* @param bool $header : 请求头* @return bool|string*/
protected function linkCurl($url, $method, $params = false, $header = false)
{$ch = curl_init();curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);curl_setopt($ch, CURLOPT_URL, $url);//curl_setopt($ch, CURLOPT_HTTPHEADER, $header);curl_setopt($ch, CURLOPT_FAILONERROR, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);if (strpos("$" . $url, "https://") == 1) {curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);}curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);curl_setopt($ch, CURLOPT_TIMEOUT, 60);if ($method == "POST") {curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $params);} else if ($params) {curl_setopt($ch, CURLOPT_URL, $url . '?' . http_build_query($params));}$response = curl_exec($ch);if ($response === FALSE) return false;curl_close($ch);return $response;
}

最终效果

总结

本篇主要是对企业微信应用消息-卡片模板消息的简单介绍和应用。之前项目中要使用应用模板消息通知用户,但是模板消息参数设置是:优先小程序跳转,其次如果没有小程序路径才会执行pc路径跳转;而我们要达到的效果是pc打开pc路径,手机端打开小程序;所以换成模板卡片-通知型消息。

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

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

相关文章

知识库SEO:提升网站内容质量与搜索引擎排名的策略

随着搜索引擎算法的不断更新和优化,单纯依靠关键词堆砌和外部链接的时代已经过去。现在的SEO(搜索引擎优化)已经转向了以提供高质量、有价值内容为核心的阶段。知识库SEO便是这个新阶段的重要策略之一。 | 一、知识库SEO的概念与意义 1.定义…

【隐私计算】tf-encrypted隐私计算框架/库基础

tf-encrypted介绍 TF Encrypted是TensorFlow中一个用于加密机器学习的框架,它看起来和感觉上都很像TensorFlow,利用了Keras API 的易用性,同时通过安全多方计算和同态加密实现了对加密数据的训练和预测。TF Encrypted的目标是使保护隐私的机器…

关东升老师从小白到大牛系列丛书(由清华大学出版社出版)

助力技术成长,成就大牛之路 在这个科技日新月异的时代,掌握一门编程语言或专业技能已是必备,不再是奢侈。清华大学出版社出版的“从小白到大牛”的系列丛书,涵盖Python、Java、Kotlin、Android和SQL,助你快速在技术之…

严世芸龟法养生经

文章目录 严世芸理念荤素搭配,不偏嗜动静结合心平气和 龟息法 严世芸 严世芸,出生于1940年,现任上海中医药大学的主任医师,教授。他父亲是近代上海有名的中医,他又是著名医家张伯臾的亲传弟子。 从小就在父亲诊室里长…

PO 对象被锁定

问题描述 在创建PO对象的时候,由于上次电脑断网导致PO连接中断,但服务器中登录用户还在占用PO对象,需要手动在POD中删除锁对象才可编辑 解决方案 登录到POD页面,点击右上角Administration 点击Lock Overview,查看…

营销投放下半场,游戏行业如何寻觅进化空间?

摘要:微博,游戏行业突围市场新利器 游戏行业,格局永远在变。 从2017年互联网大厂集体盯上游戏大蛋糕,到2021年行业收缩,再到今年上半年实际销售收入继去年首次出现同比下滑…几经过山车式行情的游戏行业,…

加密友好不意味容易!亚洲地区实施了世界上最严格的加密规定!

2023年的一大主题是亚洲作为加密货币世界中至关重要的地区的持续崛起。这在很大程度上要归功于新加坡等著名的数字资产中心,以及香港和日本的重新崛起。 虽然这些司法管辖区确实欢迎数字资产,但围绕它们的炒作可能会有些误导,加密友好并非意味…

【AI】如何准备mac开发vue项目的环境

为了在Mac上开发Vue项目,你需要准备一些工具和环境。以下是主要的步骤: 安装Node.js和npm: Vue.js是一个基于JavaScript的框架,因此你需要Node.js环境。访问Node.js官网下载并安装Node.js,这也会自动安装npm&#xff0…

玩转大数据18:大规模数据处理与分布式任务调度

引言 在数字化时代,数据成为了一种宝贵的资源,对于企业和组织来说,如何有效地处理和分析这些数据成为了关键的竞争力。大规模数据处理与分布式任务调度作为大数据处理的核心技术,为解决这一问题提供了有效的解决方案。 随着数据…

赛宁网安多领域亮相第三届网络空间内生安全发展大会

2023年12月8日,第三届网络空间内生安全发展大会在宁开幕。两院院士、杰出专家学者和知名企业家相聚南京,围绕数字经济新生态、网络安全新范式进行广泛研讨,为筑牢数字安全底座贡献智慧和力量。 大会围绕“一会、一赛、一展”举办了丰富多彩的…

vue实现滑动验证

效果图: 源码地址:github文档地址: https://github.com/monoplasty/vue-monoplasty-slide-verify 使用步骤:1,安装插件: npm install --save vue-monoplasty-slide-verify 在main.js中使用一下&#xff…

wgcloud访问页面如何加前缀/wgcloud

nginx配置实现加/wgcloud - WGCLOUD

网络层--TCP/UDP协议

目录 一、TCP/UDP协议介绍 1、UDP(User Datagram Protocol)--用户数据报协议 1.1 UDP报文格式 1.2 UDP协议的特性 2、TCP(Transmission Control Protocol )--传输控制协议 2.1 TCP报文格式 2.2 TCP协议的特性 2.3 TCP三次握手 2.4 四次挥手 三、TCP和UDP的区别 四、t…

Vue3-17-ref 模板引用的基本使用

什么是模板引用 简单来说,就是在 js 代码中 获取到 html 中的dom元素的完整信息, 从而实现直接操作dom元素的效果。模板引用的语法 1、给 dom 元素添加 ref名称 属性,指定一个独有的名称; 2、js 中 声明一个 与 dom 元素的 ref 同…

Find My钥匙扣|苹果Find My技术与钥匙扣结合,智能防丢,全球定位

钥匙扣,又称锁匙扣,钥匙圈,钥匙链,钥匙挂等。制作钥匙扣的材料一般为金属、皮革、塑料、木头等。此物精致小巧、造型千变万化是人们每天随身携带的日常用品。钥匙扣是挂在钥匙圈上的一种装饰物品。最新的智能钥匙扣还具有防丢查找…

如何做好企业数据管理

国际数据管理协会(DAMA)将数据管理定义为“管理数据生命周期的体系结构、策略、实践和程序的开发”。 简言之,数据管理就是以经济、安全和高效的方式收集、保存和使用数据的过程。 数据管理可帮助人员、企业和互联事物优化数据使用&#xff…

在线双目测宽仪 实时监测 在线分析

板材轧制生产中不可缺少宽度在线检测设备,有很多种类型,如光电平行光测宽、光电广角测头测宽、光电平行光广角测宽、激光测宽、机器视觉测宽、机器视觉双目测宽等。根据产线、价格及需求不同,进行不同类型的测宽仪定制,本文主要介…

蓝凌EIS智慧协同平台 SQL注入漏洞复现

0x01 产品简介 蓝凌EIS智慧协同平台是一款专为企业提供高效协同办公和团队合作的产品。该平台集成了各种协同工具和功能,旨在提升企业内部沟通、协作和信息共享的效率。 0x02 漏洞概述 由于蓝凌EIS智慧协同平台 UniformEntry.asp接口处未对用户输入的SQL语句进行…

广州华锐互动:VR煤矿安全操作规程实训提升矿工安全意识与技能

随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,为人们的生活带来了极大的便利。在煤矿行业,VR技术的应用也日益受到重视,尤其是在煤矿安全检查方面。为了提高矿工的安全意识和技能&#xff0…

Unity中实现ShaderToy卡通火(原理实现篇)

文章目录 前言一、我们在片元着色器中,实现卡通火的大体框架1、使用 noise 和 _CUTOFF 判断作为显示火焰的区域2、_CUTOFF : 用于裁剪噪波范围的三角形3、noise getNoise(uv, t); : 噪波函数 二、顺着大体框架依次解析具体实现的功能1、 uv.x * 4.0; : …