Appearance
客服登录
POST /agent/login/check
校验客服账号并建立客服工作台 Session。成功后应保存会话 Cookie;响应中的 token 可用于以请求头或查询参数指定该 Session。
请求参数
| 字段 | 位置 | 类型 | 必填 | 用途 |
|---|---|---|---|---|
username | body | string | 是 | 登录用户名。 |
password | body | string | 是 | 登录密码。 |
captcha | body | string | 是 | 登录图形验证码;演示账号 demo 是服务端特例。 |
cid | body | string | 否 | 客户端推送标识;传入后服务端会更新当前客服的 cid。 |
成功响应
json
{
"code": 0,
"msg": "ok",
"data": {
"token": "<当前客服 Session ID>",
"redirect": "/agent/"
}
}| 字段 | 类型 | 用途 |
|---|---|---|
data.token | string | 当前登录 Session ID。属于登录凭据,不能暴露给其他用户。 |
data.redirect | string | 服务端给出的登录后跳转地址。 |
登录失败时常见业务码为 404,消息为“账户不存在或者密码错误”。接口限流:每分钟 20 次、每小时 50 次、每天 100 次。
浏览器端处理
登录请求应携带 Cookie,以便浏览器保存服务端建立的 Session:
js
const response = await fetch('/agent/login/check', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' },
body: new URLSearchParams({ username, password, captcha })
})
const result = await response.json()| 结果 | 客户端动作 |
|---|---|
code: 0 | 优先保留浏览器 Cookie,跳转 data.redirect,再调用 /agent/data/get 初始化工作台。 |
| 验证码错误 | 重新获取登录验证码;验证码一次使用后失效。 |
code: 404 | 展示统一的账号或密码错误提示,不区分账号是否存在。 |
| 限流 | 停止自动提交,按照提示等待后由用户重试。 |
响应中的 data.token 是当前 Session ID。自定义客户端可通过 token 请求头或查询参数使用它,但标准 Web 工作台应优先依赖安全 Cookie;不要将它持久化到 localStorage 或传给其他站点。