下载合同与附属文件
请求地址
/v2/contract/download
请求方法
GET
请求参数
Y:必填 N:非必填 CY:条件必填,即其他参数的输入情况会影响当前参数是否必填(具体逻辑参照各参数的描述)
参数
类型
是否必传
长度
描述
示例
contractId
String
CY
20
合同ID,合同ID与业务ID二选一,不能同时为空
2966238833119273961
bizId
String
CY
50
业务ID,合同ID与业务ID二选一,不能同时为空
66238833111
tenantName
String
CY
100
子公司名称,若使用业务ID下载合同,且合同是以子公司身份创建的,则需要传递该值,用于确定合同主体
阿里巴巴子公司
downloadItems
String
N
下载子项目,子项目可选项:CONTRACT("合同原文")、SIGNLOG("签署日志")、ATTACHMENT("附件")、NOTARY("存证报告")、ENDSIGN_ATTACHMENT(“强制结束附件”)、CERT("公钥证书"),各子项以逗号(",")相隔,如:CONTRACT,SIGNLOG,默认为合同文件与签署日志
CONTRACT,SIGNLOG
needCompressForOneFile
Boolean
N
当下载的文件为单份文件时,是否压缩;默认压缩
false
fileNameRule
String
N
下载文件命名方式【传参方式】DEFAULT:默认,仅1份文件时,文件名称为:文件类型-合同主题-接收方名称,多份文件时,每份文件名称为:文件类型-文件原名称ORIGINAL:文件原名称,直接使用文件原名称命名
ORIGINAL
频次限制
同一合同文档两次下载间隔 [25分钟] 内且连续 [10] 次后锁定,锁定时间 [12小时] 且时间叠加
请求示例
Http示例
GET /v2/contract/download?contractId=2591540368898105360 HTTP/1.1
Host: [host]
x-qys-open-timestamp: [替换为请求头生成的Timestamp]
x-qys-open-signature: [替换为请求头生成的Signature]
x-qys-open-accesstoken: [替换为请求头生成的Token]
Java示例
// 初始化sdkClient
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "替换为您申请的开放平台App Token";
String accessSecret = "替换为您申请的开放平台App Secret";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 下载合同
ContractDownloadRequest request = new ContractDownloadRequest(contractId);
FileOutputStream fos = new FileOutputStream("E:/test/contract.zip");
sdkClient.download(request, fos);
IOUtils.safeClose(fos);
logger.info("下载合同成功");
C#示例
// 初始化sdkClient
string serverUrl = "https://openapi.qiyuesuo.cn";
string accessKey = "替换为您申请的开放平台App Token";
string accessSecret = "替换为您申请的开放平台App Secret";
SDKClient client = new SDKClient(accessKey, accessSecret, serverUrl);
//下载合同
ContractDownloadRequest request = new ContractDownloadRequest();
request.ContractId = "2589012016299597907";
Stream stream = new FileStream("C:\\Users\\Richard Cheung\\Documents\\契约锁\\合同压缩包.zip", FileMode.Create);
try
{
client.Download(request, ref stream);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
PHP示例
// 初始化$sdkClient
class Util {
const url = "https://openapi.qiyuesuo.cn";
const accessKey = "替换为您申请的开放平台App Token";
const accessSecret = "替换为您申请的开放平台App Secret";
}
$sdkClient = Util::getSDk();
$filePath = "D:/contract-php-test.zip";
$contractDownloadRequest = new ContractDownloadRequest();
$contractDownloadRequest->setContractId('2590804900506210559');
$contractDownloadRequest->setBizId('123456789');
$result = $sdkClient->downloadService($contractDownloadRequest, $filePath);
print_r($result);
Python示例
# 初始化SdkClient
url = "https://openapi.qiyuesuo.cn"
accessToken = '替换为您申请的开放平台App Token'
accessSecret = '替换为您申请的开放平台App Secret'
sdkClient = SdkClient(url, accessToken, accessSecret)
# 下载所有合同文件
contractdownload_request = ContractDownloadRequest()
contractdownload_request.set_contractId('2589643804158468448')
contract_zip = open("C:\\Users\\Richard Cheung\\Documents\\契约锁\\合同文档.zip", "wb")
contract_zip.write(sdkClient.request(contractdownload_request))
print('下载文件成功 \n')
Go示例
sdkClient := http.NewSdkClient("https://openapi.qiyuesuo.cn", "替换为您申请的开放平台App Token", "替换为您申请的开放平台App Secret")
req := request.ContractDownloadRequest{}
req.ContractId = "3119917770918068335"
file, _ := os.OpenFile("/Users/sgf/develop/临时/go/goContract.zip", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666)
defer file.Close()
err := sdkClient.Download(req, file)
if err != nil {
fmt.Println("error,", err.Error())
}
返回参数
合同文件和签署日志的压缩包(.zip)
