2.身份证签约接口(新)
>d 请正确选择贵司的签约方式,如不知晓具体签约方式,可联系商务支持;
## 时序图

## 1.身份证资料上传接口
#### 接口地址:
/open/api/v1/sign/pre/info/upload
#### 请求方式:POST
#### 请求参数说明:
>d 注:姓名、身份证号、手机号三个参数用于创建登录账号以及账号实名,手机号作为登录账号,且身份证号将与手机号绑定,需要做到都传或者都不传,任一一个缺失则判定都未传
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|name|姓名|String(20)|否|身份证姓名|
|idCard|身份证号码|String(20)|否|身份证号码|
|mobile|手机号|String(11)|否|手机号|
|frontIdCard|身份证正面|String(640)|否|身份证正面图片信息(图片大小不能超过2.4M)|
|backIdCard|身份证反面|String(640)|否|身份证反面图片信息(图片大小不能超过2.4M)|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义| 数据类型|是否必有|参数备注|
|-|-|-|-|-|
|url|H5免密登录链接|String|是|例:https://xxxxx?code=xxx&idCode=xxx,有效时间2分钟,不可重复使用,如果需要走完流程后重定向到指定页面,需要自行在url后面拼接参数redirectUrl,注意重定向的地址需要UrlEncode转义|
|navigateData|微信小程序免密跳转参数|Object|是|微信小程序接入流程|
|- appId|微信小程序appId|String|是|ssc小程序应用id,例: wx2bf*********cb|
|- path|微信小程序跳转路径及参数|String|是|跳转路径及参数,例:/pages/index/xxx?code=XXX&idCode=XXX, 如需签约完成后跳转至来源小程序,返回按钮文案必填,需要自行在url后面拼接参数redirectText|
#### 流程完成后重定向设置:

|参数名称|参数含义| 数据类型|是否必有|参数备注|
|-|-|-|-|-|
|redirectUrl|重定向url|String|否|h5嵌入式必填,小程序嵌入式非必填。特殊字符需要encode转义|
|redirectText|重定向按钮文案|String|是|完成注册流程后的返回按钮文案,注:小程序签约需填写才能返回来源小程序|
>d h5自定义重定向参数后实例:
``` js
https://***/***?code=xxx&idCode=xxx&redirectUrl=https%3A%2F%2Fxxx.xxx.xxx&redirectText=返回XXX
```
>d 小程序自定义返回按钮参数后实例:
``` js
wx.navigateToMiniProgram({
appId: 'wx2bf*********cb', // appId
path: `/pages/index/XXX?code=XXX&idCode=XXX&redirectText=返回XXX`, // 跳转页面及参数
})
```
#### 异常参数说明:
|code| status|解析信息| 解决方案| 备注|
|-|-|-|-|-|
|DATA_NOT_EXIST|1|XXX参数不存在|||
|KEYS_ERROR|1006|二要素(姓名,身份证)认证失败|确认上传的姓名、身份证信息是否正确||
|PHONE_IS_USED|1016|该手机号已经被使用|此手机号已经被其他身份证号绑定,更换其他手机号或者输入绑定的身份证号||
|USER_SIGN_AGE_OUT_LIMIT|1037|系统检测到您的年龄不符合平台规则,暂时无法签约,感谢您的理解|请联系客服||
|ID_CARD_BACK_ERROR|9089|请重新上传身份证(人像面)|重新上传身份证人像面|
|ID_CARD_FRONT_ERROR|9090|请重新上传身份证(国徽面)|重新上传身份证国徽面|
|ID_CARD_FRONT_MATCH_ERROR|9092|签约身份证号与识别的身份证号不匹配|确认上传的身份证号码与客户本人信息是否正确||
|UNABLE_TO_SIGN|10025|暂不能签约,请联系客服|请联系客服|
|USER_SIGN|1029|您已经签约过了|当前身份证号已经签约了,无需再次签约|
## 2.签约成功后回调接口
>d 回调参数解密请参考 [回调说明](https://easydoc.net/doc/95180784/Ry461Ra3/IVn3pmlF#nav_7)。
#### 请求方式:POST
#### 传给回调接口参数data 解密结果json说明:
解密结果示例如下:
```json
{
"callbackType":"sign",
"idCard":"12456484",
"realName":"张三",
"bankCard":"54848484",
"mobile":"1888888888",
"loginMobile":"1888888888",
"protocolUrl":"https://xxx.xxx.com/xxx"
}
```
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|callbackType|回调类型|String| 是|固定返回:sign|
|idCard| 身份证号|String| 是||
|realName| 真实姓名|String| 是||
|bankCard| 银行卡号|String| 否|银行卡四要素签约时返回|
|mobile| 签约手机号|String| 否||
|loginMobile| 登录手机号|String| 是||
|protocolUrl| 签署成功的协议链接|String| 是||