一、基本规则
- 所有 API 接口调用请求时必须使用 HTTPS 协议,发送 HTTPS 请求时所用 JDK/HTTPClient 或其他类库需保证支持 TLS1.2(安全加密协议)。
- 所有 API 接口调用请求时必须使用 UTF8 字符编码。
- 无特别声明时,所有 API 接口均使用 JSON 进行数据交换。
- 请不要依赖接口响应参数中的 message 进行业务处理,因为 e签宝可能会对 message 进行文案优化调整,请根据 code 进行业务处理。
- API 接口中可能在响应中新增 JSON 键值对,开发者需考虑参数兼容性,点击查看参数容错建议。
- API 接口入参和出参有可能包含用户输入的信息,为避免 XSS 攻击,开发者应该对数据进行适当的处理,增强用户输入校验,如使用 WAF 进行系统防护。
- 开发者应妥善保管 应用密钥(AppSecret) 防止泄露,如上传 Github 或 Gitee 时代码及注释需注意检查是否已删除AppSecret、身份证号、银行卡号等敏感信息。
- 为保障服务稳定性,e签宝正式生产环境禁止进行性能压测和安全渗透测试。e签宝沙箱模拟环境进行性能压测和安全渗透测试时,需先向e签宝技术顾问报备,获得许可后才能进行相关操作。否则,e签宝安全团队有权采取相关措施进行拦截,影响严重时e签宝安全团队将上报网警。
若开发者在使用本API过程中未自行对API的调用次数进行合理限制,由此导致的任何安全问题、性能问题、计费问题或遭受攻击的情况,本API提供方不承担任何责任。
二、接口请求相关说明
接口请求域名说明
所有的接口请求调用时需使用HTTPS协议、JSON数据格式、UTF8编码。
域名信息如下:
环境 | 域名 | 公网IP | 端口 |
正式生产环境 | 118.31.181.75 | 443 | |
沙箱模拟环境 | 114.55.17.44 | 443 |
环境说明
1. 若开发者需要配置防火墙后才可以访问互联网资源,可按实际使用到的e签宝域名进行配置。
2. 调用 smlopenapi.esign.cn 下的接口全都属于沙箱模拟环境,正式生产调用请使用 openapi.esign.cn。
3. 沙箱模拟环境下签署的合同属于测试文件,不具备任何法律效力。正式上线请务必切换到正式生产环境使用。
4. 沙箱模拟环境与正式生产环境数据不互通,正式使用时请注意重新创建相关账号及数据。
接口错误码说明
- e签宝会对 message 进行文案调整,请不要根据 message 进行业务逻辑判断。
- code 非0时均可代表业务失败或异常,开发者可使用 code 进行业务逻辑判断。
- 接口调用出现报错时,开发者可通过错误码查询工具查找错误排查方法。
接口QPS限制说明
开发者在开放平台上创建应用时,其QPS默认值是50次/秒,即每秒最高可同时调用50次e签宝接口。
若贵司有更高的并发需求,需要付费提高QPS。QPS购买可联系客户成功经理或交付顾问。
API 接口调用说明
请求签名鉴权方式请求头(优先推荐)
采用请求数据签名方式进行接口鉴权,防止请求数据被篡改,详见请求签名鉴权方式调用接口说明。
OAuth2.0鉴权接口调用方式(不推荐使用)
采用标准的 OAuth2.0 Client Credentials 方式进行接口鉴权,详见OAuth2.0鉴权方式调用接口说明。
请求参数类型及示例
接口请求参数分为 query、path 和 body 这三种类型。如下所示:
参数名称 | 参数类型说明 | 类型 | 是否必填 | 类型 |
a123 | query类型参数 | query | true | string |
b123 | path类型参数 | path | true | string |
c123 | body类型参数 | body | true | string |
不同类型的请求参数具体传值方式说明如下:
1. Path类型示例
path是指请求参数需要拼接在url中即可。
举例:
请求参数flowId为path类型,接口地址为:/v2/identity/auth/api/common/{flowId}/detail
完整请求:
https://openapi.esign.cn/v2/identity/auth/api/common/3611134459208242856/detail
注:例子中flowId值为:3611134459208242856
2. Query类型示例
query是指请求的参数,一般是指URL中 ? 字符后面的参数。简单说请求时参数可以拼接在 ? 后面。
举例:
请求参数keyWord为query类型,接口地址为:/v2/identity/auth/pub/organization/{flowId}/subbranch?keyWord={keyWord}
完整请求:
https://openapi.esign.cn/v2/identity/auth/pub/organization/3611134459208242856/subbranch?keyWord=平安银行杭州高新支行
注:例子中keyWord值为:平安银行杭州高新支行
3. Body类型示例
body是指请求体中的数据。通常情况下为接口具体入参数据的json字符串。
举例请求地址为:
https://openapi.esign.cn/v2/identity/auth/api/individual/face
Body请求体中数据为
{
"name":"张三",
"idNo":"320926xxxxxxxx5276",
"faceauthMode": "TENCENT",
"callbackUrl":"https://www.xx.cn/",
"contextId": "f0a7927dxxxxd86c8fa8",
"notifyUrl": "http://172.xx.xx.10:8080/notify/msgRecive"
}
则在PostMan中示例如下:
4. Path类型+Body类型示例
举例:
请求参数flowId为path类型,接口地址为/v2/identity/auth/api/organization/{flowId}/legalRepSign
完整请求:
https://openapi.esign.cn/v2/identity/auth/api/organization/3611134459208242856/legalRepSign
注:例子中flowId值为:3611134459208242856
Body请求体中数据为
{
"agentIdNo": "101101********1121",
"agentName": "张三",
"mobileNo":"188****8888",
"legalRepIdNo": "320926********5276",
"redirectUrl":"http://www.xx.cn/"
}
则在PostMan中示例如下:
5. Path类型+Query类型示例
举例:
请求参数flowId为path类型、keyWord为query类型,接口地址为:/v2/identity/auth/pub/organization/{flowId}/subbranch?keyWord={keyWord}
完整请求:
https://openapi.esign.cn/v2/identity/auth/pub/organization/3611134459208242856/subbranch?keyWord=平安银行杭州高新支行
注:例子中flowId值为:3611134459208242856,keyWord值为:平安银行杭州高新支行
则在PostMan中示例如下: