坐席登录
接口描述
坐席在客户小程序中登录,换取坐席凭证 X-Agent-Token(后续 5 个接口必带)。
首次登录会自动把当前微信绑定到该坐席分机(一个微信只能绑定一个坐席,一个坐席只能绑定一个微信)。
适用范围:本接口(及本目录全部坐席接口)仅适用于已绑定客户小程序的坐席——即管理员在坐席分机管理中将其「绑定小程序」配置为贵司小程序。未绑定的坐席属于臻识运维小助手模式,请直接使用该小程序,无需对接开放平台。
请求说明
| 接口ID |
协议 |
方法 |
PATH |
| 90 |
HTTPS |
POST |
/openapi/v1/voip/agent/login |
PATH参数
无
URL参数
| 参数 |
类型 |
必填 |
说明 |
| accesskey_id |
string |
是 |
参见签名认证 |
| expires |
int |
是 |
参见签名认证 |
| signature |
string |
是 |
参见签名认证 |
HTTP请求头
| 名称 |
必填 |
说明 |
| Content-Type |
是 |
application/json |
请求参数
| 参数 |
类型 |
必填 |
说明 |
| uri |
string |
是 |
坐席分机号,格式 分机号@域名(如 1001@1.voip1.sip) |
| password |
string |
是 |
坐席分机密码 |
| wx_code |
string |
是 |
wx.login() 返回的 code,用于绑定当前微信 |
请求示例
POST https://open.vzicloud.com/openapi/v1/voip/agent/login?accesskey_id=8d9EsDAD2115Q5PM8tuP6g1IdAglkayp&expires=1619022787&signature=G29eTBjMm0gZF7cpXNLX7Hrn0yM%3D HTTP/1.1
Content-Type: application/json
{
"uri": "1001@1.voip1.sip",
"password": "******",
"wx_code": "0a3Xk9000Qw9rT1bBr300wJh023Xk90s"
}
返回说明
返回参数
| 参数 |
类型 |
说明 |
| token |
string |
坐席凭证,放入后续接口请求头 X-Agent-Token(7 天有效) |
| expires_at |
int |
token 过期时间(Unix 时间戳) |
| agent |
object |
坐席信息 |
| agent.id |
int |
坐席分机 ID |
| agent.dial_id |
string |
坐席分机号 |
| agent.display_name |
string |
坐席显示名称 |
| agent.company_id |
int |
所属公司 ID |
| agent.domain |
string |
坐席域名 |
| agent.wx_online |
bool |
微信端是否在线 |
| agent.bound |
bool |
是否已绑定微信 |
错误码
错误码定义参见错误码。本接口特有的业务错误:
| HTTP 状态 |
code |
说明 |
| 401 |
1001 |
分机号或密码错误(坐席不存在 / 密码错误 / 坐席公司与 AccessKey 不一致,同文案防枚举) |
| 403 |
1003 |
账号已禁用;该坐席未绑定客户小程序(请联系管理员配置,或直接使用臻识运维小助手) |
| 400 |
1005 |
微信登录失败;该微信号已绑定其他坐席;该坐席已绑定其他微信号 |
返回示例
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.***",
"expires_at": 1761234567,
"agent": {
"id": 12,
"dial_id": "1001",
"display_name": "客服小张",
"company_id": 88,
"domain": "1.voip1.sip",
"wx_online": true,
"bound": true
}
}