# 下发客服当前输入状态
接口应在服务器端调用,详细说明参见服务端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 | 已经在输入状态,不可重复下发 |