消息效果和企业微信注册相关见云函数版 wx-msg-push-tencent
- 支持多企业微信应用
- 配置文件修改保存即生效,不需要重启服务
- 支持 mediaid 动态传入
- 支持容器化运行
该部分内容随着时间变化可能已经不完全准确,仅供参考,具体以企业微信文档为主。目前支持发送的应用消息类型为:
- 图文消息(mpnews),消息内容支持html标签,不超过666K个字节,会自动生成摘要替换br标签为换行符,过滤html标签。
- 文本消息(text),消息内容最长不超过2048个字节,超过将截断。
- markdown消息(markdown),markdown内容,最长不超过2048个字节,必须是utf8编码。(支持的markdown语法)
每企业消息发送不可超过帐号上限数*30人次/天(注:若调用api一次发给1000人,算1000人次;若企业帐号上限是500人,则每天可发送15000人次的消息)
每应用对同一个成员不可超过30条/分,超过部分会被丢弃不下发
默认未启用重复消息推送检查,如果修改请参考配置文件。
配置参数说明:
key | example | intro |
---|---|---|
addr | ":8777" | 端口 |
maxhttptime | "5s" | 请求超时时间,秒 |
corpid | "" | 企业微信id |
corpsecret | "" | 企业微信应用Secret |
agentid | 1000002 | 企业微信应用AgentId |
mediaid | "" | 企业微信图片素材的media_id(如果仅使用文本消息可随意填写) |
enableduplicatecheck | 0 | 是否开启重复消息检测 1:开 0:关 |
duplicatecheckinterval | 0 | 重复消息时间间隔 单位秒 |
非必要参数可省略
$ docker run -d -p 8777:8777 zyh94946/wx-msg-push server -m 'addr=:8777,corpid=xxx,corpsecret=xxx,agentid=1000002'
docker-compose 请参考 docker-compose.yml
$ docker-compose up -d
-
从 releases 中下载预编译的包。或 clone 本项目后执行编译
make build
,编译其它平台参考Makefile
。或者go get -u github.com/zyh94946/wx-msg-push
直接安装可执行文件至$GOPATH/bin
。 -
修改配置文件
config.toml
, 中的运行端口、企业微信配置。 -
运行
wx-msg-push server -c config.toml
请自行处理域名绑定和转发。
消息类型值:text
代表文本消息,mpnews
代表图文消息,markdown
代表 markdown 消息。为兼容旧版本,不传默认为图文消息。
支持推送消息至指定的 touser
, toparty
, totag
。不传默认设置 touser=@all
mediaid 不使用可以不传,mediaid 为空则取配置文件中的 mediaid。
GET方式
http://ip:port/CORP_SECRET?title=消息标题&content=消息内容&type=消息类型&mediaid=mediaid
POST方式
$ curl --location --request POST 'http://ip:port/CORP_SECRET' \
--header 'Content-Type: application/json;charset=utf-8' \
--data-raw '{"title":"消息标题","content":"消息内容","type":"消息类型","mediaid":"mediaid"}'
发送成功状态码返回200,"Content-Type":"application/json"
body {"errorCode":0,"errorMessage":""}
。
发送失败问题排查:
- 请检查配置是否正确
- 请检查发送url中CORP_SECRET是否正确
- 根据返回结果、日志找原因