Talk00接口文档
一、目录
二、概述
(1)Talk00协议方式:TCP+json,并且以 \n 为协议结束符。语言集编码格式为utf-8。
传输的业务信息中包含 双引号(")或者换行符( \n)的字符串,需要先使用base64编码,具体参考下面接口。
(2)Talk00 请求报文中有固定的格式
{"head":{"cmd":"Talk00_register_user", "time":111111, "req_id":"xxxxxx","channel":"bx", "peer":"127.0.0.1:5500"}, "body":{} }
有协议头字段“head”(必选项)和协议包体字段“body”(可选项。body可以设置json对象或者字符串,根据业务需要)。Talk00请求报文最大20KB。
协议头“head”包含几个固定字段,具体描述如下:
参数 | 必要 | 数据类型 | 描述 |
cmd | Y | 字符串 | 请求报文命令字。 |
time |
| 无符号64整数 | 请求报文unix时间戳。 |
req_id | Y | 字符串 | 请求唯一的id。长连接必须设置,建议为uuid,用于对应响应消息。 |
channel |
| 字符串 | 请求来自的渠道信息。 |
peer |
| 字符串 | 请求来自的源Socket信息,格式为ip:port。 |
(3)Talk00响应报文中有固定的格式
{"head":{"cmd":"Talk00_register_user", "time":111111, "req_id":"xxxxxx","msg_id":"yyyyy", "err":0, "err_msg":"It is invalid request."}, "body":{} }
有协议头字段“head”(必选项)和协议包体字段“body”(可选项。body可以设置json对象或者字符串,根据业务需要)。
协议头“head”包含几个固定字段,具体描述如下:
参数 | 必要 | 数据类型 | 描述 |
cmd | Y | 字符串 | 响应报文命令字。(同请求报文的一致) |
time | Y | 无符号64整数 | 响应报文unix时间戳。 |
req_id | Y | 字符串 | 回填请求唯一的id。 |
msg_id | Y | 字符串 | Talk00系统内部为每个请求分配的唯一ID, 用作日志染色。 |
err | Y | 有符号32整数 | 错误码。 |
err_info | Y | 字符串 | 错误描述信息。 |
接口列表:
分类 | 数量 | 描述 |
权限验证 | 2 |
|
负载均衡 | 1 |
|
消息转发 | 3 |
|
配置服务 | 2 |
|
客户端管理 | 4 |
|
用户管理 | 13 |
|
好友管理 | 11 |
|
群组管理 | 35 |
|
讨论组管理 | 13 |
|
聊天室管理 | 27 |
|
会话管理 | 7 |
|
文件传输 | 3 |
|
内部消息 | 2 |
|
异步消息 | 22 |
|
推送服务 | 5 |
|
游客管理 | 1 |
|
总共 | 151 |
|
三、接口说明
1.权限验证
1.1登录接口
接口描述: 用户在使用Talk00系统前,通过user id先验证, 判断该用户是否已经注册到Talk00系统中。
对外接口:Y
命令字: login
请求串:
{"head":{"cmd":"login", "time":111111, "req_id":"xxxxxx", "channel":"bx", "peer":"127.0.0.1:5500"}, "body":{"user_id":4444, "token":"4hu_1472630582_808424"} }
参数说明:
参数 | 必要 | 数据类型 | 描述 |
user_id | Y | 无符号64整数 | 用户ID。 |
token | Y | 字符串 | 用户token。普通用户必须设置用户token,游客token为空字符串。 |
响应串:
{"head":{"cmd":"login", "time":1468567441, "req_id":"xxxxxx", "msg_id":"", "err":0, "err_info":"login success"}, "body":{"user_id":3, "client_id":"ClientID_3_127.0.0.1_6610_1468567441_19_1468567441_497607", "token":"920805"}}
参数说明:
参数 | 必要 | 数据类型 | 最大长度 | 描述 |
user_id | Y | 无符号64整数 |
| 用户ID |
client_id | Y | 字符串 |
| 客户端ID |
token | Y | 字符串 |
| 客户端Token |
。。。 。。。