企业主动发送离线消息API
# 企业主动发送离线消息API
# 接口声明
在调用接口时必须在 https 请求的 header 中携带 "token" 参数。
Token 是智齿客服接口开放平台全局唯一的接口调用凭据。 开发者在调用各业务接口时都需使用 Token,开发者需要进行妥善保存。 Token 的存储至少要保留 32 个字符空间。Token 的有效期目前为 24 个小时,需定时刷新,或根据接口返回的 Token 失效提示,进行重新获取。请求 Token 接口,无论 Token 是否存在,都会返回新的 Token,并重置 Token 的过期时间(目前 24 小时)。
Token 使用方式说明:
1、开发者需要统一获取和管理 Token,在调用智齿客服各个业务开放接口时都应该使用同一个的 Token,不应该每个业务都刷新获取新的 Token,否则容易导致 Token 失效,影响接口的正常调用;
2、目前 Token 的有效期通过返回的 expire_in 来传达,目前是 86,400 秒之内的值。开发者需要根据这个有效时间提前去刷新新 Token。
3、开发者需要根据接口返回的 Token 失效提示,进行重新获取 Token。
# 接口调用
# ● 获取访问 Token 编码
接口说明:
获取 API 开放接口 Token,此 Token 仅适用于智齿开放平台 5.0 版本全部 API 接口 。API 接口中的参数 appid 、 app_key 请联系智齿售后人员获取。
请求方式:
GET
请求地址:
https://www.sobot.com/api/get_token
请求参数:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
appid | String | 是 | 接口凭证 Id |
create_time | String | 是 | 时间戳 |
sign | String | 是 | 签名 |
返回参数:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
ret_code | String | 是 | 返回编码 |
ret_msg | String | 是 | 返回信息 |
item | Object | 否 | 返回对象 |
item 对象:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
token | String | 是 | token 编码 |
expires_in | String | 是 | 凭证有效时间 |
时间戳转换参考工具:
http://tool.chinaz.com/Tools/unixtime.aspx
sign 签名生成示例:
例如:appid = "1"; create_time="1569397773"; app_key="2"
sign = Md5("115693977732") 为 258eec3118705112b2c53dc8043d4d34。
请求示例:
curl https://www.sobot.com/api/get_token?appid=1&create_time=1569397773&sign=258eec3118705112b2c53dc8043d4d34
返回示例:
{
"item": {
"token": "4ac37cb2e9c740dba4b75a34d5358802",
"expires_in": "86400"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
# 参数和状态码说明
# 参数
请求头参数说明:
参数 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
token | String | 是 | token | |
language | String | 否 | 语言标识 | en:英文,zh:中文,不传或非法默认为"zh" |
# 统一状态码描述
返回参数:
状态码 | 描述 | 备注 |
---|---|---|
000000 | 成功 | |
900001 | token为空 | |
900002 | token认证失败 | |
999999 | 系统内部错误 | |
129000 | 调用接口过于频繁 | 接口调用频率限制:1分钟以内最多允许调用100次,1天以内最多允许调用20000次,超出上述调用频率将被限制,每分钟的限制起始时间为接口发起第一次调用的时间(时间窗口),每天的调用起始时间为东八区的0点,东八区0点之后会重置今天的调用次数 |
120001 | 请求体不能为空 | |
120002 | 消息体不能为空 | |
120003 | partnerId不能为空 | |
120004 | type不能为空 | |
120005 | source参数错误 | |
120006 | type参数错误 | |
120007 | 用户状态不是离线,不允许发送消息 | |
120008 | 卡片消息体格式或内容错误 |
# 企业发送离线消息
# ● 发送离线消息
请求方式:
POST
请求地址:
https://www.sobot.com/text/chat-third/api/eis/message/send
请求参数:
参数 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
partnerId | String | 是 | 对接ID | |
source | Integer | 否 | 渠道 | 0:PC、4:WAP、2:APP。默认:2 |
message | Object | 是 | 消息内容 | 参考下面message对象 |
message对象:
参数 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
type | String | 是 | 消息类型 | 0:文本、1:图片、4:文件、50:富文本、521:卡片 |
content | String | 是 | 消息内容 | type为521(卡片)消息时,参考卡片实体入参转换成对应的jsonString,其他情况传String类型即可 |
fileName | String | 否 | 文件名称 | 当type为4(文件)消息时,如果为空系统会展示系统默认的文件名 |
如果type是521卡片消息需要按照下面格式传入content字符json对象,更多卡片完整的例子也可以参考
https://codecenter.sobot.com/pages/246fbc/#v6-%E6%96%B0%E7%89%88%E5%95%86%E5%93%81%E3%80%81%E8%AE%A2%E5%8D%95%E5%8D%A1%E7%89%87
# 通用卡片字段
content对象: 定义通用的卡片结构,可以在通用卡片字段中嵌入自定义小卡片。
参数 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
cardStyle | Number | 卡片样式:平铺:0 列表:1 默认为 1 | 否 | |
cardType | Number | 卡片类型:订单:0 商品:1 默认为 1 | 否 | |
cardGuide | String | 卡片引导语 | 否 | 仅支持在列表样式下展示 |
cardImg | String | 卡片图片 | 否 | 仅支持在列表样式下展示 |
cardDesc | String | 卡片描述 | 否 | 仅支持在列表样式下展示 |
cardLink | String | 卡片跳转链接 | 否 | 仅支持在列表样式下展示 |
customField | Object | 自定义字段 | 否 | 仅支持在列表样式下展示;最多支持 10 个自定义字段。 |
customCards | Array | 自定义卡片列表 详细参数见下方自定义卡片字段 | 否 | 最多支持十个卡片。因各浏览器对 url 长度限制不一样,具体以用户使用的浏览器为准 |
cardMenus | Array | 自定义按钮列表 详细参数见下方自定义按钮字段 | 否 | 通用卡片仅支持在列表样式下展示 最多支持三个按钮 |
cardTrigger | Number | 卡片发送环节:机器人阶段:0 人工:1 机器人和人工:2 默认为 1 | 否 | |
cardOldPrompt | String | 如果客户没有升级最新的 sdk 版本后,卡片将无法正常展示,默认提示文案:您的 APP 版本需要升级后才能查看该消息,请前往升级 APP最新版本。 | 否 |
# 自定义卡片字段
customCards对象: 自定义卡片可以嵌入通用卡片中,用于展示具体订单和商品信息。
参数 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
customCardId | String | 卡片 id | 否 | |
customCardStatus | String | 卡片状态 | 否 | 仅支持订单卡片 |
customCardCount | String | 卡片数量 | 否 | 仅支持订单卡片 |
customCardCode | String | 卡片编码 | 否 | 仅支持订单卡片 |
customCardTime | String | 卡片创建时间 | 否 | 仅支持订单卡片 |
customCardName | String | 卡片标题 | 是 | |
customCardThumbnail | String | 卡片缩略图 | 是 | |
customCardAmount | String | 卡片金额 | 否 | |
customCardAmountSymbol | String | 卡片金额单位 | 否 | |
customCardLink | String | 卡片的跳转链接 | 否 | |
customCardDesc | String | 卡片描述 | 否 | |
customMenus | Array | 卡片的按钮 详细参数见下方自定义按钮字段 | 否 |
# 按钮字段
cardMenus和customMenus对象: 定义通用卡片和自定义卡片上的按钮名称及类型
参数 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
menuType | Number | 按钮类型:跳转按钮:0 确认按钮:1 发送按钮:2 默认为 2 | 是 | |
menuName | String | 按钮名称 | 是 | |
menuLink | String | 按钮跳转链接 | 否 | 仅支持跳转按钮类型 |
menuLinkType | Number | 跳转按钮支持场景:客服、访客端显示:0 客服工作台、console 显示:1 仅访客端显示:2 | 否 | 仅支持跳转按钮类型 |
menuTip | String | 按钮提示语 | 否 | 仅支持确认按钮类型 |
请求示例:
1、发送纯文本消息
curl --location 'https://www.sobot.com/text/chat-third/api/eis/message/send' \
--header 'token: e6809a1178524b78ac11b55ad8c7f4e5' \
--header 'language: zh' \
--header 'Content-Type: application/json' \
--data '{
"partnerId": "partnerId01",
"source": 0,
"message": {
"content": "测试文本消息",
"type": "0"
}
}'
2
3
4
5
6
7
8
9
10
11
12
2、发送图片消息
curl --location 'https://www.sobot.com/text/chat-third/api/eis/message/send' \
--header 'token: e6809a1178524b78ac11b55ad8c7f4e5' \
--header 'language: zh' \
--header 'Content-Type: application/json' \
--data '{
"partnerId": "partnerId01",
"source": 0,
"message": {
"content": "https://sobot-test.oss-cn-beijing.aliyuncs.com/chatres/443af7afa23f4c87a8900f178137d09c/msg/20231019/451fb18966e64a73acbfdb989ffe51d2/cbe32bd7a5804a6588b95daa0ca352df.jpg",
"type": "1"
}
}'
2
3
4
5
6
7
8
9
10
11
12
3、发送文件消息
curl --location 'https://www.sobot.com/text/chat-third/api/eis/message/send' \
--header 'token: e6809a1178524b78ac11b55ad8c7f4e5' \
--header 'language: zh' \
--header 'Content-Type: application/json' \
--data '{
"partnerId": "partnerId01",
"source": 0,
"message": {
"content": "https://sobot-test.oss-cn-beijing.aliyuncs.com/chatres/443af7afa23f4c87a8900f178137d09c/msg/20231019/451fb18966e64a73acbfdb989ffe51d2/920c2c7182f34aada46ddef4beeeec86.txt",
"type": "4",
"fileName": "hello.txt"
}
}'
2
3
4
5
6
7
8
9
10
11
12
13
4、发送富文本消息
curl --location 'https://www.sobot.com/text/chat-third/api/eis/message/send' \
--header 'token: e6809a1178524b78ac11b55ad8c7f4e5' \
--header 'language: zh' \
--header 'Content-Type: application/json' \
--data '{
"partnerId": "partnerId01",
"source": 0,
"message": {
"content": "<p1>hello!!</p1>",
"type": "50"
}
}'
2
3
4
5
6
7
8
9
10
11
12
5、发送卡片消息
curl --location 'https://www.sobot.com/text/chat-third/api/eis/message/send' \
--header 'token: e6809a1178524b78ac11b55ad8c7f4e5' \
--header 'language: zh' \
--header 'Content-Type: application/json' \
--data '{
"partnerId": "partnerId01",
"source": 0,
"message": {
"content": "{\"cardGuide\":\"请核对您的订单信息\",\"cardLink\":\"https://www.sobot.com\",\"cardMenus\":[{\"menuLink\":\"https://www.sobot.com\",\"menuLinkType\":\"2\",\"menuName\":\"查看详情\",\"menuType\":\"0\"},{\"menuName\":\"确认订单\",\"menuTip\":\"您已确认订单信息\",\"menuType\":\"1\"},{\"menuName\":\"发送订单给客服\",\"menuType\":\"2\"}],\"cardStyle\":\"1\",\"cardType\":\"0\",\"customCards\":[{\"customCardAmount\":\"7699.00\",\"customCardAmountSymbol\":\"¥\",\"customCardCode\":\"DD2023081038299\",\"customCardCount\":\"共1件商品\",\"customCardDesc\":\"强劲芯片|出色摄像|流畅显示|免费维修|5G支持|高存储容量|息屏显示\",\"customCardId\":\"10611111\",\"customCardLink\":\"https://www.sobot.com\",\"customCardName\":\"Apple 苹果 iPhone 14 Pro 256GB 暗紫色A2892手机\",\"customCardStatus\":\"订单确认中\",\"customCardThumbnail\":\"https://img.sobot.com/chatres/137647808eba49b8ab81b4cf0b8e8c9d/msg/20230629/bb8f52abcde9fb64eae76fe546600be6/3eaed97a216349048bea79e4c8db81e9.png\",\"customCardTime\":\"\",\"customMenus\":[{\"menuName\":\"发送订单给客服\",\"menuType\":\"2\"},{\"menuLink\":\"https://www.sobot.com\",\"menuLinkType\":\"2\",\"menuName\":\"查看详情\",\"menuType\":\"0\"},{\"menuName\":\"确认订单\",\"menuTip\":\"您已确认订单信息\",\"menuType\":\"1\"}]}]}",
"type": "521"
}
}'
2
3
4
5
6
7
8
9
10
11
12
返回参数:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
ret_code | String | 是 | 返回编码 |
ret_msg | String | 是 | 返回信息 |
返回示例:
{
"ret_code": "000000",
"ret_msg": "成功"
}
2
3
4