codecamp

微信小程序API 发送客服消息

发送客服消息


当用户和小程序客服产生特定动作的交互时(具体动作列表请见下方说明),微信将会把消息数据推送给开发者,开发者可以在一段时间内(目前修改为48小时)调用客服接口,通过POST一个JSON数据包来发送消息给普通用户。此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务。

目前允许的动作列表如下,不同动作触发后,允许的客服接口下发消息条数和下发时限不同。下发条数达到上限后,会收到错误返回码,具体请见返回码说明页:

用户动作允许下发条数限制下发时限
用户通过客服消息按钮进入会话1条1分钟
用户发送信息5条48小时

客服接口-发消息

接口调用请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN

各消息类型所需的JSON数据包如下:

发送文本消息

{
    "touser":"OPENID",
    "msgtype":"text",
    "text":
    {
         "content":"Hello World"
    }
}

发送图片消息

{
    "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"
    }
}

参数说明

参数是否必须说明
access_token调用接口凭证
touser普通用户(openid)
msgtype消息类型,文本为text,图文链接为link
content文本消息内容
media_id发送的图片的媒体ID,通过新增素材接口上传图片文件获得。
title图文链接消息标题
description图文链接消息
url图文链接消息被点击后跳转的链接
picurl图文链接消息的图片链接,支持 JPG、PNG 格式,较好的效果为大图 640 X 320,小图 80 X 80

返回码说明

参数说明
-1系统繁忙,此时请开发者稍候再试
0请求成功
40001获取access_token时AppSecret错误,或者access_token无效。请开发者认真比对AppSecret的正确性,或查看是否正在为恰当的小程序调用接口
40002不合法的凭证类型
40003不合法的OpenID,请开发者确认OpenID否是其他小程序的OpenID
45015回复时间超过限制
45047客服接口下行条数超过上限
48001api功能未授权,请确认小程序已获得该接口
微信小程序API 接收消息和事件
微信小程序API 转发消息
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

微信小程序 指南

目录结构

开放能力

微信小程序 调试

微信小程序 实时日志

微信小程序 小程序测速

微信小程序 基础组件

微信小程序 API

媒体

界面

微信小程序API 绘图

微信小程序 服务端

接口调用凭证

统一服务消息

微信小程序 服务市场

微信小程序 生物认证

微信小程序 云开发

服务端

微信小程序云开发服务端API 数据库

SDK文档

微信小程序 扩展能力

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }