微信企业消息推送

  • 企业微信/企业号注册
    • 微信认证
    • 消息推送
      • 服务号
      • 企业微信数据接口
    • 后台开发

在软件程序实际应用中,在软件中推送可能还不能满足实际需求,需要把消息推送到用户手机,目前比较好的方式,可能是微信消息推送。因此做一个记录

企业微信/企业号注册

微信消息推送需要配合 企业微信号 做消息推送

注册连接

也可以使用微信公众号实现消息推送。

微信认证

不管什么方式都需要企业认证,认证方式如下:
需要支付300每次的认证费用
公众号企业认证流程

消息推送

服务号

  1. text消息
  2. image消息
  3. voice消息
  4. video消息
  5. file消息
  6. news消息
  7. mpnews消息

text消息

{"touser": "UserID1|UserID2|UserID3","toparty": " PartyID1 | PartyID2 ","totag": " TagID1 | TagID2 ","msgtype": "text","agentid": 1,"text": {"content": "Holiday Request For Pony(http://xxxxx)"},"safe":0
}

参数 必须 说明
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty 否 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
totag 否 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
msgtype 是 消息类型,此时固定为:text (支持消息型应用跟主页型应用)
agentid 是 企业应用的id,整型。可在应用的设置页面查看
content 是 消息内容,最长不超过2048个字节,注意:主页型应用推送的文本消息在微信端最多只显示20个字(包含中英文)
safe 否 表示是否是保密消息,0表示否,1表示是,默认0

image消息

{"touser": "UserID1|UserID2|UserID3","toparty": " PartyID1 | PartyID2 ","totag": " TagID1 | TagID2 ","msgtype": "image","agentid": 1,"image": {"media_id": "MEDIA_ID"},"safe":0
}

参数 必须 说明
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty 否 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
totag 否 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
msgtype 是 消息类型,此时固定为:image(不支持主页型应用)
agentid 是 企业应用的id,整型。可在应用的设置页面查看
media_id 是 图片媒体文件id,可以调用上传临时素材或者永久素材接口获取,永久素材media_id必须由发消息的应用创建
safe 否 表示是否是保密消息,0表示否,1表示是,默认0

voice消息

{"touser": "UserID1|UserID2|UserID3","toparty": " PartyID1 | PartyID2 ","totag": " TagID1 | TagID2 ","msgtype": "voice","agentid": 1,"voice": {"media_id": "MEDIA_ID"},"safe":0
}

参数 必须 说明
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty 否 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
totag 否 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
msgtype 是 消息类型,此时固定为:voice (不支持主页型应用)
agentid 是 企业应用的id,整型。可在应用的设置页面查看
media_id 是 语音文件id,可以调用上传临时素材或者永久素材接口获取
safe 否 表示是否是保密消息,0表示否,1表示是,默认0

video消息

{"touser": "UserID1|UserID2|UserID3","toparty": " PartyID1 | PartyID2 ","totag": " TagID1 | TagID2 ","msgtype": "video","agentid": 1,"video": {"media_id": "MEDIA_ID","title": "Title","description": "Description"},"safe":0
}

参数 必须 说明
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty 否 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
totag 否 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
msgtype 是 消息类型,此时固定为:video (不支持主页型应用)
agentid 是 企业应用的id,整型。可在应用的设置页面查看
media_id 是 视频媒体文件id,可以调用上传临时素材或者永久素材接口获取
title 否 视频消息的标题,不超过128个字节,超过会自动截断
description 否 视频消息的描述,不超过512个字节,超过会自动截断
safe 否 表示是否是保密消息,0表示否,1表示是,默认0

file消息

{"touser": "UserID1|UserID2|UserID3","toparty": " PartyID1 | PartyID2 ","totag": " TagID1 | TagID2 ","msgtype": "file","agentid": 1,"file": {"media_id": "MEDIA_ID"},"safe":"0"
}

参数 必须 说明
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty 否 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
totag 否 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
msgtype 是 消息类型,此时固定为:file (不支持主页型应用)
agentid 是 企业应用的id,整型。可在应用的设置页面查看
media_id 是 媒体文件id,可以调用上传临时素材或者永久素材接口获取
safe 否 表示是否是保密消息,0表示否,1表示是,默认0

news消息

{"touser": "UserID1|UserID2|UserID3","toparty": " PartyID1 | PartyID2 ","totag": " TagID1 | TagID2 ","msgtype": "news","agentid": 1,"news": {"articles":[{"title": "Title","description": "Description","url": "URL","picurl": "PIC_URL"},{"title": "Title","description": "Description","url": "URL","picurl": "PIC_URL"}    ]}
}

