View Source WeChat.Work.Message (wechat v0.16.0)
消息推送
Summary
Types
@type content() :: String.t()
@type msg() :: map()
@type msg_id() :: String.t()
消息ID
@type msg_type() :: String.t()
消息类型
text
: 文本消息image
: 图片消息voice
: 语音消息video
: 视频消息file
: 文件消息textcard
: 文本卡片消息news
: 图文消息mpnews
: 图文消息(mpnews)markdown
: markdown消息miniprogram_notice
: 小程序通知消息template_card
: 模板卡片消息
@type opts() :: Enumerable.t()
Functions
@spec recall(WeChat.Work.client(), WeChat.Work.agent(), msg_id()) :: WeChat.response()
撤回应用消息 - 官方文档
@spec send(WeChat.Work.client(), WeChat.Work.agent(), to(), msg_type(), msg(), opts()) :: WeChat.response()
@spec send_file( WeChat.Work.client(), WeChat.Work.agent(), to(), WeChat.Work.Material.media_id(), opts() ) :: WeChat.response()
发送文件消息 - 官方文档
@spec send_image( WeChat.Work.client(), WeChat.Work.agent(), to(), WeChat.Work.Material.media_id(), opts() ) :: WeChat.response()
发送图片消息 - 官方文档
@spec send_markdown( WeChat.Work.client(), WeChat.Work.agent(), to(), content(), opts() ) :: WeChat.response()
发送markdown消息 - 官方文档
@spec send_message(WeChat.Work.client(), WeChat.Work.agent(), body :: map()) :: WeChat.response()
发送应用消息 - 官方文档
应用支持推送文本、图片、视频、文件、图文等类型。
- 各个消息类型的具体POST格式请阅后续“消息类型”部分。
- 如果有在管理端对应用设置“在微工作台中始终进入主页”,应用在微信端只能接收到文本消息,并且文本消息的长度限制为20字节,超过20字节会被截断。同时其他消息类型也会转换为文本消息,提示用户到企业微信查看。
- 支持id转译,将userid/部门id转成对应的用户名/部门名,目前仅文本/文本卡片/图文/图文(mpnews)这四种消息类型的部分字段支持。仅第三方应用需要用到,企业自建应用可以忽略。具体支持的范围和语法,请查看附录id转译说明。
- 支持重复消息检查,当指定 "enable_duplicate_check": 1开启: 表示在一定时间间隔内,同样内容(请求json)的消息,不会重复收到;时间间隔可通过duplicate_check_interval指定,默认1800秒。
- 从2021年2月4日开始,企业关联添加的「小程序」应用,也可以发送文本、图片、视频、文件、图文等各种类型的消息了。
@spec send_miniprogram_notice( WeChat.Work.client(), WeChat.Work.agent(), to(), msg(), opts() ) :: WeChat.response()
发送小程序通知消息 - 官方文档
@spec send_mpnews(WeChat.Work.client(), WeChat.Work.agent(), to(), msg(), opts()) :: WeChat.response()
发送图文消息(mpnews) - 官方文档
@spec send_news(WeChat.Work.client(), WeChat.Work.agent(), to(), msg(), opts()) :: WeChat.response()
发送图文消息 - 官方文档
@spec send_template_card( WeChat.Work.client(), WeChat.Work.agent(), to(), msg(), opts() ) :: WeChat.response()
发送模板卡片消息 - 官方文档
@spec send_text(WeChat.Work.client(), WeChat.Work.agent(), to(), content(), opts()) :: WeChat.response()
发送文本消息 - 官方文档
Link to this function
send_text_card(client, agent, to, title, description, url, btn_txt, opts \\ [])
View Source@spec send_text_card( WeChat.Work.client(), WeChat.Work.agent(), to(), title :: String.t(), description :: String.t(), url :: String.t(), btn_txt :: String.t(), opts() ) :: WeChat.response()
发送文本卡片消息 - 官方文档
Link to this function
send_video(client, agent, to, media_id, title, description, opts \\ [])
View Source@spec send_video( WeChat.Work.client(), WeChat.Work.agent(), to(), WeChat.Work.Material.media_id(), title :: String.t(), description :: String.t(), opts() ) :: WeChat.response()
发送视频消息 - 官方文档
@spec send_voice( WeChat.Work.client(), WeChat.Work.agent(), to(), WeChat.Work.Material.media_id(), opts() ) :: WeChat.response()
发送语音消息 - 官方文档
@spec update_template_card(WeChat.Work.client(), WeChat.Work.agent(), body :: map()) :: WeChat.response()
更新模版卡片消息 - 官方文档
应用可以发送模板卡片消息,发送之后可再通过接口更新可回调的用户任务卡片消息的替换文案信息 (仅原卡片为 按钮交互型、投票选择型、多项选择型的卡片可以调用本接口更新)。
请注意,当应用调用发送模版卡片消息后,接口会返回一个 response_code
,通过 response_code
用户可以调用本接口一次。
后续如果有用户点击任务卡片,回调接口也会带上 response_code
,开发者通过该 code
也可以调用本接口一次,
注意 response_code
的有效期是24小时,超过24小时后将无法使用。