消息对接API标准定义

版本历史:

版本 日期 备注
v1.0.0 2021/09/17 接收顾客消息接口定义、客服回复消息接口、查询访客个人信息接口
v1.0.1 2021/09/23 查询访客个人信息接口传参新增unit_id字段;返回码验签失败修改为6

0、接口调用说明

接口统一使用POST请求方式,Content-Typeapplicatioin/json格式。

鉴权规则

  • 接口统一使用http header Authorization 判断

  • 签名生成方法:

sign = lowercase(md5(timestamp.secret.nonce.secret))
authorization = timestamp.nonce.sign
字段 描述
timestamp 当前unix时间戳,如1557894000
nonce 随机串,长度为8位(英文字母数字),
secret 加签因子。由晓多提供。一个企业只有唯一的secret。

示例:

//timestamp:1557894000
//nonce:adjfiosd
//secret:b0ba74edac8e02772284d70871aa5d5d

header : Authorization 1557894000.adjfiosd.58d301e8894800d11d8bb7fed8693c63

签名验证

获取到Authorization后,检查sign计算值是否正确。

1、接收顾客消息

接口地址:由企业方提供

请求方式:POST

请求参数:

参数名 参数类型 是否必须 描述 示例值
customer_id String 访客ID 98_0_178492
customer_nick String 访客昵称
channel_id Number 渠道ID 2039
ts Number 消息发送时间戳,单位微秒(16位) 1631751636115324
msg Msg 消息

Msg:

参数名 参数类型 是否必须 描述 示例值
type String 消息类型。
文本:TIMTextElem
图片:TIMImageElem
文件:TIMFileElem
系统消息:TIMSystemElem
content Content 消息内容

Content:

1)文本消息

参数名 参数类型 是否必须 描述 示例值
text String 文本内容

示例:

    "msg":{                     
        "type":"TIMTextElem",     
        "content":{              
            "text":"hello!",
        },
  }

2)图片消息

参数名 参数类型 是否必须 描述 示例值
image_info_array []Image 图片内容

Image:

参数名 参数类型 是否必须 描述 示例值
url String 图片内容
height Number 图片高度
width Number 图片宽度
size Number 图片大小,单位B字节

示例:

    "msg":{                      
        "type":"TIMImageElem",     
        "content":{              
               "image_info_array":[
            {
                "size":1024,
                "width":50,
                "height":60,
                "url":"https://cdn.host.com/1.jpg"
            }],
        },
  }

3)文件消息

备注:音频、视频以文件形式发送。

参数名 参数类型 是否必须 描述 示例值
file_name String 文件名
file_url String 文件链接
file_size Number 文件大小,单位B字节

示例:

    "msg":{
        "type":"TIMFileElem", 
        "content":{
            "file_name": "video_test.mp4",
            "file_size":2314,
            "file_url":"http://cdn.host.com/video_test.mp4"
        },
    }

4)顾客主动评价(系统消息)

参数名 参数类型 是否必须 描述 示例值
type String 系统消息类型。
顾客主动评价:c_scoring_ret
suggestion String 评价内容 根据设置的评价等级:
3级:差评、一般、好评
4级:很不满、不满、满意、非常满意

示例:

"msg":{
      "type":"TIMSystemElem", 
      "content":{
        "type": "c_scoring_ret",
        "suggestion": "满意"
      },
}

返回参数:

参数名 参数类型 是否必须 描述 示例值
code Number 返回码。0成功
msg String 错误描述

返回码定义:

返回码 描述
0 成功
1 参数错误
2 系统错误
6 验签失败

2、客服回复消息

接口地址:/v1/api/open/b_reply_msg

请求方式:POST

请求参数:

参数名 参数类型 是否必须 描述 示例值
customer_id String 访客ID 98_0_178492
channel_id Number 渠道ID 2039
ts Number 消息发送时间戳,单位微秒(16位) 1631751636115324
msg Msg 消息

Msg

文本消息、图片消息、文件消息同上接收顾客消息的定义。

客服主动关闭会话(系统消息)

参数名 参数类型 是否必须 描述 示例值
type String 系统消息类型 客服主动关闭会话:close

示例:

  "msg":{
      "type":"TIMSystemElem", 
      "content":{
          "type":"close"
      },
  }

接口返回:

参数名 参数类型 是否必须 描述 示例值
error_code Number 返回码
info String 错误描述

示例:

{
    "error_code": 0,
    "info": ""
}

返回码定义

3、查询访客个人信息详情

接口地址:/v1/api/open/get_customer_info

请求方式:POST

请求参数:

参数名 参数类型 是否必须 描述 示例值
customer_ids String 访客ID列表,多个ID逗号隔开,每次最多50个 98_0_178492
unit_id Number 企业ID,每个企业唯一ID,晓多提供 37

返回参数:

