企微机器人使用及内容配置文档

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    如何使用群机器人
    在终端某个群组添加机器人之后创建者可以在机器人详情页看的该机器人特有的webhookurl。开发者可以按以下说明a向这个地址发起HTTP POST 请求即可实现给该群组发送消息。下面举个简单的例子.
    假设webhook是https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-6xxx-4bc4-97a0-0ec2sifa5aaa
    特别特别要注意一定要保护好机器人的webhook地址避免泄漏不要分享到github、博客等可被公开查阅的地方否则坏人就可以用你的机器人来发垃圾消息了。
    以下是用curl工具往群组推送文本消息的示例注意要将url替换成你的机器人webhook地址content必须是utf8编码

    curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693axxx6-7aoc-4bc4-97a0-0ec2sifa5aaa' \
       -H 'Content-Type: application/json' \
       -d '
       {
            "msgtype": "text",
            "text": {
                "content": "hello world"
            }
       }'
    

    当前自定义机器人支持文本text、markdownmarkdown、图片image、图文news四种消息类型。
    机器人的text/markdown类型消息支持在content中使用<@userid>扩展语法来@群成员
    消息类型及数据格式

    1、文本类型

    {
        "msgtype": "text",
        "text": {
            "content": "广州今日天气29度大部分多云降雨概率60%",
            "mentioned_list":["wangqing","@all"],
            "mentioned_mobile_list":["13800001111","@all"]
        }
    }
    
    aa
    a
    参数是否必填说明
    msgtype消息类型此时固定为text
    content文本内容最长不超过2048个字节必须是utf8编码
    mentioned_listuserid的列表提醒群中的指定成员(@某个成员)@all表示提醒所有人如果开发者获取不到userid可以使用mentioned_mobile_list
    mentioned_mobile_list手机号列表提醒手机号对应的群成员(@某个成员)@all表示提醒所有人

    2、markdown类型

    {
        "msgtype": "markdown",
        "markdown": {
            "content": "实时新增用户反馈<font color=\"warning\">132</font>请相关同事注意。\n
             >类型:<font color=\"comment\">用户反馈</font>
             >普通用户反馈:<font color=\"comment\">117</font>
             >VIP用户反馈:<font color=\"comment\">15例</font>"
        }
    }
    
    参数是否必填说明
    msgtype消息类型此时固定为markdown
    contentmarkdown内容最长不超过4096个字节必须是utf8编码

    目前支持的markdown语法是如下的子集

    标题 支持1至6级标题注意#与文字中间要有空格
    # 标题一
    ## 标题二
    ### 标题三
    #### 标题四
    ##### 标题五
    ###### 标题六
    加粗
    **bold**
    链接
    [这是一个链接](http://work.weixin.qq.com/api/doc)
    行内代码段暂不支持跨行
    `code`
    引用
    > 引用文字
    字体颜色(只支持3种内置颜色)
    <font color="info">绿色</font>
    <font color="comment">灰色</font>
    <font color="warning">橙红色</font>
    

    3、图片类型

    {
        "msgtype": "image",
        "image": {
            "base64": "DATA",
            "md5": "MD5"
        }
    }
    
    参数是否必填说明
    msgtype消息类型此时固定为image
    base64图片内容的base64编码
    md5图片内容base64编码前的md5值纯二进制编码为base64的结果不携带头部信息data:image/jpeg;base64,***

    注图片base64编码前最大不能超过2M支持JPG,PNG格式

    4、图文类型

    {
        "msgtype": "news",
        "news": {
           "articles" : [
               {
                   "title" : "中秋节礼品领取",
                   "description" : "今年中秋节公司有豪礼相送",
                   "url" : "www.qq.com",
                   "picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
               }
            ]
        }
    }
    
    参数是否必填说明
    msgtype消息类型此时固定为news
    articles图文消息一个图文消息支持1到8条图文
    title标题不超过128个字节超过会自动截断
    description描述不超过512个字节超过会自动截断
    url点击后跳转的链接。
    picurl图文消息的图片链接支持JPG、PNG格式较好的效果为大图 1068455小图150150。

    5、文件类型

    {
        "msgtype": "file",
        "file": {
             "media_id": "3a8asd892asd8asd"
        }
    }
    
    参数是否必填说明
    msgtype消息类型此时固定为file
    media_id文件id通过下文的文件上传接口获取

    6、模版卡片类型

    文本通知模版卡片

    在这里插入图片描述

    {
        "msgtype":"template_card",
        "template_card":{
            "card_type":"text_notice",
            "source":{
                "icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0",
                "desc":"企业微信",
                "desc_color":0
            },
            "main_title":{
                "title":"欢迎使用企业微信",
                "desc":"您的好友正在邀请您加入企业微信"
            },
            "emphasis_content":{
                "title":"100",
                "desc":"数据含义"
            },
            "quote_area":{
                "type":1,
                "url":"https://work.weixin.qq.com/?from=openApi",
                "appid":"APPID",
                "pagepath":"PAGEPATH",
                "title":"引用文本标题",
                "quote_text":"Jack企业微信真的很好用~\nBalian超级好的一款软件"
            },
            "sub_title_text":"下载企业微信还能抢红包",
            "horizontal_content_list":[
                {
                    "keyname":"邀请人",
                    "value":"张三"
                },
                {
                    "keyname":"企微官网",
                    "value":"点击访问",
                    "type":1,
                    "url":"https://work.weixin.qq.com/?from=openApi"
                },
                {
                    "keyname":"企微下载",
                    "value":"企业微信.apk",
                    "type":2,
                    "media_id":"MEDIAID"
                }
            ],
            "jump_list":[
                {
                    "type":1,
                    "url":"https://work.weixin.qq.com/?from=openApi",
                    "title":"企业微信官网"
                },
                {
                    "type":2,
                    "appid":"APPID",
                    "pagepath":"PAGEPATH",
                    "title":"跳转小程序"
                }
            ],
            "card_action":{
                "type":1,
                "url":"https://work.weixin.qq.com/?from=openApi",
                "appid":"APPID",
                "pagepath":"PAGEPATH"
            }
        }
    }
    

    请求参数

    参数类型是否必填说明
    msgtypeString消息类型此时的消息类型固定为template_card
    template_cardObject具体的模版卡片参数

    template_card的参数说明

    参数类型是否必填说明
    card_typeString模版卡片的模版类型文本通知模版卡片的类型为text_notice
    sourceObject卡片来源样式信息不需要来源样式可不填写
    source.icon_urlString来源图片的url
    source.descString来源图片的描述建议不超过13个字
    source.desc_colorInt来源文字的颜色目前支持0(默认)灰色1黑色2红色3绿色
    main_titleObject模版卡片的主要内容包括一级标题和标题辅助信息
    main_title.titleString一级标题建议不超过26个字。模版卡片主要内容的一级标题main_title.title和二级普通文本sub_title_text必须有一项填写
    main_title.descString标题辅助信息建议不超过30个字
    emphasis_contentObject关键数据样式
    emphasis_content.titleString关键数据样式的数据内容建议不超过10个字
    emphasis_content.descString关键数据样式的数据描述内容建议不超过15个字
    quote_areaObject引用文献样式建议不与关键数据共用
    quote_area.typeInt引用文献样式区域点击事件0或不填代表没有点击事件1代表跳转url2代表跳转小程序
    quote_area.urlString点击跳转的urlquote_area.type是1时必填
    quote_area.appidString点击跳转的小程序的appidquote_area.type是2时必填
    quote_area.pagepathString点击跳转的小程序的pagepathquote_area.type是2时选填
    quote_area.titleString引用文献样式的标题
    quote_area.quote_textString引用文献样式的引用文案
    sub_title_textString二级普通文本建议不超过112个字。模版卡片主要内容的一级标题main_title.title和二级普通文本sub_title_text必须有一项填写
    horizontal_content_listObject[]二级标题+文本列表该字段可为空数组但有数据的话需确认对应字段是否必填列表长度不超过6
    horizontal_content_list.typeInt链接类型0或不填代表是普通文本1代表跳转url2代表下载附件3代表@员工
    horizontal_content_list.keynameString二级标题建议不超过5个字
    horizontal_content_list.valueString二级文本如果horizontal_content_list.type是2该字段代表文件名称要包含文件类型建议不超过26个字
    horizontal_content_list.urlString链接跳转的urlhorizontal_content_list.type是1时必填
    horizontal_content_list.media_idString附件的media_idhorizontal_content_list.type是2时必填
    horizontal_content_list.useridString被@的成员的useridhorizontal_content_list.type是3时必填
    jump_listObject[]跳转指引样式的列表该字段可为空数组但有数据的话需确认对应字段是否必填列表长度不超过3
    jump_list.typeInt跳转链接类型0或不填代表不是链接1代表跳转url2代表跳转小程序
    jump_list.titleString跳转链接样式的文案内容建议不超过13个字
    jump_list.urlString跳转链接的urljump_list.type是1时必填
    jump_list.appidString跳转链接的小程序的appidjump_list.type是2时必填
    jump_list.pagepathString跳转链接的小程序的pagepathjump_list.type是2时选填
    card_actionObject整体卡片的点击跳转事件text_notice模版卡片中该字段为必填项
    card_action.typeInt卡片跳转类型1代表跳转url2代表打开小程序。text_notice模版卡片中该字段取值范围为[1,2]
    card_action.urlString跳转事件的urlcard_action.type是1时必填
    card_action.appidString跳转事件的小程序的appidcard_action.type是2时必填
    card_action.pagepathString跳转事件的小程序的pagepathcard_action.type是2时选填

    图文展示模版卡片

    在这里插入图片描述

    {
        "msgtype":"template_card",
        "template_card":{
            "card_type":"news_notice",
            "source":{
                "icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0",
                "desc":"企业微信",
                "desc_color":0
            },
            "main_title":{
                "title":"欢迎使用企业微信",
                "desc":"您的好友正在邀请您加入企业微信"
            },
            "card_image":{
                "url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0",
                "aspect_ratio":2.25
            },
            "image_text_area":{
                "type":1,
                "url":"https://work.weixin.qq.com",
                "title":"欢迎使用企业微信",
                "desc":"您的好友正在邀请您加入企业微信",
                "image_url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0"
            },
            "quote_area":{
                "type":1,
                "url":"https://work.weixin.qq.com/?from=openApi",
                "appid":"APPID",
                "pagepath":"PAGEPATH",
                "title":"引用文本标题",
                "quote_text":"Jack企业微信真的很好用~\nBalian超级好的一款软件"
            },
            "vertical_content_list":[
                {
                    "title":"惊喜红包等你来拿",
                    "desc":"下载企业微信还能抢红包"
                }
            ],
            "horizontal_content_list":[
                {
                    "keyname":"邀请人",
                    "value":"张三"
                },
                {
                    "keyname":"企微官网",
                    "value":"点击访问",
                    "type":1,
                    "url":"https://work.weixin.qq.com/?from=openApi"
                },
                {
                    "keyname":"企微下载",
                    "value":"企业微信.apk",
                    "type":2,
                    "media_id":"MEDIAID"
                }
            ],
            "jump_list":[
                {
                    "type":1,
                    "url":"https://work.weixin.qq.com/?from=openApi",
                    "title":"企业微信官网"
                },
                {
                    "type":2,
                    "appid":"APPID",
                    "pagepath":"PAGEPATH",
                    "title":"跳转小程序"
                }
            ],
            "card_action":{
                "type":1,
                "url":"https://work.weixin.qq.com/?from=openApi",
                "appid":"APPID",
                "pagepath":"PAGEPATH"
            }
        }
    }
    

    请求参数

    参数类型是否必填说明
    msgtypeString模版卡片的消息类型为template_card
    template_cardObject具体的模版卡片参数

    template_card的参数说明

    参数类型是否必填说明
    card_typeString模版卡片的模版类型图文展示模版卡片的类型为news_notice
    sourceObject卡片来源样式信息不需要来源样式可不填写
    source.icon_urlString来源图片的url
    source.descString来源图片的描述建议不超过13个字
    source.desc_colorInt来源文字的颜色目前支持0(默认)灰色1黑色2红色3绿色
    main_titleObject模版卡片的主要内容包括一级标题和标题辅助信息
    main_title.titleString一级标题建议不超过26个字
    main_title.descString标题辅助信息建议不超过30个字
    card_imageObject图片样式
    card_image.urlString图片的url
    card_image.aspect_ratioFloat图片的宽高比宽高比要小于2.25大于1.3不填该参数默认1.3
    image_text_areaObject左图右文样式
    image_text_area.typeInt左图右文样式区域点击事件0或不填代表没有点击事件1代表跳转url2代表跳转小程序
    image_text_area.urlString点击跳转的urlimage_text_area.type是1时必填
    image_text_area.appidString点击跳转的小程序的appid必须是与当前应用关联的小程序image_text_area.type是2时必填
    image_text_area.pagepathString点击跳转的小程序的pagepathimage_text_area.type是2时选填
    image_text_area.titleString左图右文样式的标题
    image_text_area.descString左图右文样式的描述
    image_text_area.image_urlString左图右文样式的图片url
    quote_areaObject引用文献样式建议不与关键数据共用
    quote_area.typeInt引用文献样式区域点击事件0或不填代表没有点击事件1代表跳转url2代表跳转小程序
    quote_area.urlString点击跳转的urlquote_area.type是1时必填
    quote_area.appidString点击跳转的小程序的appidquote_area.type是2时必填
    quote_area.pagepathString点击跳转的小程序的pagepathquote_area.type是2时选填
    quote_area.titleString引用文献样式的标题
    quote_area.quote_textString引用文献样式的引用文案
    vertical_content_listObject[]卡片二级垂直内容该字段可为空数组但有数据的话需确认对应字段是否必填列表长度不超过4
    vertical_content_list.titleString卡片二级标题建议不超过26个字
    vertical_content_list.descString二级普通文本建议不超过112个字
    horizontal_content_listObject[]二级标题+文本列表该字段可为空数组但有数据的话需确认对应字段是否必填列表长度不超过6
    horizontal_content_list.typeInt模版卡片的二级标题信息内容支持的类型1是url2是文件附件
    horizontal_content_list.keynameString二级标题建议不超过5个字
    horizontal_content_list.valueString二级文本如果horizontal_content_list.type是2该字段代表文件名称要包含文件类型建议不超过26个字
    horizontal_content_list.urlString链接跳转的urlhorizontal_content_list.type是1时必填
    horizontal_content_list.media_idString附件的media_idhorizontal_content_list.type是2时必填
    jump_listObject[]跳转指引样式的列表该字段可为空数组但有数据的话需确认对应字段是否必填列表长度不超过3
    jump_list.typeInt跳转链接类型0或不填代表不是链接1代表跳转url2代表跳转小程序
    jump_list.titleString跳转链接样式的文案内容建议不超过13个字
    jump_list.urlString跳转链接的urljump_list.type是1时必填
    jump_list.appidString跳转链接的小程序的appidjump_list.type是2时必填
    jump_list.pagepathString跳转链接的小程序的pagepathjump_list.type是2时选填
    card_actionObject整体卡片的点击跳转事件news_notice模版卡片中该字段为必填项
    card_action.typeInt卡片跳转类型1代表跳转url2代表打开小程序。news_notice模版卡片中该字段取值范围为[1,2]
    card_action.urlString跳转事件的urlcard_action.type是1时必填
    card_action.appidString跳转事件的小程序的appidcard_action.type是2时必填
    card_action.pagepathString跳转事件的小程序的pagepathcard_action.type是2时选填消息发送频率限制

    每个机器人发送的消息不能超过20条/分钟。

    7、文件上传接口

    素材上传得到media_id该media_id仅三天内有效
    media_id只能是对应上传文件的机器人可以使用

    请求方式POSTHTTPS
    请求地址https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=KEY&type=TYPE

    使用multipart/form-data POST上传文件 文件标识名为”media”
    参数说明

    参数类型是否必填说明
    key调用接口凭证,机器人webhookurl中的key参数
    type固定传file

    POST的请求包中form-data中媒体文件标识应包含有 filename、filelength、content-type等信息

    filename标识文件展示的名称。比如使用该media_id发消息时展示的文件名由该字段控制

    请求示例

    POST https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa&type=file HTTP/1.1
    Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
    Content-Length: 220
    ---------------------------acebdf13572468
    Content-Disposition: form-data; name="media";filename="wework.txt"; filelength=6
    Content-Type: application/octet-stream
    mytext
    ---------------------------acebdf13572468--
    

    返回数据

    {
       "errcode": 0,
       "errmsg": "ok",
       "type": "file",
       "media_id": "1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0",
       "created_at": "1380000000"
    }
    

    参数说明

    参数说明
    type媒体文件类型分别有图片image、语音voice、视频video普通文件(file)
    media_id媒体文件上传后获取的唯一标识3天内有效
    created_at媒体文件上传时间戳

    上传的文件限制要求文件大小在5B~20M之间

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6