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。