网易云通信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字符,非中国大陆手机号码需要填写国家代码(如美国:+1-xxxxxxxxxx)或地区代码(如香港:+852-xxxxxxxx)
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状态表