网易云通信ID

网易云通信ID调用说明

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

注:

  1. 网易云通信ID:以下文档中也称为“用户帐号”,参数名用“accid”或”account“等表示。
  2. token:网易云通信ID的密码。创建accid时可以由开发者app的服务端指定。若未指定,则云信会自动生成一个token,并返回给开发者。客户端登录时,需要传参accid与token给云信服务器鉴权。token没有过期的概念,除非人为更改。只有最新的token才是唯一有效的。当登录时使用非最新的token,将会返回的错误码 302。
  3. 客户端通过网易云通信SDK连接登录云信服务器时,需要保证网易云通信ID已经注册, 且确保客户端从自己的服务器已经取得了有效token;

创建网易云通信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.第三方帐号导入到网易云通信平台。注册成功后务必在自身的应用服务器上维护好accid与token

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

3.云信应用内的accid若涉及字母,请一律为小写,并确保服务端与所有客户端均保持小写。

参数说明

参数类型必须说明
accidString 网易云通信ID,最大长度32字符,必须保证一个
APP内唯一(只允许字母、数字、半角下划线_、
@、半角点以及半角-组成,不区分大小写,
会统一小写处理,请注意以此接口返回结果中的accid为准)。
nameString 网易云通信ID昵称,最大长度64字符。
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请求示例(java)(以下各接口的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、417、431、500

具体请参考code状态表


更新网易云通信token

请求说明

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

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

接口描述

1.更新网易云通信token。通过该接口,可以对accid更新到指定的token,更新后请开发者务必做好本地的维护。更新后,需要确保客户端SDK再次登录时携带的token保持最新。

参数说明

参数类型必须说明
accidString 网易云通信ID,最大长度32字符,必须保证一个
APP内唯一
propsString 该参数已不建议使用。
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&token=123456' '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.此接口与网易云通信token更新接口最大的区别在于:前者的token是由云信服务器指定,后者的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后,此ID将不能再次登录。若封禁时,该id处于登录状态,则当前登录不受影响,仍然可以收发消息。封禁效果会在下次登录时生效。因此建议,将needkick设置为true,让该账号同时被踢出登录。
2.封禁时踢出,会触发登出事件消息抄送。
3.出于安全目的,账号创建后只能封禁,不能删除;封禁后账号仍计入应用内账号总数。

参数说明

参数类型必须说明
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状态表