1.14.3 后端HTTP API

1.说明:

外部业务系统使用HTTP API方式作为主要的手段与E聊后端进行对接, 在此之前,需要先获取登录Token,才能进行后面的API操作. 接口的介绍都使用curl 为例,windows平台请先下载git bash 工具,新建一个git bash 窗口,使用curl 来测试. 测试前请启动E聊后端工程,默认的后端端口是8082.

2.API交互方式

E聊支持请求格式为Content-Type为application/json的POST请求对接,返回格式同样也是application/json

3.获取用户 Token

业务系统使用 IM用户登录接口获取登录授权Token, 以后的API http 请求头上需要加入authorization字段, 值为 client TOKEN, 注意client 与 TOKEN之间需要一个空格. 获取登录Token的接口是 /v1/connection/authority_request, git bash格式如下:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "appKey": "TSDKTEST00001", \ 
   "auid": "admin", \ 
   "token": "123456" \ 
 }' 'http://localhost:8082/v1/connection/authority_request'

 // 返回JSON格式
 {
  "code": 0,
  "errno": null,
  "data": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ1c2VySnd0IiwiQVBQX0tFWSI6IlRTREtURVNUMDAwMDEiLCJVU0VSX0FVSUQiOiJhZG1pbiIsImV4cCI6MTY1MTM3NDM5M30.twfRDFv-caGJFXgGtt3sF_PBdM7DSSSVGM97cP078vI3hIHuU5u7X3MKoofsvUAh2dhqHueKZXqedSRAAldSOg",
  "msg": "success"
}

Postman的请求格式如下:

merge_from_ofoct

其中appKey固定为TSDKTEST00001, auid 为客户端注册的手机号, token 为客户端注册的账号密码. 获取的Token 仅具有当前用户的客户端权限,不能跨账号auid使用,否则会提示"没有访问此API的权限".

4.使用用户Token

以 IM用户-获取用户(POST /v1/user/list) 接口为例, 介绍如何在请求中加入Token. curl 请求格式如下:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'authorization: client eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ1c2VySnd0IiwiQVBQX0tFWSI6IlRTREtURVNUMDAwMDEiLCJVU0VSX0FVSUQiOiJhZG1pbiIsImV4cCI6MTY1MTM3NTU5MH0.GiWsbVeQUHzl_GgP1bCXOjcYPXsKRcQZFWXfaycDXzqjoZEFUfbetE3u10XYz8BiMEYLcb7doa1fHtRV5Z1j6g' -d '{ \ 
   "auids": [ \ 
     "13800138000" \ 
   ] \ 
 }' 'http://localhost:8082/v1/user/list'

Postman的请求格式如下:

merge_from_ofoct (1)

在http 的请求头中加入authorization字段,值为client+空格+获取到的Token, 即可请求到API

5.获取admin权限的Token

后端专业在feature_v2.23后支持admin权限的token的获取,该token的权限比用户客户端更大,用户客户端无法获取其它用户的数据,否则会提示"用户:XXX 越权访问其它用户资源", 而使用该admin token 则没有该限制,该admin token仅推荐在后端使用,不要传给前端。 获取token的方式如下:

// admin登录,获取jwt
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "email": "183186147%40qq.com", \ 
   "password": "123456" \ 
 }' 'http://localhost:8082/v1/admin_login/sdk_user_login'

参数说明:

参数名 取值
email 登录邮箱地址
password 登录密码

返回值: Token

6.使用admin权限的Token

在http 的请求头中加入authorization字段,值为admin+空格+获取到的Token, 即可请求到API

该admin token可以访问后端系统使用@Permission(value = PermissionConst.CLIENT), @Permission(value = PermissionConst.ADMIN) 注解的所有Controller API方法

7. API 文档

更多的API请查阅以下的API文档:

在线API文档: http://8.134.89.229:58082/swagger-ui.html

离线API文档: http://8.134.89.229:58080/downloads/doc/echat_api.doc

results matching ""

    No results matching ""