1、接入指引
当您成为智合同AI开放平台的开发者之后,可以通过应用中心自行创建应用。当应用创建完毕,您将获得应用对应的AppId与AppSecret,请务必保管好您的AppId与AppSecret。该信息将作为调用接口的安全凭证。
2、Base64和URLEncoder算法
本算法采用RFC4648标准,用于对二进制文件进行编码。验证算法是否正确,请使用附件所带的源文件《房屋买卖合同最新样本.docx》,通过Base64编码之后文件为 《房屋买卖合同最新样本base64.txt》,如调试过程中出现类似文件格式错误的情况,请务必使用上述两个文件进行验证。
3、签名算法
签名算法中,除sign参数外,所有的请求参数都需要参与签名,本签名使用MD5摘要算法。
例如对如下的请求参数进行签名:
第一步:先排除请求参数中的sign参数。
第二步:对所有参数,按照参数名字母顺序,升序排列,用&拼接成一个形如key1=value1&key2=value2 这样的字符串。
第三步:把AppSecret附加到第二步生成的字符串上,key1=value1&key2=value2AppSecret。
第四步:对第三步生成的字符串进行md5摘要。
注:这里需要特别注意的是,由于biz_content的值要求URLEncoder之后传递,因此在签名的时候,也要求是URLEncoder之后再拼接到字符串当中。
如在调试过程中,报错信息为签名错误,务必使用如下的例子验证代码是否正确:
AppSecret= 8f0b690f44a91cbcea48b28cff7e9495
method=cont.risk
request_id=1516069968574
timeStamp=1516069968636
version=3.0
app_id=cbi1513925261350
biz_content=????
其中的biz_content参数值,请使用 Base64算法 章节中,举例的数据。
对这些参数签名的结果为:25e5d774f1c911f42c85c43a9822ba93
4、基础参数
接口地址:
https://www.shenht.com/openapi/gateway.htm
仅支持POST方式。数据传输过程中,所有的字符串数据,统一要求为UTF-8编码。所有参数使用key=value&key1=value1的方式拼接后,使用post方式发送给服务器。
下表中的参数,是所有请求都需要的参数:
参数名 | 类型 | 是否必填 | 描述 |
request_id | 字符串(100) | 是 | 由商家生成,要求为英文或字母的组合,在每个商家范围内,保持唯一 |
app_id | 字符串(20) | 是 | 由平台为每个商家生成,参见《接入指引》部分 |
timeStamp | 长整形 | 是 | 请求发起时的时间戳,毫秒级,需要注意请求发起的服务器时间是否准确,如果该时间戳与平台服务器时间戳之间差距超过1小时,则该请求会被拒绝 |
version | 字符串 | 是 | 协议版本号,版本号传入“3.0” |
biz_content | 字符串(不限长度) | 是 | 业务参数,符合JSON格式的字符串,该参数的值需要进行URL(utf-8)编码。参见《Base64》 |
sign | 字符串 | 是 | 签名字符串,签名详见 《签名算法》 |
method | 字符串 | 是 | 请求的业务名称 |
所有的请求,返回的数据为JSON格式的字符串,返回数据的结构为:
{"result":{},"code":0,"msg":""}
code表示本次请求的状态,0表示成功,不等于0的数字表示错误,错误代码参看《错误代码》章节。
msg 表示返回的描述,如果code不等于0,该参数表示错误的描述,如果code等于0,则该参数不出现在返回结果中。
result 返回结果的业务参数,如code为0,则该参数对应请求的业务参数,具体参见各个请求详情。
5、合同风险提取
1) 接口说明:提取合同中缺失条款、风险,调用该方法后,服务器会异步处理请求,因此在获取到该方法的返回数据后,必须先判断 status 参数,如果该参数的值为 1,则应等待 3-5 秒后,再次调用 合同风险提取结果查询方法获取审核状态,直到 status 的值不为 1 为止。
2) 请求业务名称(method 参数值):cont.risk
3) 支持的版本:3.0
4) 请求参数 biz_content 内容:
5) 返回参数 result(json 对象):
6、查询合同风险提取结果
1) 接口说明:在获取到该方法的返回数据后,必须先判断 status 参数,如果该 参数的值为 1,则应等待 3-5 秒后,再次调用本方法,直到 status 的值不为 1 为止。
2) 请求业务名称(method 参数值):cont.loadRisk
3) 支持的版本:3.0
4) 请求参数 biz_content 内容:
5) 返回参数 result(json 对象):
风险 Json 对象:
条款 Json 对象:
风险点 Json 对象:
扣分 Json 对象:
6.错误代码