修改个人账号(SaaS API非标版签署产品通用)

更新时间:2022-09-23 09:36:52

接口描述

通过在【创建个人账号】接口返回的个人账号accounId来更新账号信息。

1. 更新账号的联系方式:手机号、邮箱

2. 若需更新姓名,则该账号会变为未实名状态,需要用户重新实名;

【注】接口不支持变更证件类型证件号,建议开发者先调用【注销个人账号】接口,重新创建。

接口

/v1/accounts/{accountId}

请求方式

PUT

请求头

提供两种安全接入方式,开发者可选择其中一种方式进行对接,对应参数如何获取,参考文档请点击】。

方式一:请求签名鉴权(优先推荐)

参数名称

类型

必选

参数说明

X-Tsign-Open-App-Id

string

应用ID

Content-Type

string

application/json;charset=UTF-8

X-Tsign-Open-Ca-Timestamp

string

API 调用者传递时间戳,值为当前时间的毫秒数,也就是从1970年1月1日起至今的时间转换为毫秒,时间戳有效时间为15分钟,为了防重放攻击

Accept

string

建议统一填写 */*

X-Tsign-Open-Ca-Signature

string

签名字符串

Content-MD5

string

当请求 Body 非 Form 表单时,可以计算 Body 的 MD5 值传递给云网关进行 Body MD5 校验。建议当请求 Body 非 Form 表单时,加上此请求头。

X-Tsign-Open-Auth-Mode

string

选择请求方式进行鉴权,固定值:Signature

方式二:OAuth2.0鉴权(不推荐使用)

当安全接入选择OAuth2.0鉴权方式请点击查阅详情,请求头入参示例如下:

参数名称

类型

必选

参数说明

X-Tsign-Open-App-Id

string

项目ID

X-Tsign-Open-Token

string

通过获取鉴权Token接口返回

Content-Type

string

application/json; charset=UTF-8


请求参数

参数名称

类型

必选

参数类型

参数说明

accountId

string

path

账号id

email

string

body

联系方式,邮箱地址,默认不变

mobile

string

body

联系方式,手机号码,默认不变

name

string

body

姓名,默认不变

idNumber

string

body

证件号,该字段只有为空才允许修改

idType

string

body

证件类型,默认CRED_PSN_CH_IDCARD
(1)CRED_PSN_CH_IDCARD 大陆身份证,默认值

(2)CRED_PSN_CH_TWCARD 台湾来往大陆通行证

(3)CRED_PSN_CH_MACAO 澳门来往大陆通行证

(4)CRED_PSN_CH_HONGKONG 香港来往大陆通行证

(5)CRED_PSN_PASSPORT 护照

该字段只有为空才允许修改

响应参数

展开全部参数参数名称(点击左侧“+”一键展开)

类型

必选

参数说明

code

int32

业务码,0表示成功,非0表示异常。

message

string

错误信息

请根据 code 来判断错误情况,不应该依赖message匹配,因为 message 可能会调整。

data

object

业务信息

accountId

string

个人账号id

name

string

姓名

idType

string

证件类型

CRED_PSN_CH_IDCARD 中国大陆身份证

CRED_PSN_CH_TWCARD 台湾来往大陆通行证

CRED_PSN_CH_MACAO 澳门来往大陆通行证

CRED_PSN_CH_HONGKONG 香港来往大陆通行证

CRED_PSN_PASSPORT 护照

idNumber

string

证件号

mobile

string

联系方式,手机号码

email

string

联系方式,邮箱地址

thirdPartyUserId

string

第三方平台的用户id

请求示例  

{
    "email": "xxx",
    "mobile": "182681xxxxx",
    "name": "xx"
}

Postman请求示例


Java请求示例

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub

		// body请求参数
		String param = updatePersonAcctParam("wutest@esign.cn", "182681xxxxx", "xx");
		// 请求方式
		RequestType reqType = RequestType.PUT;
		// 请求URL
		String url = "https://smlopenapi.esign.cn/v1/accounts/1c04a729df94422ab8c8b664b5b1370e";

		// 鉴权Token,注意token有效时长为120分钟。如果有多台机器建议使用分布式存储,新旧token会共存5分钟
		String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnSWQiOiI4N2I4YmJhNGY2N2U0ZjRiODQ3Njc2M2FmNTRjZGYxYSIsImFwcElkIjoiNDQzODc3MTgwOSIsIm9JZCI6ImJiZDNlYTExZWY0ZDQyNmI4NTYzNDhmYjg1MDYxM2ZmIiwidGltZXN0YW1wIjoxNTY5Mjg5MTUzOTIxfQ.GZ2aerBxk1QfB589BAtNGvDgT1nsMtrK0hOvguW-9GI";
		// 向指定URL发送http方法的请求
		JSONObject json = sendHttp(reqType, url, buildCommHeader(token), param);
		System.out.println(json.toJSONString());
	}

	/**
	 * @description 个人账号修改 参数
	 * 
	 *              待填充参数:
	 *              <p>
	 *              email:邮箱地址【可空】
	 *              <p>
	 *              mobile:联系手机号【可空】
	 *              <p>
	 *              name:姓名【可空】
	 * @return
	 */
	public static String updatePersonAcctParam(String email, String mobile, String name) {
		JSONObject json = new JSONObject();
		json.put("email", email);
		json.put("mobile", mobile);
		json.put("name", name);
		return json.toString();
	}

	/**
	 * @description 创建常规请求头
	 * @param token
	 * @return
	 */
	private static Map<String, String> buildCommHeader(String token) {
		Map<String, String> header = Maps.newHashMap();
		header.put("X-Tsign-Open-App-Id", "項目id");
		header.put("X-Tsign-Open-Token", token);
		header.put("Content-Type", "application/json");
		return header;
	}

	/**
	 * @description 发起HTTP / HTTPS 请求
	 *
	 * @param reqType {@link RequestType} 请求类型 GET、 POST 、 DELETE 、 PUT
	 * @param url     {@link String} 请求目标地址
	 * @param headers {@link Map} 请求头
	 * @param param   {@link Object} 参数
	 * @return
	 * @throws Exception
	 */
	public static JSONObject sendHttp(RequestType reqType, String url, Map<String, String> headers, Object param)
			throws Exception {
        ... ...
        }


响应示例

{
    "code":0,
    "message":"成功",
    "data":{
        "mobile":"182681xxxx",
        "email":"test@esign.cn",
        "cardNo":null,
        "name":"xx",
        "accountId":"1eaf205d5d6d4e579a9d221d775xxxx",
        "idType":"CRED_PSN_CH_IDCARD",
        "idNumber":"372482xxxxxxxx3829",
        "thirdPartyUserId":"20190923103830111",
        "thirdPartyUserType":"_DEFAULT_USER"
    }
}

我要纠错