/** * 创建草稿 **/ private SdkResponse <Contract> Draft(SDKClient client) { ContractDraftRequest request = new ContractDraftRequest(); Contract contract = new Contract(); contract.Subject = "合同主题名称"; //添加平台方签署方 Signatory platformSignatory = new Signatory("COMPANY", new User("张忱昊", "17621699044", "MOBILE"), 1); platformSignatory.TenantName = "大头橙橙汁公司";//平台方公司名称 //添加平台方签署流程,可根据需要调整 //目前平台方签署流程为: (1)公章签署(2)法人章签署 // 公章签署流程,并设置签署公章ID SignAction sealAction = new SignAction("COMPANY", 1); sealAction.SealId = "2490828768980361630"; platformSignatory.AddAction(sealAction); contract.AddSignatory(platformSignatory); //添加个人签署方,并设置个人签署方需要上传的附件内容 Signatory personalSignatory = new Signatory("PERSONAL", new User("邓茜茜", "15021504325", "MOBILE"), 2); personalSignatory.TenantName = "邓茜茜";//接收方名称 contract.AddSignatory(personalSignatory); //设置合同基本信息 contract.ExpireTime = "2020-07-28 23:59:59"; //设置合同过期时间,合同过期时间需要晚于发起时间 contract.Send = false; //合同不发起 request.Contract = contract; string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("创建合同草稿请求服务器失败,失败原因" + e.Message); } SdkResponse <Contract> sdkResponse = HttpJsonConvert.DeserializeResponse <Contract>(response); if (!sdkResponse.Code.Equals(0)) { throw new Exception("创建合同草稿失败,失败原因:" + sdkResponse.Message); } return(sdkResponse); }
/** * 用户通过配置好的业务分类进行合同发起 * 需在业务分类里配置好将要发起的合同文件或合同模板 * 配置好整个签署流程,以及签署流程中使用的印章 * **/ private SdkResponse <Contract> DraftByCategory(SDKClient client) { Contract draftContract = new Contract(); draftContract.Subject = "合同主体"; // 设置合同名称 draftContract.Category = new Category("2584280095237849689"); //设置将要使用的业务分类配置 draftContract.AddTemplateParam(new TemplateParam("接收方2", "发起方填参")); //若业务分类配置了参数模板,进行发起方填参 draftContract.AddTemplateParam(new TemplateParam("接收方1", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方3", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方4", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方5", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方6", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方7", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方8", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方9", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方10", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方11", "发起方填参2")); draftContract.AddTemplateParam(new TemplateParam("接收方12", "发起方填参2")); //设置 合同接收方,该设置的合同接收方需要与业务分类配置的接收方流程一致 Signatory companySignatory = new Signatory("COMPANY", new User("17621699044", "MOBILE"), 1); companySignatory.TenantName = "大头橙橙汁公司"; draftContract.AddSignatory(companySignatory); Signatory personalSignatory = new Signatory("PERSONAL", new User("15021504325", "MOBILE"), 2); personalSignatory.TenantName = "邓茜茜"; draftContract.AddSignatory(personalSignatory); draftContract.Send = true; //设置发起默认发起,业务分类中必须要有可用的签署文件 string response = null; try { response = client.Service(new ContractDraftRequest(draftContract)); } catch (Exception e) { throw new Exception("创建合同草稿请求服务器失败,错误原因:" + e.Message); } SdkResponse <Contract> sdkResponse = HttpJsonConvert.DeserializeResponse <Contract>(response); if (!sdkResponse.Code.Equals(0)) { throw new Exception("创建合同草稿失败,失败原因:" + sdkResponse.Message); } return(sdkResponse); }