服务端API文档
更新时间: 2024/08/06 15:35:28
接口概述
API调用说明
本文档中,所有调用网易云信服务端接口的请求都需要按此规则校验。
API checksum校验
以下参数需要放在Http Request Header中
参数 | 参数说明 |
---|---|
AppKey | 开发者平台分配的appkey |
Nonce | 随机数(最大长度128个字符) |
CurTime | 当前UTC时间戳,从1970年1月1日0点0 分0 秒开始到现在的秒数(String) |
CheckSum | SHA1(AppSecret + Nonce + CurTime),三个参数拼接的字符串,进行SHA1哈希计算,转化成16进制字符(String,小写) |
CheckSum有效期:出于安全性考虑,每个checkSum的有效期为5分钟(用CurTime计算),建议每次请求都生成新的checkSum,同时请确认发起请求的服务器是与标准时间同步的,比如有NTP服务。
CheckSum检验失败时会返回414错误码,具体参看code状态表。
重要提示
: 本文档中提供的所有接口均面向开发者服务器端调用,用于计算CheckSum的AppSecret开发者应妥善保管,可在应用的服务器端存储和使用,但不应存储或传递到客户端,也不应在网页等前端代码中嵌入。
计算CheckSum的java代码举例如下:
javaimport java.security.MessageDigest;
public class CheckSumBuilder {
// 计算并获取CheckSum
public static String getCheckSum(String appSecret, String nonce, String curTime) {
return encode("sha1", appSecret + nonce + curTime);
}
// 计算并获取md5值
public static String getMD5(String requestBody) {
return encode(“md5”, requestBody);
}
private static String encode(String algorithm, String value) {
if (value == null) {
return null;
}
try {
MessageDigest messageDigest
= MessageDigest.getInstance(algorithm);
messageDigest.update(value.getBytes());
return getFormattedText(messageDigest.digest());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static String getFormattedText(byte[] bytes) {
int len = bytes.length;
StringBuilder buf = new StringBuilder(len * 2);
for (int j = 0; j < len; j++) {
buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]);
buf.append(HEX_DIGITS[bytes[j] & 0x0f]);
}
return buf.toString();
}
private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
}
接口说明
- 所有接口都只支持POST请求;
- 所有接口请求Content-Type类型为:application/x-www-form-urlencoded;charset=utf-8;
- 所有接口返回类型为JSON,同时进行UTF-8编码。
接口示例
网易云信服务端接口是简单的http接口,适配各种语言。 当然我们也提供了一些简单的示例供开发者参考。 网易云信服务器接口示例
网易云信IM账号
音视频通话依赖IM的账号体系,在集成音视频通话相关功能之前,需要先集成IM服务的账号体系。请参照IM服务端API文档的网易云信IM账号。
消息抄送
网易云信服务器可以通过消息抄送功能,将消息数据实时同步给第三方开发者的服务器。在使用音视频通话的过程中,音视频/白板通话的时长消息和录制文件的下载信息可以通过消息抄送服务抄送到第三方开发者的服务器。详细使用说明请参照IM服务器API文档的消息抄送。
音视频房间管理
网易云信服务器能提供音视频房间管理功能,它是以RESTful API形式给第三方开发者服务器。在使用音视频通话的过程中,第三方开发服务器可以通过该RESTful接口向网易云信服务器获取房间相关信息。详细使用说明请参照音视频房间管理RESTful API。
code状态表
code | 详细描述 |
---|---|
200 | 操作成功 |
201 | 客户端版本不对,需升级sdk |
301 | 被封禁 |
302 | 用户名或密码错误 |
315 | IP限制 |
403 | 非法操作或没有权限 |
404 | 对象不存在 |
405 | 参数长度过长 |
406 | 对象只读 |
408 | 客户端请求超时 |
413 | 验证失败(短信服务) |
414 | 参数错误 |
415 | 客户端网络问题 |
416 | 频率控制 |
417 | 重复操作 |
418 | 通道不可用(短信服务) |
419 | 数量超过上限 |
422 | 账号被禁用 |
431 | HTTP重复请求 |
500 | 服务器内部错误 |
503 | 服务器繁忙 |
508 | 消息撤回时间超限 |
509 | 无效协议 |
514 | 服务不可用 |
998 | 解包错误 |
999 | 打包错误 |
群相关错误码 |
|
801 | 群人数达到上限 |
802 | 没有权限 |
803 | 群不存在 |
804 | 用户不在群 |
805 | 群类型不匹配 |
806 | 创建群数量达到限制 |
807 | 群成员状态错误 |
808 | 申请成功 |
809 | 已经在群内 |
810 | 邀请成功 |
音视频、白板通话相关错误码 |
|
9102 | 通道失效 |
9103 | 已经在他端对这个呼叫响应过了 |
11001 | 通话不可达,对方离线状态 |
聊天室相关错误码 |
|
13001 | IM主连接状态异常 |
13002 | 聊天室状态异常 |
13003 | 账号在黑名单中,不允许进入聊天室 |
13004 | 在禁言列表中,不允许发言 |
特定业务相关错误码 |
|
10431 | 输入email不是邮箱 |
10432 | 输入mobile不是手机号码 |
10433 | 注册输入的两次密码不相同 |
10434 | 企业不存在 |
10435 | 登陆密码或帐号不对 |
10436 | app不存在 |
10437 | email已注册 |
10438 | 手机号已注册 |
10441 | app名字已经存在 |
此文档是否对你有帮助?