发送应用消息

权限说明: 需先注册一个机器人并与轻应用建立关联关系后,通过传入轻应用的app_id来使用机器人进行消息的推送。

支持发送card(卡片)、rtf(富文本richtext)、link(链接)及attachment(附件)类型消息

  • 请求

    • 地址:https://open-ushu.hillinsight.tech/cgi/message/send_single?access_token=xxxxx
    • method: POST
    • content-type: application/json
    • 请求参数
    参数 类型 是否必须 说明 示例
    portal String 公司 testprotal
    app_id String 发送的轻应用id testappid
    touser Array 接收者的open_id数组 ["ekn6rj6xmyj5gvz1", "dz4pxoeex9o36n7e"]
    msgtype String 推送消息类型 目前只支持 "rtf"(富文本,可以带html标签), "link"(链接文章),"card"(图文卡片)及"attachment"(附件)四种消息类型 rtf
    msg Object 消息内容 详见msg消息
    need_msg_id Boolean 是否需要返回发送成功的msgId true: 需要 false: 不需要,默认false true
    no_forward Boolean 消息转发控制 true: 禁止转发 false: 允许转发 默认为false表示允许消息被转发 true
    • msg消息说明(只支持这些字段)
    参数名称 类型 是否必输 说明 示例
    content String 消息的内容,若发送rtf及card类型消息此字段需要传入,目前rtf支持的文本长度不能超过60000 测试内容
    url String link及card类型消息的跳转链接地址 https://www.ushu.tech/?lang=en
    title String link类型消息的标题 我是一个标题
    attachmentId String link、card及attachment类型消息的附件id(获取方式见下方文件上传接口) 7821688145847456921
    hiddenContent String rtf类型消息时传入 隐藏消息内容 测试内容
    quotedText String rtf类型消息时传入 引用内容 test
    buttonInfo List rtf类型消息时传入 按钮信息列表 详见下方Button
    • Button内容说明
    参数名称 类型 是否必输 说明 示例
    type int 按钮类型 1: REPLY 2: LINK 2
    textInfo List 国际化的按钮信息 详见下方I8nText
    url String 默认跳转链接地址
    multiUrl Object 多端跳转链接 详见下方 multiUrl
    • I18nText内容说明
    参数名称 类型 是否必输 说明 示例
    lang String 语言类型 zh: 中文 en: 英文 zh
    text String 按钮上的文字内容 回复
    • multiUrl内容说明
    参数名称 类型 是否必输 说明 示例
    pcUrl String PC端跳转链接地址 http://www.baidu.com
    iosUrl String IOS端跳转链接地址 http://www.baidu.com
    androidUrl String 安卓端跳转链接地址 http://www.baidu.com
    • 请求Body 示例:
{
      "portal":"A9OzNNOV",
      "app_id":"gdn3k53qkm",
      "touser":["5ly8v1v5g70qxm3j"],
      "msgtype":"card",
      "msg":{
   	     "content":"我是一个card消息",
   	     "url": "https://mp.weixin.qq.com/s?__biz=MzAxMDY5MTc5Mw==&mid=2651322219&idx=1&sn=e1d741ea1aa7eb43bdf1830cc841f40c&chksm=80bf22d5b7c8abc34d54ebe9403cb3de13b5f4238452fe33d69eff57ab8af1ddfeb370d70446&scene=27#wechat_redirect",
   	     "attachmentId":"7821688145847456921"
    }
}
  • 请求示例: 见最后附注各类型消息请求示例

  • 响应

    • 返回字段

      参数 说明
      error_code 返回码,为0表示成功,非0表示调用失败
      message 返回码提示语
      invaliduser 无效的用户(包含无权限和错误用户)
      invaliddept 无效的部门(包含无权限和错误部门)
      invalidrole 无效的(包含无权限和错误角色)
      failed_user_num 发送失败的用户数量
    • 响应示例

      当need_msg_id为false时,返回结果

      {
         "error_code" : 0,
         "message" : "success",
         "result": {
              "invaliduser" : ["whos","dontkonw"],
              "invaliddept" : [],
              "invalidrole": [],
              "task_id" : 0,
              "send_immediately": true,
              "failed_user_num": 0,
              "senderTimestamp":1607067922220
         }
       }
       
      

      当need_msg_id为true时,返回结果

           {
              "error_code":0,
              "message":"Success",
              "result":{
                  "failed_user_num":0,
                  "send_immediately":true,
                  "task_id":0,
                  "senderTimestamp":1607067922220,
                  "msg_id_list":[
                      {
                          "msgId":3791854,
                          "openId":"yjo9803krz2v5nkq",
                          "serverTimestamp":1607067924244
                      },
                      {
                          "msgId":3791853,
                          "openId":"5ly8v1v5g70qxm3j",
                          "serverTimestamp":1607067924215
                      }
                  ]
              }
          }
           
      