参数 必须 说明
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty 否 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
totag 否 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
msgtype 是 消息类型,此时固定为:news (不支持主页型应用)
agentid 是 企业应用的id,整型。可在应用的设置页面查看
articles 是 图文消息,一个图文消息支持1到8条图文
title 否 标题,不超过128个字节,超过会自动截断
description 否 描述,不超过512个字节,超过会自动截断
url 否 点击后跳转的链接。
picurl 否 图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图640320,小图8080。如不填,在客户端不显示图片

mpnews消息

注:mpnews消息与news消息类似,不同的是图文消息内容存储在微信后台,并且支持保密选项。每个应用每天最多可以发送100次。

a)发送时直接带上mpnews内容:

{"touser": "UserID1|UserID2|UserID3","toparty": " PartyID1 | PartyID2 ","totag": " TagID1 | TagID2 ","msgtype": "mpnews","agentid": 1,"mpnews": {"articles":[{"title": "Title","thumb_media_id": "id","author": "Author","content_source_url": "URL","content": "Content","digest": "Digest description","show_cover_pic": "0"},{"title": "Title","thumb_media_id": "id","author": "Author","content_source_url": "URL","content": "Content","digest": "Digest description","show_cover_pic": "0"}]},"safe":0
}

参数 必须 说明
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty 否 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
totag 否 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
msgtype 是 消息类型,此时固定为:mpnews (不支持主页型应用)
agentid 是 企业应用的id,整型。可在应用的设置页面查看
articles 是 图文消息,一个图文消息支持1到8个图文
title 是 图文消息的标题,不超过128个字节,超过会自动截断
thumb_media_id 是 图文消息缩略图的media_id, 可以在上传多媒体文件接口中获得。此处thumb_media_id即上传接口返回的media_id
author 否 图文消息的作者,不超过64个字节
content_source_url 否 图文消息点击“阅读原文”之后的页面链接
content 是 图文消息的内容,支持html标签,不超过666 K个字节
digest 否 图文消息的描述,不超过512个字节,超过会自动截断
show_cover_pic 否 是否显示封面,1为显示,0为不显示
safe 否 表示是否是保密消息,0表示否,1表示是,默认0

b)发送时使用永久图文素材ID:

{"touser": "UserI1|UserID2|UserID3", "toparty": " PartyID1 | PartyID2 ", "msgtype": "mpnews", "agentid": 1, "mpnews": {"media_id": "MEDIA_ID"}, "safe": 0
}

参数 必须 说明
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty 否 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
totag 否 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
msgtype 是 消息类型,此时固定为:mpnews (不支持主页型应用)
agentid 是 企业应用的id,整型。可在应用的设置页面查看
media_id 是 素材资源标识ID,通过上传永久图文素材接口获得。注:必须是在该agent下创建的。
safe 否 表示是否是保密消息,0表示否,1表示是,默认0

企业微信数据接口

消息类型
文本消息
图片消息
语音消息
视频消息
文件消息
文本卡片消息
图文消息
图文消息(mpnews)

应用支持推送文本、图片、视频、文件、图文等类型。

请求方式:POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

参数说明:

