平台简介
新手指南
API协议
API文档
单点登录集成
小程序插件
公告
常见问题
开放平台使用操作手册
帮助中心 / 开放平台帮助文档 / 查询合同
查询合同
开放平台V2版本,查询合同

查询合同

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());
}