参数名 参数类型 是否必须 描述 示例值
error_code Number 返回码
info String 错误描述
data []Customer 顾客信息列表

Customer:

参数名 参数类型 是否必须 描述 示例值
customer_id String 访客ID 98_0_178492
nick String 访客昵称
search_engine String 搜索引擎 百度
search_key String 搜索词 美容
location String 位置 四川省成都市
ip String IP地址 223.104.90.31
os String 平台 Android
browser String 浏览器 Vivo
history_urls []Url Url列表
thirdpart_params []Param 第三方自定义参数列表

Url:

参数名 参数类型 是否必须 描述 示例值
url_type Number url类型 1 浏览页 2咨询页 3着陆页 4来源页
url String url地址
dsc String url描述
ts Number 访问时间戳,单位秒

Param:

参数名 参数类型 是否必须 描述 示例值
key String scode
label String 2SEM-sg-meb-dyc

示例:

{
  "error_code": 0,
  "info": "",
  "data": [{
        "customer_id": "2858_0_408127511",
            "nick": "顾客12640600",
        "search_engine": "sougou",
        "search_key": "北海专业的美容院",
        "os": "Android",
        "location": "广西壮族自治区 南宁市",
        "ip": "223.104.90.31",
        "browser": "Vivo",
        "history_urls": [
          {
            "ts": 1631774337,
            "url_type": 2,
            "url": "http://4g.meb.com/?id=81052&scode=2SEM-sg-meb-dyc&type=sogou-&jh=dyc-mr&dy=guangxi&gjc=beihaimeirong",
            "dsc": "整形价格表_整形多少钱_整形费用"
          },
          {
            "ts": 1631774324,
            "url_type": 4,
            "url": "https://m.sogou.com/bill_cpc?v=1&p=WJedUFCoV99U8IhgMCu2PkVVCAYAkvsL60W8GTWEWi8Y3RzAYp2EMEDgdXbsdPasHlOxjLG0jPYLJuAS2ulkIVwA$pkql14y2ILwS3718mF91u4uDbTssgODK3d1V@djIFKK1WFcLK7s4TDHFNCbnOdi7aAhAnRi$dgRjQ5X1D5OZ$gHI@sO$ED@4wyTKuf7KAXtMs4icTceKJNaNdpN1srfCosHCMM@azV8QSw6DdUc7NG$YbbxbzP8frumZ@COOwbdKur28rJkJsb7pvWJBfKC3i4b2lPZn6CruBncgI5Ws4hHukqq1q2CPcEkMD5UzcipAfZN2kqN0g7jmD2uG2@$xw2wJ94bzNIWVazALwHfvvNcP3FnsNZ8qRlxHjPNyUDL2Z@12FvuVPF6Y4SNavOiCD7t53zQOb8Xnw39s8jvD2ySEnGAYE8pu3pjwa8GeeQ$kUBiFNGxnlWA9QYSlwsoI6iCcw8QaNlwU5Q1M248G8ePtGG1NtB2$OV2sz06@llb1pkFzLkicrQ70AgmZlIpopnV9HkARxmeTgx9zf2X2E$LApIShyqd3Kp6k6JtJXQRCkuYwlHPPPVS31oMgYPt59QYhgQdFXTp352bx7P0UuoYXlx0NKQG6msncUuihbLCXYL2HT3KmCs$tWqYNDExWqwRwATrYQv$ViSDaeq0@ENHzQpQSvRCFv0iKmBCDFkwecEGXUMFFVb9elUIqjPWj9Kp0ZsxgAaQwbXb60mPol9mfIvjtVIuZT@B41i2hxY=&q=WJZRllllll9=&keyword=%E5%8C%97%E6%B5%B7%E4%B8%93%E4%B8%9A%E7%9A%84%E7%BE%8E%E5%AE%B9%E9%99%A2&ml=28&mc=17&ma=118,269,164.1813201904297,303.13165283203125,163.84829711914062,303.13165283203125,360,506",
            "dsc": "搜狗搜索"
          }
        ],
        "thirdpart_params": [
          {
            "key": "v",
            "label": "191118.dev"
          },
          {
            "key": "exp",
            "label": "SG_0_0_0_ERR"
          },
          {
            "key": "scode",
            "label": "2SEM-sg-meb-dyc"
          },
          {
            "key": "deptid",
            "label": "20"
          },
          {
            "key": "sourceurl",
            "label": "http://4g.meb.com/?id=81052&scode=2SEM-sg-meb-dyc&type=sogou-&jh=dyc-mr&dy=guangxi&gjc=beihaimeirong"
          },
          {
            "key": "eventSource",
            "label": "DIALOG_CENTER_12_3"
          },
          {
            "key": "fromClientId",
            "label": "6c1dc24e-e71c-46ae-8d41-5f3f8e9297f3"
          }
        ]
      }
]}

results matching ""

    No results matching ""