参数 是否必须 说明
access_token 是 调用接口凭证
各个消息类型的具体POST格式请阅后续“消息类型”部分。
如果有在管理端对应用设置“在微工作台中始终进入主页”,应用在微信端只能接收到文本消息,并且文本消息的长度限制为20字节,超过20字节会被截断。同时其他消息类型也会转换为文本消息,提示用户到企业微信查看。
支持id转译,将userid/部门id转成对应的用户名/部门名,目前仅文本/文本卡片/图文/图文(mpnews)这四种消息类型的部分字段支持。具体支持的范围和语法,请查看附录id转译说明。
支持重复消息检查,当指定 “enable_duplicate_check”: 1开启: 表示在一定时间间隔内,同样内容(请求json)的消息,不会重复收到;时间间隔可通过duplicate_check_interval指定,默认1800秒。
返回示例:

 {"errcode" : 0,"errmsg" : "ok","invaliduser" : "userid1|userid2", // 不区分大小写,返回的列表都统一转为小写"invalidparty" : "partyid1|partyid2","invalidtag": "tagid1|tagid2"}

如果部分接收人无权限或不存在,发送仍然执行,但会返回无效的部分(即invaliduser或invalidparty或invalidtag),常见的原因是接收人不在应用的可见范围内。
如果全部接收人无权限或不存在,则本次调用返回失败,errcode为81013。

后台开发

选择第三方推送工具或者自己开发消息推送后台

开发实现案例
1、微信企业号下的消息推送
2、微信企业号开发:主动发送消息

微信企业消息推送方案相关推荐

  1. 企业微信推送消息延迟_一种基于企业微信的消息推送方法与流程

    本发明涉及消息推送技术领域,特别涉及一种基于企业微信的消息推送方法. 背景技术: 随着微信公众号的普及,微信企业号也越来越受到人们的关注.而腾讯公司在微信企业号的基础上又进行了进一步的升级,提供了类似 ...

  2. 5行代码实现微信模版消息推送,springboot实现微信推送,java微信推送

    视频讲解:https://edu.csdn.net/course/detail/23750 今天来带大家学习下微信模版消息推送. 先看效果图: 核心代码只有下面几行,即可轻松实现微信模版消息推送 // ...

  3. php 异步请求微信模板消息_php实现微信模板消息推送

    本文实例为大家分享了php微信模板消息推送的具体代码,供大家参考,具体内容如下 1.微信公众号模板消息配置 2.PHP代码/*** 发送模板消息*/ public function send_noti ...

  4. springboot实现微信模板消息推送

    springboot实现微信模板消息推送 在上一篇文章我们已经知道了怎么获取openid 还不知道的可以查看我的上一篇文章springboot+微信小程序用codeid换取openid 这次我们不光要 ...

  5. java 微信模板_java开发微信模板消息推送

    概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添 ...

  6. PHP之 微信模板消息推送 的相关代码

    温馨提示: 微信模板消息推送,得先去微信端,设置模板配置,会生成相应的消息模板id,这个是一串字符,需连同参数数据,传给微信端,切记!~ 第一部分:主体部分代码,负责业务模块,准备微信端所需参数 /* ...

  7. uni-app消息推送方案

    一.引言 uni-app是支持消息推送的,参考如下文档: UniPush介绍 UniPush使用指南 UniPush开通指南 如何自定义推送通知的图标? 在 uni-app 中使用 UniPush 二 ...

  8. java开发微信模板消息推送

    完整demo下载 概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公 ...

  9. 【个人开发】通过企业微信实现消息推送到个人微信

    1. 背景 个人有个消息推送到任务,一直在飞书上跑,消息触达率太低,寻思着尝试用一些方法,将消息推送到微信. 2. 写在前面 坑1:寻思着企业微信有机器人,将机器人所在群拉上微信号,结果,企业微信不允 ...

  10. qhfl-9 微信模板消息推送

    开发中用的是测试号 微信公众号认证流程 用户登陆 <!DOCTYPE html> <html lang="en"> <head><meta ...

最新文章

  1. java 连nosql_浅谈 Java 中 MongoDB NoSQL数据库使用指南
  2. FFmpegInterop 库在 Windows 10 应用中的编译使用
  3. 将列表打印为表格数据
  4. python3.7安装步骤-Python 3.7.0安装教程(附安装包) | 我爱分享网
  5. CAD测量图纸时数据显示不出来怎么办?
  6. ImmunoChemistry艾美捷总细胞毒性试验试剂盒方案
  7. 苹果的移动设备上跑flash
  8. ABP vNext初始化种子数据
  9. 中国企业实施ERP的难点攻略
  10. 解忧杂货店札记:深夜的口琴声
  11. Ipinstall软件工具-可视对讲
  12. Python使用xpath解析html获取表情符号 emoji
  13. 第七届电工专项 如何进行焊接
  14. 谁说菜鸟不会数据分析(工具篇)
  15. 智能车英飞凌组别PCB开源
  16. android专业相机,安卓专业相机软件CameraFV极致相机授权版
  17. 微信会员卡积分收银系统源码+搭建教程
  18. html鼠标自动向下滑动,html – 使用鼠标滚轮滚动到下一个或上一个div
  19. App提交苹果审核被拒原因总结
  20. echarts CDN 地址

热门文章

  1. kdj买卖指标公式源码_买卖点KDJ (副图指标 源码 )
  2. matlab 指定ccs编译器,在CCS5.5中导入CCS3.3工程——指定编译器和修改prj文件
  3. 分析 2017年淘宝天猫活动时间安排
  4. ecplise插入图片太大_PPT文件太大?100M的PPT一秒变18M,这个压缩方法实在绝了
  5. tp6验证码无法验证
  6. pyodbc 连接oracle
  7. 用postman GET调试阿里云银行卡二、三、四要素实名认证
  8. 自己建网站的步骤及方法
  9. 逻辑数据库设计 - 需要ID(谈主键Id)
  10. 台式电脑硬件维修操作规范