文件预上传(获取上传码)接口

  • 请求

    • 地址:https://open-ushu.hillinsight.tech/cgi/media/get_upload_code?access_token=xxx
    • method: GET
    • 请求参数:
    参数 类型 是否必须 说明 示例
    app_id String 发送的轻应用id testappid
    portal String 公司 testprotal
    • curl 请求示例
    curl -XGET https://open-ushu.hillinsight.tech/cgi/media/get_upload_code?access_token=xxx&app_id=xxx&portal=xxx
    
  • 响应

    • 类型: application/json
    • result响应说明
    参数 说明
    code 上传文件使用的一次性code ,有效期 10分钟
    • 响应示例:
    {
       "error_code": 0,
       "message": "Success",
       "result": {
           "code": "8430243919338771329"
        }
    }
    

文件上传接口

  • 请求

    • 地址: https://bot.hillinsight.tech/file/upload
    • 请求类型: multipart/form-data
    • 方式: POST
    • header 参数:
    参数 类型 是否必须 说明 示例
    code String 文件预上传接口获取的code 8430243919338771329
    • form 字段请求参数:
    参数 类型 是否必须 说明 示例
    file File 文件内容 -
    mediatype 枚举 文件类型(支持的文件类型见下方说明 image/jpeg
    filename String 文件名称 cover.jpg
    voiceFile boolean 是否为语音附件消息的标识 true: 语音附件 false: 非语音附件 默认false false
    duration int 语音附件的时长 单位秒 3
    • 一些mediatype枚举:
    "image/jpeg"
    "image/png"
    "image/gif"
    "documents/pdf"
    "documents/msexcel"
    "application/octet-stream"
    "video/mp4"
    "audio/mp3"
    ... (更多符合通用规则的 MIME type)
    
    • curl 请求示例:
    curl --location --request POST 'https://bot.hillinsight.tech/file/upload' \
    --header 'code: 351685129250048648' \
    --header 'Content-Type: multipart/form-data; boundary=--------------------------359252672869490575862105' \
    --form 'file=@/C:/timg_en.jpg' \
    --form 'filename=cover.jpg' \
    --form 'mediatype=image/jpeg'\
    --form 'voiceFile =true'
    
  • 响应

    • 类型: application/json
    • 响应参数说明: code0 则为成功,message 为响应结果的文字说明,data 为返回结果具体信息。
    • data 参数说明
    参数 说明
    attachementId 附件id
    url 加密后的文件地址
    attachmentInfo 附件信息Base64后的字符串
    • 响应示例
    {
        "code":0,
        "message":"success",
        "data":{
            "attachementId":"075034752205298235109814",
            "url":"https://example.com/075034752205298235109814",
            "attachmentInfo":
            "CfNpWhhNNrRXEglpbWFnZS9wbmcaQIV/K4sYKpnOhVGRjlQmkFfkvsBRJ9mc7yL5YfhOUXPX7H1p+mmrCYWOZRGbZn3ALXfkmoZNTVhH6gsBWO/jR3Qg4IEFMiBgiRH+LD49BKH/dIzP29IrBh24bWmokTGbqYqxMjvSxzoNcmljaHRleHQuanBlZw=="
        }
    }
    

通过推送消息打开轻应用

在需要打开轻应用的消息中组装信息,不同的消息类型使用的字段不同,如发送rtf类型消息,则在msgcontent中 使用a标签的方式指定打开轻应用的地址;如发送link或card类型消息,则在 msgurl中传入需要打开的轻应用地址;地址类似如下形式内容:

ushu-A9OzNNOV://appinfo?app_id=go538vejx9&resource=https%3A%2F%2Fempty.ushu.tech%2Fdetaivoice_uuid%3D00f8ea87-2eb1-4434-b9c6-0d24490a3ad8

上述一些说明:

ushu-${portal} portal 为需要打开app的 portal_id, 大小写敏感

app_id 为需要打开的轻应用的 app_id

resource 为 url 编码后的轻应用页面地址,这部分域名需与管理后台配置的轻应用打开域名相同

发送消息示例

1.rtf(富文本)消息

curl --location --request POST 'https://open-ushu.hillinsight.tech/cgi/message/send_single?access_token=754cf7a61d6311ebb70102420a000924' \
--header 'Content-Type: application/json' \
--data-raw '{
 "portal":"A9OzNNOV",
 "app_id":"gdn3k53qkm",
 "touser":["5ly8v1v5g70qxm3j"],
 "msgtype":"rtf",
 "msg":{
 	"content":"<strong>T22: \u521b\u5efa\u4e00\u4e2a\u6709desc\u7684<\/strong> <a href=\"http:\/\/www.baidu.com\">&#128277<\/a><br><br><i>zhenle<\/i> added a comment.<br>\u201c\ud83d\ude42\u201d<br><a href=http:\/\/www.baidu.com>Click to check it<\/a><br>(Send a message beginning with \"@T22#948:\" to reply)"
    }
 }'

