Talk00接口文档
一、目录
概述6
1.权限验证8
1.1登录接口8
1.2验证接口9
2.负载均衡10
2.1负载接口10
3.消息转发11
3.1发送消息接口11
3.2接收消息接口12
3.3客户端心跳接口13
4.配置服务13
4.1获取静态服务接口14
4.2获取动态服务接口15
5.客户端管理16
5.1注册客户端接口16
5.2去注册客户端接口17
5.3获取用户所有在线客户端接口18
5.4获取在线客户端详细信息接口19
6.用户管理20
6.1注册用户接口21
6.2获取用户Token接口22
6.3去注册用户接口23
6.4获取用户信息接口24
6.5更新用户接口25
6.6更新用户状态接口27
6.7更新用户被加好友方式接口27
6.8更新用户被加群组方式接口28
6.9更新用户标签接口29
6.10判断是否可以聊天接口30
6.11获取用户系统信息接口(加好友,群组等系统消息)31
6.12刷新用户系统消息状态接口33
6.13更新用户设置信息接口34
7.好友管理35
7.1申请加好友接口35
7.2增加好友接口36
7.3删除好友接口37
7.4更新好友接口37
7.5更新好友备注名称接口38
7.6更新好友设置信息接口39
7.7获取好友列表接口40
7.8拉黑好友接口41
7.9取消拉黑好友接口42
7.10获取用户拉黑列表接口43
7.11获取好友状态接口44
8.群组管理45
8.1创建群组接口45
8.2刷新群组接口46
8.3刷新群组名称接口47
8.4刷新群组描述接口48
8.5刷新群组级别接口49
8.6刷新群组图片接口50
8.7刷新群组公告接口50
8.8刷新群组成员最大上限接口51
8.9刷新群组加入方式接口52
8.10刷新群组标签接口53
8.11刷新聊天室禁言时间接口54
8.12获取用户所有群组接口55
8.13申请加入群组接口56
8.14管理员批准进入群组接口57
8.15用户愿意进入群组接口58
8.16退出群组接口59
8.17拉黑群组成员接口60
8.18取消拉黑群组成员接口60
8.19获取群组拉黑成员列表接口61
8.20禁言群组成员接口62
8.21取消禁言群组成员接口63
8.22获取群组禁言成员列表接口64
8.23踢出群组成员接口65
8.24邀请用户加入群组接口66
8.25搜索群组接口67
8.26刷新群组成员备注名称接口68
8.27获取群组成员列表接口69
8.28增加群组管理员接口70
8.29删除群组管理员接口71
8.30获取群组管理员列表接口72
8.31增加群组逻辑组接口73
8.32删除群组逻辑组接口74
8.33移动群组逻辑组接口75
8.34更新群组逻辑组接口75
8.35获取群组逻辑组接口76
9.讨论组管理77
9.1创建讨论组接口77
9.2更新讨论组接口77
9.3更新讨论组名称接口77
9.4更新讨论组描述接口77
9.5更新讨论组图片接口78
9.6更新讨论组公告接口78
9.7更新讨论组成员最大上限接口78
9.8更新讨论组标签接口78
9.9获取讨论组列表接口78
9.10退出讨论组接口78
9.11踢出讨论组接口78
9.12邀请加入讨论组接口78
9.13获取讨论组成员列表接口79
10.聊天室管理79
10.1创建聊天室接口79
10.2进入聊天室接口80
10.3退出聊天室接口81
10.4刷新聊天室接口82
10.5刷新聊天室名称接口83
10.6刷新聊天室描述接口83
10.7刷新聊天室级别接口84
10.8刷新聊天室图片接口85
10.9刷新聊天室公告接口86
10.10刷新聊天室禁言时间接口87
10.11刷新聊天室标签接口87
10.12获取所有聊天室接口88
10.13获取用户创建的聊天室接口90
10.14拉黑聊天室成员接口91
10.15取消拉黑聊天室成员接口92
10.16获取聊天室拉黑列表接口93
10.17禁言聊天室成员接口94
10.18取消禁言聊天室成员接口95
10.19获取聊天室禁言列表接口95
10.20踢出聊天室成员接口96
10.21获取聊天室成员列表接口97
10.22增加聊天室管理员接口98
10.23删除聊天室管理员接口99
10.24获取聊天室管理员列表接口100
10.25搜索聊天室接口100
10.26获取聊天室人数接口102
10.27获取指定聊天室信息接口102
11.会话管理104
11.1创建会话接口104
11.2删除用户指定会话ID接口105
11.3增加用户指定会话ID接口106
11.4追加会话消息接口106
11.5获取会话列表接口107
11.6获取会话消息接口108
11.7判断会话ID是否存在接口109
12.文件传输110
12.1概述110
12.2文件上传接口111
12.3下载文件接口111
13.内部消息112
13.1心跳接口112
13.2服务注册接口112
14.异步消息113
14.1用户状态通知114
14.2增加好友通知114
14.3删除好友通知115
14.4拉黑好友通知116
14.5聊天室进入通知116
14.6聊天室退出通知117
14.7聊天室踢出通知118
14.8聊天室拉黑通知119
14.9聊天室禁言通知119
14.10聊天室增加管理员通知120
14.11聊天室删除管理员通知121
14.12群组进入通知122
14.13群组退出通知122
14.14群组踢出通知123
14.15群组拉黑通知124
14.16群组禁言通知125
14.17群组增加管理员通知125
14.18群组删除管理员通知126
14.19讨论组加入通知127
14.20讨论组退出通知128
14.21讨论组踢出通知128
14.22系统消息通知129
15.推送服务130
15.1推送特定用户130
15.2推送特定群组130
15.3推送特定讨论组131
15.4推送特定聊天室132
15.5推送所以在线用户132
16. 游客管理133
16.1获取一个游客接口133
17.错误码描述134
二、概述
(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 |
。。。 。。。