====== API 开放平台 ======
----
===== 平台概述 =====
环信通过API开放平台提供对外可调用的接口。
===== 平台使用说明 =====
* 调用平台的接口前需要根据clientID和secretID生成accessToken,clientID和secretID请联系环信获取。
* 把accessToken放在调用接口的请求头中,字段名为:Kefu-Token,即可正确使用平台接口。
===== 平台错误码说明 =====
^错误码 ^错误信息 ^注释^
|API_001 |param is invalid,please check your param is correct! |参数传递错误|
|API_002 |token is invalid |token 不正确|
|API_003 |tenantId is incorrect,please confirm that the tenant ID belongs to you |租户ID错误|
|API_004 |clientId or secretId is incorrect |clientId或secretId不正确|
|API_111 |page index must be more than 0. |分页索引必须大于0|
|API_112 |page size must be less than 50. |分页每页的容量不能大于50|
|API_400 |api request failed |服务间调用请求错误|
===== 获取accessToken =====
环信提供的开放接口需要权限才能访问,权限通过发送 HTTP 请求时携带 accessToken 来体现,下面描述获取 accessToken 的方式。说明:API 描述的时候使用到的 {client_id} 之类的这种参数需要替换成具体的值。
重要提醒:获取的 accessToken 在2小时之内有效,由于网络延迟等原因,系统不保证 accessToken 在此值表示的有效期内绝对有效,如果发现 accessToken 使用异常请重新获取新的 accessToken。
==== 获取accessToken ====
* Path:http://kefu.easemob.com/api/platform/tenants/{tenantId}/accessToken
* HTTP Method:POST
* 接口参数:
* Request Headers:{Cookie=${Cookie}和Content-Type=application/json}
* Request Body体中加入租户的如下信息:
{
"tenantId":租户ID,
"clientId":"8340a6d8-211f-4b81-9202-63ce46f27c02",
"secretId":"ca906984-80f1-41b0-a272-6000df3f76c4"
}
* 可能的错误码:API_003(租户ID错误),API_004(clientId或secretId不正确)。详见:[[#平台错误码说明|平台错误码说明]]
Response示例:
{
"status": "OK",
"entity": {
"accessToken": "4313913457bfd684eccbbb7405ba074f",
"expireTime": 7200
}
}
===== 调用平台接口 =====
获取到accessToken后,即可以正常调用平台接口。以下为平台接口:
==== 获取访客的绑定关系 ====
通过此接口,可以获取访客绑定的技能组。每次请求的访客数量不能多于10个。
* Path:http://kefu.easemob.com/api/platform/tenants/{tenantId}/firstReceptionBindByVisitorusername
* HTTP Method:POST
* 接口参数:
* Request Headers:{Cookie=${Cookie}、Content-Type=application/json和Kefu-Token=${accessToken}}
* Request Body体中封装接口需要的参数:
[
{
"username": "webim-visitor-FQKXRPTF7KHPEGY2YCTF",
"techChannelId": "1",
"techChannelType": "easemob"
},
{
"username": "webim-visitor-MM8QTBKVTVPF86Q436G2",
"techChannelId": "1",
"techChannelType": "easemob"
}
]
* 可能的错误码:API_020(请求访客绑定关系的数量不能多于10个)。
Response示例:
{
"status": "OK",
"entity": [
{
"bindId": 47,
"visitor": {
"id": "16b71ffb-dfe0-4b58-9e7d-f2be894ab39c",
"username": "webim-visitor-FQKXRPTF7KHPEGY2YCTF",
"nickname": "webim-visitor-FQKXRPTF7KHPEGY2YCTF"
},
"agent": {
"id": "6aed2d51-4d54-468a-995e-efa38f916ccd",
"username": "pengfeima@easemob.com",
"nickname": "Admin",
"agent_queues": [
{
"queueId": 59929,
"queueName": "人工客服"
},
{
"queueId": 59931,
"queueName": "研发客服"
}
]
},
"createAt": "2018-08-15 10:44:44"
},
{
"bindId": 46,
"visitor": {
"id": "a625c4fe-73c0-4321-9921-28d3e3b1f412",
"username": "webim-visitor-MM8QTBKVTVPF86Q436G2",
"nickname": "webim-visitor-MM8QTBKVTVPF86Q436G2"
},
"agent": {
"id": "6aed2d51-4d54-468a-995e-efa38f916ccd",
"username": "pengfeima@easemob.com",
"nickname": "Admin",
"agent_queues": [
{
"queueId": 59929,
"queueName": "人工客服"
},
{
"queueId": 59931,
"queueName": "研发客服"
}
]
},
"createAt": "2018-08-15 10:38:45"
}
]
}
注:
* 当请求的多组数据中,部分数据存在问题时(如username错误),将只返回部分正确的结果,存在问题的部分数据将没有返回值;
* 当请求的多组数据中,部分访客无绑定关系时,无绑定关系的部分只返回访客信息,绑定关系返回null。