对接方服务端接口说明
1 功能说明
该对接方接口用于接收JS-SDK
发送的请求,并将请求转发到契约锁开放平台
接口地址中,在转发之前,需要为请求添加契约锁开放平台请求头。接口转发完成之后,需要将契约锁开放平台
返回的结果返回给JS-SDK
。
2 对接方接口实现说明
对接方服务端接口需要可以解析如下请求格式的请求:
2.1 请求方法
对接方接口对应的接口地址需要同时支持GET与POST两种请求方式。
- GET 请求结构
参数名称 | 参数类型 | 参数说明 |
---|---|---|
requestData | string | 请求参数内容,json字符串形式 |
- POST 请求结构
参数名称 | 参数类型 | 参数说明 |
---|---|---|
file | file | 上传的文件 |
requestData | string | 请求参数内容,json字符串形式 |
2.2 Content-Type
对接方接口需要支持一下两种形式的请求,若请求为POST请求,则Content-Type为multipart/form-data;charset=UTF-8
,若请求为GET请求,采用application/x-www-form-urlencoded;charset=UTF-8
形式进行请求。
2.3 请求示例
- Http Get 请求示例:
GET /proxy HTTP/1.1
Host: [对接方服务器地址]
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
requestData=%7B%22type%22%3A%22GET_SIGN_PIN%22%2C%22data%22%3A%7B%22contractId%22%3A%222579175115228254281%22%2C%22userId%22%3A%222465085257979585017%22%7D%7D
- Http Post请求示例:
POST /proxy HTTP/1.1
Host: [对接方服务器地址]
cache-control: no-cache
Content-Type: multipart/form-data; charset=UTF-8; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="requestData"
{"type":"UPLOAD_IVS_MATERIAL","data":{"contractId":"2579175115228254281","userId":"2465085257979585017"}}
------WebKitFormBoundary7MA4YWxkTrZu0gW--,
Content-Disposition: form-data; name="requestData"
{"type":"UPLOAD_IVS_MATERIAL","data":{"contractId":"2579175115228254281","userId":"2465085257979585017"}}
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Content-Disposition: form-data; name="file"; filename="/C:/Users/Richard Cheung/Documents/契约锁/测试/参数模板.docx
------WebKitFormBoundary7MA4YWxkTrZu0gW--
3 对接方接口转发地址
对接方接口需要在完成对JS-SDK
请求添加请求头后,将接口转发到契约锁开放平台接口地址,并将契约锁开放平台返回的数据内容返回给JS-SDK
。
- 接口地址:
[host]/uniformapi
- 请求头说明:
请求头名 | 说明 |
---|---|
x-qys-open-timestamp | 签名时间戳值,Unix TimeStamp,单位:毫秒,示例:1568945484738 |
x-qys-open-signature | 签名校验位,生成方法:MD5(Access Token + Access Secret + Timestamp) |
x-qys-open-accesstoken | 开放平台 App Token |
- 转发请求示例
POST /uniformapi HTTP/1.1
Host: https://openapi.qiyuesuo.cn
cache-control: no-cache
x-qys-open-timestamp: [对接方时间戳]
x-qys-open-signature: [对接方签名内容]
x-qys-open-accesstoken: [对接方密钥]
Content-Type: multipart/form-data; charset=UTF-8; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="requestData"
{"type":"UPLOAD_IVS_MATERIAL","data":{"contractId":"2579175115228254281","userId":"2465085257979585017"}}
------WebKitFormBoundary7MA4YWxkTrZu0gW--,
Content-Disposition: form-data; name="requestData"
{"type":"UPLOAD_IVS_MATERIAL","data":{"contractId":"2579175115228254281","userId":"2465085257979585017"}}
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Content-Disposition: form-data; name="file"; filename="/C:/Users/Richard Cheung/Documents/契约锁/测试/参数模板.docx
------WebKitFormBoundary7MA4YWxkTrZu0gW--
4 接口服务端代码示例
- Java Source Code:
https://github.com/qiyuesuo/jssdk-server/tree/master/jssdk-java-server
- .Net Source Code:
https://github.com/qiyuesuo/jssdk-server/tree/master/jssdk-csharp-server
- Python Source Code:
https://github.com/qiyuesuo/jssdk-server/tree/master/jssdk-python-server
- PHP Source Code:
https://github.com/qiyuesuo/jssdk-server/tree/master/jssdk-php-server