网易云通信ID

网易云通信ID调用说明

  1. App:第三方app客户端;
  2. AppServer:第三方app服务端;
  3. 网易云通信webserver:网易云通信后台web服务;
  4. 网易云通信imserver:SDK直连的IM服务。 Alt text

    注:

    1. 客户端通过网易云通信SDK连接服务器时,需要保证网易云通信ID已经注册,通过网易云通信webserver生成token,确保客户端从服务器已经取得token;
    2. 客户端在获取token之后,可以直连网易云通信服务器,进行校验;
    3. token:网易云通信ID的密码
      • 创建网易云通信ID时如果第三方APP自己指定,可以为加密后的密码,也可以为第三方为帐号生成的一个加密的密钥。此token在创建网易云通信ID时指定,在app直连网易云通信imserver时带上即可。此token在第三方被修改时,请同步调用网易云通信webserver进行修改,以免引起用户登陆失败;
      • 创建网易云通信ID时如果不指定此token,则网易云通信会为该ID生成一个加密的token,第三方需要保存此token。同样的,app在登录时需要进行认证,在通过网易云通信imserver进行连接时,需要带上此token。同理,此token在第三方被修改时,请同步调用网易云通信webserver进行修改,以免引起用户登陆失败(此token原则上没有过期时间,如果发现token丢失可以使用接口刷新token);
    4. 网易云通信ID,以下文档中也称为“用户帐号”,参数名用“accid”表示。

创建网易云通信ID

请求说明

POST https://api.netease.im/nimserver/user/create.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

1.第三方帐号导入到网易云通信平台;

2.注意accid,name长度以及考虑管理token。

参数说明

参数类型必须说明
accidString 网易云通信ID,最大长度32字符,必须保证一个
APP内唯一(只允许字母、数字、半角下划线_、
@、半角点以及半角-组成,不区分大小写,
会统一小写处理,请注意以此接口返回结果中的accid为准)。
nameString 网易云通信ID昵称,最大长度64字符,用来PUSH推送
时显示的昵称
propsString json属性,第三方可选填,最大长度1024字符
iconString 网易云通信ID头像URL,第三方可选填,最大长度1024
tokenString 网易云通信ID可以指定登录token值,最大长度128字符,
并更新,如果未指定,会自动生成token,并在
创建成功后返回
sign String 用户签名,最大长度256字符
email String 用户email,最大长度64字符
birth String 用户生日,最大长度16字符
mobile String 用户mobile,最大长度32字符
gender int 用户性别,0表示未知,1表示男,2女表示女,其它会报参数错误
ex String 用户名片扩展字段,最大长度1024字符,用户可自行扩展,建议封装成JSON字符串

curl请求示例

curl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 4tgggergigwow323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'accid=zhangsan&name=zhangsan' 'https://api.netease.im/nimserver/user/create.action'

HttpClient请求示例(以下各接口的HttpClient调用方式参考此处

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Test {
    public static void main(String[] args) throws Exception{
        DefaultHttpClient httpClient = new DefaultHttpClient();
        String url = "https://api.netease.im/nimserver/user/create.action";
        HttpPost httpPost = new HttpPost(url);

        String appKey = "94kid09c9ig9k1loimjg012345123456";
        String appSecret = "123456789012";
        String nonce =  "12345";
        String curTime = String.valueOf((new Date()).getTime() / 1000L);
        String checkSum = CheckSumBuilder.getCheckSum(appSecret, nonce ,curTime);//参考 计算CheckSum的java代码

        // 设置请求的header
        httpPost.addHeader("AppKey", appKey);
        httpPost.addHeader("Nonce", nonce);
        httpPost.addHeader("CurTime", curTime);
        httpPost.addHeader("CheckSum", checkSum);
        httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");

        // 设置请求的参数
        List<NameValuePair> nvps = new ArrayList<NameValuePair>();
        nvps.add(new BasicNameValuePair("accid", "helloworld"));
        httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));

        // 执行请求
        HttpResponse response = httpClient.execute(httpPost);

        // 打印执行结果
        System.out.println(EntityUtils.toString(response.getEntity(), "utf-8"));
    }
}

返回说明

http 响应:json

"Content-Type": "application/json; charset=utf-8"
{
  "code":200,
  "info":{"token":"xx","accid":"xx","name":"xx"} 
}

主要的返回码

200、403、414、416、431、500

具体请参考code状态表


网易云通信ID更新

请求说明

POST https://api.netease.im/nimserver/user/update.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

网易云通信ID基本信息更新

参数说明

参数类型必须说明
accidString 网易云通信ID,最大长度32字符,必须保证一个
APP内唯一
propsString json属性,第三方可选填,最大长度1024字符
tokenString 网易云通信ID可以指定登录token值,最大长度128字符

curl请求示例

curl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 4tgggergigwow323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'accid=zhangsan' 'https://api.netease.im/nimserver/user/update.action'

返回说明

http 响应:json

"Content-Type": "application/json; charset=utf-8"
{
  "code":200 
}

主要的返回码

200、403、414、416、431、500

具体请参考code状态表


更新并获取新token

请求说明

POST https://api.netease.im/nimserver/user/refreshToken.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

1.webserver更新网易云通信ID的token,同时返回新的token;

2.一般用于网易云通信ID修改密码,找回密码或者第三方有需求获取新的token。

参数说明


参数类型必须说明
accidString 网易云通信ID,最大长度32字符,必须保证一个
APP内唯一

curl请求示例

curl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 4tgggergigwow323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'accid=zhangsan' 'https://api.netease.im/nimserver/user/refreshToken.action'

返回说明

http 响应:json

"Content-Type": "application/json; charset=utf-8"
{
  "code":200, 
  "info":{"token":"xxx","accid":"xx" } 
}

主要的返回码

200、403、414、416、431、500

具体请参考code状态表


封禁网易云通信ID

请求说明

POST https://api.netease.im/nimserver/user/block.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

1.第三方禁用某个网易云通信ID的IM功能;

2.封禁网易云通信ID后,此ID将不能登陆网易云通信imserver。

参数说明

参数类型必须说明
accidString 网易云通信ID,最大长度32字符,必须保证一个
APP内唯一
needkick String 是否踢掉被禁用户,true或false,默认false

curl请求示例

curl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 4tgggergigwow323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'accid=zhangsan' 'https://api.netease.im/nimserver/user/block.action'

返回说明

http 响应:json

"Content-Type": "application/json; charset=utf-8"
{
  "code":200
}

主要的返回码

200、403、414、416、431、500

具体请参考code状态表


解禁网易云通信ID

请求说明

POST https://api.netease.im/nimserver/user/unblock.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8

请求中Headers的设置请参考接口概述

接口描述

解禁被封禁的网易云通信ID

参数说明

参数类型必须说明
accidString 网易云通信ID,最大长度32字符,必须保证一个
APP内唯一

curl请求示例

curl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 4tgggergigwow323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'accid=zhangsan' 'https://api.netease.im/nimserver/user/unblock.action'

返回说明

http 响应:json

"Content-Type": "application/json; charset=utf-8"
{
  "code":200
}

主要的返回码

200、403、414、416、431、500

具体请参考code状态表