下发客服当前输入状态
下发客服当前输入状态
接口应在服务器端调用,详细说明参见服务端API。
接口说明
接口英文名
setTyping
功能描述
该接口用于下发客服当前输入状态给用户。详见 客服消息输入状态
调用方式
HTTPS 调用
POST https://api.weixin.qq.com/cgi-bin/message/custom/business/typing?access_token=ACCESS_TOKEN
第三方调用
- 调用方式以及出入参和HTTPS相同,仅是调用的token不同
- 该接口所属的权限集id为:1、6、19、59、100、101
- 服务商获得其中之一权限集授权后,可通过使用authorizer_access_token代商家进行调用
请求参数
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
access_token | string | 是 | 接口调用凭证,该参数为 URL 参数,非 Body 参数。使用access_token或者authorizer_access_token |
touser | string | 是 | 用户的 OpenID |
command | string | 是 | 命令。Typing表示对用户下发"正在输入"状态 ;CancelTyping表示取消对用户的"正在输入"状态 |
返回参数
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
调用示例
示例说明: HTTPS调用
请求数据示例
{
"touser": "OPENID",
"command": "Typing"
}
返回数据示例
{
"errcode": 45081,
"errmsg": "已经在输入状态,不可重复下发 "
}
示例说明: 云函数调用
请求数据示例
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.customerServiceMessage.setTyping({
"touser": 'OPENID',
"command": 'Typing'
})
return result
} catch (err) {
return err
}
}
返回数据示例
{
"errcode": 45081,
"errmsg": "已经在输入状态,不可重复下发 "
}
错误码
错误码 | 错误码取值 | 解决方案 |
---|---|---|
-1 | system error | 系统繁忙,此时请开发者稍候再试 |
40001 | invalid credential access_token isinvalid or not latest | 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口 |
45072 | invalid command | command字段取值不对 |
45080 | need sending message to user orrecving message from user in the last 30 seconds before typing | 下发输入状态,需要之前30秒内跟用户有过消息交互 |
45081 | you are already typing | 已经在输入状态,不可重复下发 |