查询合同
1. 合同详情
请求地址:/v2/contract/detail
请求方法:GET
请求参数:
参数 | 类型 | 必须 | 描述 |
---|---|---|---|
contractId | String | 否 | 合同ID,合同ID于业务ID二选一,不能同时为空 |
bizId | String | 否 | 业务ID,合同ID于业务ID二选一,不能同时为空 |
tenantName | String | 否 | 子公司名称,若使用业务ID查询合同详情,且合同是以子公司身份创建的,则需要传递该值,用于确定合同主体 |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
code | Integer | 响应码 |
message | String | 响应消息 |
result | Contract | 合同详情,参考创建合同的请求参数 |
请求示例:
Http示例
GET /v2/contract/detail?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 = "http://openapi.qiyuesuo.cn";
String accessKey = "替换为您申请的开放平台App Token";
String accessSecret = "替换为您申请的开放平台App Secret";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 合同详情
ContractDetailRequest request = new ContractDetailRequest(contractId);
String response = sdkClient.service(request);
SdkResponse<Contract> responseObj = JSONUtils.toQysResponse(response, Contract.class);
if(responseObj.getCode() == 0) {
Contract contract = responseObj.getResult();
logger.info("合同详情查询,合同主题:{}", contract.getSubject());
} else {
logger.info("请求失败,错误码:{},错误信息:{}", responseObj.getCode(), responseObj.getMessage());
}
C#示例
// 初始化sdkClient
string serverUrl = "http://openapi.qiyuesuo.cn";
string accessKey = "替换为您申请的开放平台App Token";
string accessSecret = "替换为您申请的开放平台App Secret";
SDKClient client = new SDKClient(accessKey, accessSecret, serverUrl);
string contractId = "2589012016299597907";
ContractDetailRequest request = new ContractDetailRequest();
request.ContractId = contractId;
string response = null;
try
{
response = client.Service(request);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
// 解析返回内容
SdkResponse<Contract> responseObject = HttpJsonConvert.DeserializeResponse<Contract> (response);
if (!responseObject.Code.Equals(0))
{
throw new Exception("获取合同详情失败,失败原因:" + responseObject.Message);
}
Console.WriteLine(“获取合同详情成功”);
Console.WriteLine(HttpJsonConvert.SerializeObject(responseObject));
PHP示例
// 初始化$sdkClient
class Util {
const url = "https://openapi.qiyuesuo.me";
const accessKey = "0VPomO****";
const accessSecret = "TckV2xbfKJU0iN37v2anFt22NH****";
}
$sdkClient = Util::getSDk();
$contractDetailRequest = new ContractDetailRequest();
$contractDetailRequest->setContractId('2590804900506210559');
$result = $sdkClient->service($contractDetailRequest);
print_r($result);
Python示例
# 初始化SdkClient
url = "http://openapi.qiyuesuo.cn"
accessToken = '替换为您申请的开放平台App Token'
accessSecret = '替换为您申请的开放平台App Secret'
sdkClient = SdkClient(url, accessToken, accessSecret)
# 合同详情
detail_request = ContractDetailRequest()
detail_request.set_contracId('2589643804158468448')
detail_response = sdkClient.request(detail_request)
print('查询合同详情:\n', str(detail_response), '\n')
2.获取合同列表
请求路径:/v2/contract/list
请求方式:GET
请求格式:multipart/form-data;charset=UTF-8
请求参数:
参数 | 类型 | 必须 | 描述 |
---|---|---|---|
status | OpenContractStatus | 否 | 合同状态(DRAFT(草稿),RECALLED(撤回),SIGNING(签约中),REJECTED(已退回),COMPLETE(已完成),EXPIRED(已过期),FILLING(拟定中),INVALIDING(作废中),INVALIDED(已作废) |
selectOffset | Integer | 是 | 查询开始的位置(从0开始) |
selectLimit | Integer | 是 | 查询限制 |
tenantName | String | 否 | 子公司名称 |
createTimeOrder | String | 否 | 排序(ASC:时间升序 DESC:时间降序) |
categoryId | Long | 否 | 分类ID |
categoryName | String | 否 | 分类名称 |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
code | Integer | 响应码 |
message | String | 响应消息 |
result | List<ContractBean> | 返回数据 |
ContractBean(返回数据):
参数 | 类型 | 描述 |
---|---|---|
id | Long | 合同ID |
subject | String | 主题 |
tenantName | String | 起草人名称 |
ordinal | Boolean | 是否为顺序签署 |
sn | String | 编号 |
status | Boolean | 合同状态(接口返回值):DRAFT(草稿) RECALLED(已撤回),SIGNING(签署中),REJECTED(已退回),COMPLETE(已完成),EXPIRED(已过期),FILLING(拟定中),INVALIDING(作废中),INVALIDED(已作废) |
expireTime | Date | 合同过期时间; 格式为yyyy-MM-dd HH:mm:ss |
publishTime | Date | 合同发布时间; 格式为yyyy-MM-dd HH:mm:ss |
category | CategoryBean | 分类 |
CategoryBean:
参数 | 类型 | 描述 |
---|---|---|
id | Long | 分类ID |
name | String | 分类名称 |
请求示例:
Http示例
GET /v2/contract/list?selectOffset=0&selectLimit=1 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);
// 创建请求对象
ContractListRequest request = new ContractListRequest();
request.setSelectOffset(0);
request.setSelectLimit(10);
// 解析请求结果
String response = sdkClient.service(request);
SdkResponse qysResponse = JSONUtils.toQysResponse(response, ContractListResult.class);
if(qysResponse.getCode() == 0) {
ContractListResult contractListResult = qysResponse.getResult();
logger.info("业务分类列表查询,数量:{}", contractListResult.getTotalCount());
}