Appearance
转发小程序
通过完整小程序 XML 转发小程序卡片,适合复用已收到的小程序消息。
接口地址: POST /sendApplet
前置条件
- 微信实例已登录,并已获得可用的
wId。 - 接收方
wcId可以是好友微信 ID,也可以是群 ID。 content需要来自已收到的小程序消息回调,建议先收集入库后再复用。imgUrl建议使用稳定公网图片,格式为 PNG/JPG,大小控制在 50KB 以内。- 如果 XML 内缩略图已过期,可以先调用 CDN 图片上传接口,再替换 XML 中的缩略图相关字段。
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| wId | 是 | string | 登录实例标识 |
| wcId | 是 | string | 接收方微信 ID/群 ID |
| imgUrl | 是 | string | 小程序封面图,PNG/JPG 格式,50KB 以内 |
| content | 是 | string | 小程序 XML 内容;通常从消息回调中获取并截取 appmsg 节点,可按需自定义跳转参数、缩略图等字段 |
响应参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | string | 1000 成功,1001 失败 |
| message | string | 反馈信息 |
| data.type | int | 类型 |
| data.msgId | long | 消息 ID |
| data.newMsgId | long | 新消息 ID |
| data.createTime | long | 发送时间戳(秒) |
| data.wcId | string | 接收方 ID |
请求示例
json
{
"wId": "0000016f-78bd-21c8-0001-29c4d004ae46",
"wcId": "jack_623555049",
"imgUrl":"http://photocdn.sohu.com/20120323/Img338614056.jpg",
"content": "<appmsg appid=\"\" sdkver=\"0\">\n\t\t<title>云铺海购</title>\n\t\t<des>云铺海购</des>\n\t\t<type>33</type>\n\t\t<url>https://mp.weixin.qq.com/mp/waerrpage?appid=wx07af7e375d21a08c&type=upgrade&upgradetype=3#wechat_redirect</url>\n\t\t<appattach>\n\t\t\t<cdnthumburl>3057020100044b30490201000204502c9b9f02032f55f902040ed15eda0204632dc841042461316335306262662d393337322d343361332d383631312d6166613731306362643764300204011400030201000405004c51e500</cdnthumburl>\n\t\t\t<cdnthumbmd5>e1c43f713ebc389dc8f89690aeb7ecb4</cdnthumbmd5>\n\t\t\t<cdnthumblength>58598</cdnthumblength>\n\t\t\t<cdnthumbwidth>720</cdnthumbwidth>\n\t\t\t<cdnthumbheight>576</cdnthumbheight>\n\t\t\t<cdnthumbaeskey>125805800e40722f240220286e3ef74d</cdnthumbaeskey>\n\t\t\t<aeskey>125805800e40722f240220286e3ef74d</aeskey>\n\t\t\t<encryver>0</encryver>\n\t\t\t<filekey>wxid_ctqh94e1ahe722_26_1663944768</filekey>\n\t\t</appattach>\n\t\t<sourceusername>gh_12566478d436@app</sourceusername>\n\t\t<sourcedisplayname>云铺海购</sourcedisplayname>\n\t\t<md5>e1c43f713ebc389dc8f89690aeb7ecb4</md5>\n\t\t<recorditem><![CDATA[(null)]]></recorditem>\n\t\t<weappinfo>\n\t\t\t<username><![CDATA[gh_12566478d436@app]]></username>\n\t\t\t<appid><![CDATA[wx07af7e375d21a08c]]></appid>\n\t\t\t<type>2</type>\n\t\t\t<version>14</version>\n\t\t\t<weappiconurl><![CDATA[http://mmbiz.qpic.cn/mmbiz_png/uLxzSQcibsGzibyibBMLZhib1ick4RhO4ic203iaKMMSL35riafKicdyy8OX0ibjeDrs4Vka2KwTibiaPiaeXBKDQ24pblJO6mg/640?wx_fmt=png&wxfrom=200]]></weappiconurl>\n\t\t\t<pagepath><![CDATA[pages/home/dashboard/index.html?shopAutoEnter=1&is_share=1&share_cmpt=native_wechat&kdt_id=109702811&from_uuid=FgPTe5LTPr00dw21663912217667]]></pagepath>\n\t\t\t<shareId><![CDATA[0_wx07af7e375d21a08c_5a36c4cc14fb8effefecbd92a1f291a6_1663944761_0]]></shareId>\n\t\t\t<appservicetype>0</appservicetype>\n\t\t\t<brandofficialflag>0</brandofficialflag>\n\t\t\t<showRelievedBuyFlag>0</showRelievedBuyFlag>\n\t\t\t<subType>0</subType>\n\t\t\t<isprivatemessage>0</isprivatemessage>\n\t\t</weappinfo>\n\t</appmsg>"
}示例中的 XML 保留了小程序消息的关键结构。实际接入时,如果缩略图已过期,可以调用 CDN 图片上传接口后替换相关字段。
成功响应
json
{
"code": "1000",
"message": "发送小程序成功",
"data": {
"type": 0,
"msgId": 697760545,
"newMsgId": 7645748705605226305,
"createTime": 1641458149,
"wcId": "jack_623555049"
}
}错误响应
json
{
"message": "失败",
"code": "1001",
"data": null
}使用建议
- 新接入优先使用「发送小程序」接口;本接口更适合需要完整复用原始 XML 的场景。
- 建议业务侧保存原始回调 XML,并记录来源消息,方便后续排查卡片展示异常。
- XML 中的图片、跳转路径和小程序 ID 都会影响微信端展示,发送前建议先在测试微信实例验证。
