customerServiceMessage.send
本接口应在服务器端调用,详细说明参见服务端API。
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载) wx-server-sdk >= 0.4.0
发送客服消息给用户。详细规则见 发送客服消息
调用方式:
HTTPS 调用
请求地址POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
请求参数
属性 |
类型 |
默认值 |
必填 |
说明 |
access_token |
string |
|
是 |
接口调用凭证 |
touser |
string |
|
是 |
用户的 OpenID |
msgtype |
string |
|
是 |
消息类型 |
text |
Object |
|
是 |
文本消息,msgtype="text" 时必填 |
image |
Object |
|
是 |
图片消息,msgtype="image" 时必填 |
link |
Object |
|
是 |
图文链接,msgtype="link" 时必填 |
miniprogrampage |
Object |
|
是 |
小程序卡片,msgtype="miniprogrampage" 时必填 |
msgtype 的合法值
值 |
说明 |
最低版本 |
text |
文本消息 |
|
image |
图片消息 |
|
link |
图文链接 |
|
miniprogrampage |
小程序卡片 |
|
text 的结构
属性 |
类型 |
默认值 |
必填 |
说明 |
content |
string |
|
是 |
文本消息内容 |
image 的结构
属性 |
类型 |
默认值 |
必填 |
说明 |
media_id |
string |
|
是 |
发送的图片的媒体ID,通过 新增素材接口 上传图片文件获得。 |
link 的结构
属性 |
类型 |
默认值 |
必填 |
说明 |
title |
string |
|
是 |
消息标题 |
description |
string |
|
是 |
图文链接消息 |
url |
string |
|
是 |
图文链接消息被点击后跳转的链接 |
thumb_url |
string |
|
是 |
图文链接消息的图片链接,支持 JPG、PNG 格式,较好的效果为大图 640 X 320,小图 80 X 80 |
miniprogrampage 的结构
属性 |
类型 |
默认值 |
必填 |
说明 |
title |
string |
|
是 |
消息标题 |
pagepath |
string |
|
是 |
小程序的页面路径,跟app.json对齐,支持参数,比如pages/index/index?foo=bar |
thumb_media_id |
string |
|
是 |
小程序消息卡片的封面, image 类型的 media_id,通过 新增素材接口 上传图片文件获得,建议大小为 520*416 |
返回值
Object
返回的 JSON 数据包
属性 |
类型 |
说明 |
errcode |
number |
错误码 |
errmsg |
string |
错误信息 |
errcode 的合法值
值 |
说明 |
最低版本 |
0 |
请求成功 |
|
-1 |
系统繁忙,此时请开发者稍候再试 |
|
40001 |
获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的小程序调用接口 |
|
40002 |
不合法的凭证类型 |
|
40003 |
不合法的 OpenID,请开发者确认 OpenID 是否是其他小程序的 OpenID |
|
45015 |
回复时间超过限制 |
|
45047 |
客服接口下行条数超过上限 |
|
48001 |
API 功能未授权,请确认小程序已获得该接口 |
|
下发消息示例
发送文本消息{
"touser":"OPENID",
"msgtype":"text",
"text":
{
"content":"Hello World"
}
}
发送文本消息时,支持添加可跳转小程序的文字连接 文本内容...<a href="http://www.qq.com" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" data-miniprogram-appid="appid" data-miniprogram-path="pages/index/index">点击跳小程序</a>
说明:
- data-miniprogram-appid 项,填写小程序appid,则表示该链接跳转小程序;
- data-miniprogram-path项,填写小程序路径,路径与app.json中保持一致,可带参数;
- 对于不支持 data-miniprogram-appid 项的客户端版本(6.5.16 以下),如果有 herf 项,则仍然保持跳 href 中的链接;
- 小程序发带小程序文字链的文本消息,data-miniprogram-appid必须是该小程序的appid。
发送图片消息{
"touser":"OPENID",
"msgtype":"image",
"image": {
"media_id":"MEDIA_ID"
}
}
发送图文链接
每次可以发送一个图文链接 {
"touser": "OPENID",
"msgtype": "link",
"link": {
"title": "Happy Day",
"description": "Is Really A Happy Day",
"url": "URL",
"thumb_url": "THUMB_URL"
}
}
发送小程序卡片{
"touser":"OPENID",
"msgtype":"miniprogrampage",
"miniprogrampage": {
"title":"title",
"pagepath":"pagepath",
"thumb_media_id":"thumb_media_id"
}
}
云调用
云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。
接口方法openapi.customerServiceMessage.send
需在 config.json 中配置 customerServiceMessage.send API 的权限,详情
请求参数
属性 |
类型 |
默认值 |
必填 |
说明 |
touser |
string |
|
是 |
用户的 OpenID |
msgtype |
string |
|
是 |
消息类型 |
text |
Object |
|
是 |
文本消息,msgtype="text" 时必填 |
image |
Object |
|
是 |
图片消息,msgtype="image" 时必填 |
link |
Object |
|
是 |
图文链接,msgtype="link" 时必填 |
miniprogrampage |
Object |
|
是 |
小程序卡片,msgtype="miniprogrampage" 时必填 |
msgtype 的合法值
值 |
说明 |
最低版本 |
text |
文本消息 |
|
image |
图片消息 |
|
link |
图文链接 |
|
miniprogrampage |
小程序卡片 |
|
text 的结构
属性 |
类型 |
默认值 |
必填 |
说明 |
content |
string |
|
是 |
文本消息内容 |
image 的结构
属性 |
类型 |
默认值 |
必填 |
说明 |
mediaId |
string |
|
是 |
发送的图片的媒体ID,通过 新增素材接口 上传图片文件获得。 |
link 的结构
属性 |
类型 |
默认值 |
必填 |
说明 |
title |
string |
|
是 |
消息标题 |
description |
string |
|
是 |
图文链接消息 |
url |
string |
|
是 |
图文链接消息被点击后跳转的链接 |
thumbUrl |
string |
|
是 |
图文链接消息的图片链接,支持 JPG、PNG 格式,较好的效果为大图 640 X 320,小图 80 X 80 |
miniprogrampage 的结构
属性 |
类型 |
默认值 |
必填 |
说明 |
title |
string |
|
是 |
消息标题 |
pagepath |
string |
|
是 |
小程序的页面路径,跟app.json对齐,支持参数,比如pages/index/index?foo=bar |
thumbMediaId |
string |
|
是 |
小程序消息卡片的封面, image 类型的 media_id,通过 新增素材接口 上传图片文件获得,建议大小为 520*416 |
返回值
Object
返回的 JSON 数据包
属性 |
类型 |
说明 |
errCode |
number |
错误码 |
errMsg |
string |
错误信息 |
errCode 的合法值
异常
Object
抛出的异常
属性 |
类型 |
说明 |
errCode |
number |
错误码 |
errMsg |
string |
错误信息 |
errCode 的合法值
值 |
说明 |
最低版本 |
-1 |
系统繁忙,此时请开发者稍候再试 |
|
40001 |
获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的小程序调用接口 |
|
40002 |
不合法的凭证类型 |
|
40003 |
不合法的 OpenID,请开发者确认 OpenID 是否是其他小程序的 OpenID |
|
45015 |
回复时间超过限制 |
|
45047 |
客服接口下行条数超过上限 |
|
48001 |
API 功能未授权,请确认小程序已获得该接口 |
|
下发消息示例
发送文本消息const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.customerServiceMessage.send({
touser: 'OPENID',
msgtype: 'text',
text: {
content: 'Hello World'
}
})
return result
} catch (err) {
return err
}
}
发送文本消息时,支持添加可跳转小程序的文字连接 文本内容...<a href="http://www.qq.com" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" data-miniprogram-appid="appid" data-miniprogram-path="pages/index/index">点击跳小程序</a>
说明:
- data-miniprogram-appid 项,填写小程序appid,则表示该链接跳转小程序;
- data-miniprogram-path项,填写小程序路径,路径与app.json中保持一致,可带参数;
- 对于不支持 data-miniprogram-appid 项的客户端版本(6.5.16 以下),如果有 herf 项,则仍然保持跳 href 中的链接;
- 小程序发带小程序文字链的文本消息,data-miniprogram-appid必须是该小程序的appid。
发送图片消息const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.customerServiceMessage.send({
touser: 'OPENID',
msgtype: 'image',
image: {
mediaId: 'MEDIA_ID'
}
})
return result
} catch (err) {
return err
}
}
发送图文链接
每次可以发送一个图文链接 const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.customerServiceMessage.send({
touser: 'OPENID',
msgtype: 'link',
link: {
title: 'Happy Day',
description: 'Is Really A Happy Day',
url: 'URL',
thumbUrl: 'THUMB_URL'
}
})
return result
} catch (err) {
return err
}
}
发送小程序卡片const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.customerServiceMessage.send({
touser: 'OPENID',
msgtype: 'miniprogrampage',
miniprogrampage: {
title: 'title',
pagepath: 'pagepath',
thumbMediaId: 'thumb_media_id'
}
})
return result
} catch (err) {
return err
}
}
|
请发表评论