Skip to content

获取访客基础数据

GET /visitor/data/get

访客聊天页完成身份校验后首先调用本接口。它返回当前访客资料、实时连接配置、前端功能开关和上传大小限制;后续分配客服、建立 WebSocket 连接、上传附件都依赖这些数据。

请求

无业务参数。在请求头携带当前访客 Token:

http
GET /visitor/data/get HTTP/1.1
Host: <部署域名>
Authorization: Bearer <visitor-token>
Accept: application/json

完整响应示例

以下 JSON 由当前控制器的实际返回字段整理。尖括号内是每个商户或访客运行时生成的值,不是接口返回的固定字面量;voicesoundupload_fileupload_imgemoji 等开关由商户配置决定,没有配置时可能不出现。

json
{
  "code": 0,
  "msg": "ok",
  "data": {
    "visitor": {
      "nickname": "<访客昵称>",
      "avatar": "<访客头像 URL 或相对路径>",
      "uid": "<访客 UID>",
      "lang": "<语言代码>",
      "channel": "<服务端生成的访客实时频道>",
      "attributes": [
        {
          "key": "<属性机器名>",
          "label": "<属性展示名>",
          "type": "<属性类型>",
          "value": "<属性值>",
          "editable": false
        }
      ]
    },
    "setting": {
      "appname": "<系统名称>",
      "appkey": "<实时服务 appkey>",
      "ws_address": "<WebSocket 地址>",
      "upload_limits": {
        "image_max_bytes": 20971520,
        "file_max_bytes": 20971520,
        "video_max_bytes": 104857600,
        "voice_max_bytes": 20971520
      },
      "voice": "<语音开关值>",
      "sound": "<提示音开关值>",
      "upload_file": "<文件上传开关值>",
      "upload_img": "<图片上传开关值>",
      "emoji": "<表情开关值>",
      "session_invite_rating": "<评分邀请开关值>",
      "session_invite_resolved": "<解决状态邀请开关值>",
      "verified": true,
      "paid": 0
    }
  }
}

顶层字段

字段类型用途
codenumber业务状态码。0 表示成功,非 0 时不要继续初始化会话。
msgstring状态说明;成功时通常为 ok
dataobject本次初始化数据。

data.visitor 字段

字段类型用途
nicknamestring当前访客的展示昵称。
avatarstring当前访客头像 URL 或站内相对路径。
uidstring当前访客唯一标识。后续请求不能自行传递或替换该字段。
langstring当前访客语言代码,用于 FAQ、翻译和界面语言选择。
channelstring当前访客的 WebSocket 订阅频道。必须直接使用返回值,不要由前端自行拼接。
attributesarray访客扩展属性列表;未配置时为 []

data.visitor.attributes[] 字段

字段类型用途
keystring属性机器名,例如 member_level
labelstring展示名称,例如“会员等级”。
typestring属性类型,例如 textimage
valuestring | number | boolean | null属性值。
editableboolean是否允许客服工作台编辑。图片属性固定为 false

data.setting 字段

字段类型用途
appnamestring系统或商户展示名称。
appkeystring实时服务连接使用的应用标识。
ws_addressstringWebSocket 服务地址。
upload_limitsobject各类上传文件的字节上限。上传前应使用此值校验。
voicestring语音消息功能开关,通常为 onoff
soundstring消息提示音开关。
upload_filestring普通文件上传功能开关。
upload_imgstring图片上传功能开关。
emojistring表情功能开关。
session_invite_ratingstring会话结束后是否邀请访客评分。
session_invite_resolvedstring会话结束后是否邀请访客反馈解决状态。
verifiedboolean当前商户是否通过服务端校验。
paidnumber已支付订单标识;无已支付订单时为 0

data.setting.upload_limits 字段

字段类型用途
image_max_bytesnumber图片最大字节数。
file_max_bytesnumber普通文件最大字节数。
video_max_bytesnumber视频最大字节数。
voice_max_bytesnumber语音最大字节数。

后续操作

  1. 使用 data.visitor.channel 订阅访客实时频道。
  2. 使用 data.setting.ws_addressdata.setting.appkey 建立实时连接。
  3. 调用“分配客服”接口取得当前会话客服。
  4. 上传前读取 data.setting.upload_limits,并同时遵守商户的上传功能开关。