图示:

2.card(卡片)消息

curl --location --request POST 'https://open-ushu.hillinsight.tech/cgi/message/send_single?access_token=754cf7a61d6311ebb70102420a000924' \
--header 'Content-Type: application/json' \
--data-raw '{
 "portal":"A9OzNNOV",
 "app_id":"gdn3k53qkm",
 "touser":["5ly8v1v5g70qxm3j"],
 "msgtype":"card",
 "msg":{
    "content":"打开ushu网站,https://www.ushu.tech/",
    "url":"https://www.ushu.tech/?lang=en",
    "attachmentId":"7821688145847456921"
    }
 }'

图示:

3. link(链接)消息

curl --location --request POST 'https://open-ushu.hillinsight.tech/cgi/message/send_single?access_token=754cf7a61d6311ebb70102420a000924' \
--header 'Content-Type: application/json' \
--data-raw '{
 "portal":"A9OzNNOV",
 "app_id":"gdn3k53qkm",
 "touser":["5ly8v1v5g70qxm3j"],
 "msgtype":"link",
 "msg":{
 	"content":"",
	"url": "https://mp.weixin.qq.com/s?__biz=MzAxMDY5MTc5Mw==&mid=2651322219&idx=1&sn=e1d741ea1aa7eb43bdf1830cc841f40c&chksm=80bf22d5b7c8abc34d54ebe9403cb3de13b5f4238452fe33d69eff57ab8af1ddfeb370d70446&scene=27#wechat_redirect",
	"title":"取代房子,这才是未来5年最好的投资!",
	"attachmentId":"7821688145847456921"
    }
 }'

图示:

4. attachment(附件)消息

curl --location --request POST 'https://open-ushu.hillinsight.tech/cgi/message/send_single?access_token=754cf7a61d6311ebb70102420a000924' \
--header 'Content-Type: application/json' \
--data-raw '{
 "portal":"A9OzNNOV",
 "app_id":"gdn3k53qkm",
 "touser":["5ly8v1v5g70qxm3j"],
 "msgtype":"attachment",
 "msg":{
    "attachmentId":"1086410325910462125"
    }
 }'

图示: