/// <summary> /// 企业用户重新认证企业 /// </summary> /// <param name="client"></param> /// <param name="realNameAuth">认证对象</param> /// <returns></returns> public string EnterpriseReCertification(SDKClient client, RealNameAuth realNameAuth) { if (!RealNameAuth.AUTH_TYPE_ENTERPRISE.Equals(realNameAuth.type)) { throw new Exception("EnterpriseReCertification失败, 失败原因: 用户类型必须为 RealNameAuth.AUTH_TYPE_ENTERPRISE"); } string response = null; try { RecertificationRequest request = new RecertificationRequest(realNameAuth); response = client.Service(request); } catch (Exception e) { throw new Exception("EnterpriseReCertification失败,失败原因: " + e.Message); } SdkResponse <NoCustomResult> sdkResponse = HttpJsonConvert.DeserializeResponse <NoCustomResult>(response); if (!sdkResponse.Success) { throw new Exception("EnterpriseReCertification失败,失败原因: " + sdkResponse.Message); } return(sdkResponse.Success.ToString()); }
static void Main(string[] args) { string serviceUrl = "https://openapi.qiyuesuo.cn"; //开放平台服务地址,测试环境:https://openapi.qiyuesuo.cn; 正式环境:https://openapi.qiyuesuo.com string accessToken = "qAJ6biXCwp"; //对接平台标识,在契约锁云平台完成企业实名认证,并成功申请开放平台后获得; string accessSeret = "iMFLfa2785VCZXVP3rhQqy7pgsI"; //对接平台密码,在契约锁云平台完成企业实名认证,并成功申请开放平台后获得; SDKClient client = new SDKClient(accessToken, accessSeret, serviceUrl); //远程签署 //RemoteSign remoteSign = new RemoteSign(client); //remoteSign.Process(); //标准签署 //StandardSign standardSign = new StandardSign(client); //standardSign.Process(); //本地签署 //LocalSign localSign = new LocalSign(client); //localSign.Process(); //个人认证 //PersonalAuthClass personalAuth = new PersonalAuthClass(client); //personalAuth.Process(); //企业认证 //CompanyAuthClass companyAuth = new CompanyAuthClass(client); //companyAuth.Process(); //文件存证 //EVS_SDK.Bean.SDKClient evsClient = new EVS_SDK.Bean.SDKClient(accessToken, accessSeret, serviceUrl); //Storage storage = new Storage(evsClient); //storage.Process(); }
/** * * 利用业务分类配置进行公章签署 * 签署位置需要在业务分类中指定,若没指定则需要传递签署位置 * * */ private SdkResponse <Object> CompanySealSignByCategoryConfig(SDKClient client, string contractId) { SdkResponse <Contract> detail = this.Detail(client, contractId); ContractSignCompanyRequest request = new ContractSignCompanyRequest(); request.ContractId = contractId; string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("公章签署请求服务器失败,失败原因:" + e.Message); } SdkResponse <Object> sdkResponse = HttpJsonConvert.DeserializeResponse <Object>(response); if (!sdkResponse.Code.Equals(0)) { throw new Exception("公章签署失败,失败原因:" + sdkResponse.Message); } return(sdkResponse); }
/// <summary> /// 发送并处理快捷签约请求 /// </summary> /// <param name="client"></param> /// <param name="contract">签约的合同对象</param> /// <returns>签约URL-浏览器打开可继续签约</returns> public string Process(SDKClient client, Contract contract) { DraftContractRequest request = new DraftContractRequest(contract); string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("起草签约失败, 失败原因: " + e.Message); } SdkResponse <SignResult> signRS = HttpJsonConvert.DeserializeResponse <SignResult>(response); if (!signRS.Success) { throw new Exception("起草签约失败, 失败原因: " + signRS.Message); } Console.WriteLine("Contract No: {0} , you can access URL in the Explorer to continue the contract signing:\n {1}\n", signRS.Result.ContractId, signRS.Result.SignUrl); return(signRS.Result.SignUrl); }
private SdkResponse <Object> Audit(SDKClient client, string contractId) { ContractAuditRequest request = new ContractAuditRequest(); request.ContractId = contractId; request.Pass = true; //审批结果,True:通过,False:不通过,若不通过合同无法继续签署 request.Comment = "符合要求,审批通过"; //审批原因 string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("审批合同请求服务器失败,失败原因:" + e.Message); } SdkResponse <Object> sdkResponse = HttpJsonConvert.DeserializeResponse <Object>(response); if (!sdkResponse.Code.Equals(0)) { throw new Exception("审批合同失败,失败原因:" + sdkResponse.Message); } return(sdkResponse); }
/// <summary> /// 发送并处理快捷签约请求 /// </summary> /// <param name="client"></param> /// <param name="quickContract">签约的合同对象</param> private new void Process(SDKClient client, Contract quickContract) { QuickSignRequest request = new QuickSignRequest(quickContract); string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("快捷签约合同失败,失败原因: " + e.Message); } SdkResponse <SignResult> signRS = HttpJsonConvert.DeserializeResponse <SignResult>(response); if (!signRS.Success) { throw new Exception("快捷签约合同失败,失败原因: " + signRS.Message); } string DOWNLOAD_URL = client.ServerUrl + RequestPathConstant.DOWNLOAD_CONTRACT + "?appKey=" + client.AccessToken + "&appSecret=" + client.AccessSecret + "&storeNo=" + signRS.Result.ContractId; Console.WriteLine("Contract No: {0} , you can download the file:\n a) call Program.cs#Fetch method with Store No {1}\n b) access URL in the Explorer: {2}\n", signRS.Result.ContractId, signRS.Result.ContractId, DOWNLOAD_URL); }
private SdkResponse <DocumentAddResult> AddDocumnetByTemplate(SDKClient client, string contractId) { string templateId = "2492236993899110515"; //待添加的文件模板Id,合同模板请前往契约锁云平台维护 DocumentAddByTemplateRequest request = new DocumentAddByTemplateRequest(contractId, "添加模板", templateId); // 如果文件模板为参数模板,添加参数内容 request.AddTemplateParam(new TemplateParam("接收方1", "契约锁")); request.AddTemplateParam(new TemplateParam("接收方2", "电子合同")); string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("根据模板添加合同文档请求服务器失败,失败原因:" + e.Message); } SdkResponse <DocumentAddResult> sdkResponse = HttpJsonConvert.DeserializeResponse <DocumentAddResult>(response); if (!sdkResponse.Code.Equals(0)) { throw new Exception("根据模板添加合同文档添加失败,失败原因:" + sdkResponse.Message); } return(sdkResponse); }
public void Process(SDKClient client) { //根据代码配置发起合同草稿,生成一个平台方公司发,个人签署的流程 SdkResponse <Contract> draft = this.Draft(client); Console.WriteLine("创建合同草稿成功,合同ID:{0}", draft.Result.Id); //为合同添加签署的文件:(1)根据本地文件添加(2)根据在线模板添加,并维护参数 SdkResponse <DocumentAddResult> fileAddResult = this.AddDocumentByFile(client, draft.Result.Id); Console.WriteLine("根据文件添加合同文档成功,文档ID:{0}", fileAddResult.Result.DocumentId); SdkResponse <DocumentAddResult> templateAddResult = this.AddDocumnetByTemplate(client, draft.Result.Id); Console.WriteLine("根据模板添加合同文件成功,文档ID:{0}", templateAddResult.Result.DocumentId); //发起合同,并指定签署位置(可选) SdkResponse <Object> sendResult = this.Send(client, draft.Result, fileAddResult.Result.DocumentId, templateAddResult.Result.DocumentId); Console.WriteLine("发起合同成功"); //公司公章签署(若未指定位置,需指定位置签署) this.CompanySealSign(client, draft.Result.Id, fileAddResult.Result.DocumentId, templateAddResult.Result.DocumentId); Console.WriteLine("合同公章签署成功"); /** * 平台方签署完成,签署方签署可采用 * (1)接收短信的方式登录契约锁云平台进行签署 * (2)生成内嵌页面签署链接进行签署(下方生成的链接) * (3)JS-SDK签署(仅支持个人) */ SdkResponse <PageUrlResult> pageUrl = this.GerenateSignUrl(client, draft.Result.Id); Console.WriteLine("个人签署方签署链接生成成功,签署链接:{0}", pageUrl.Result.PageUrl); Console.ReadKey(); }
static void Main(string[] args) { //Get your ENV and CPID from the portal key vaults module or visit https://help.iotconnect.io SDK section. string cpId = "14cf4939849c4183ac5c74660ca9ab27", uniqueId = "elephantedge1", env = "Avnet"; if (string.IsNullOrWhiteSpace(cpId)) { Console.WriteLine("cpId can not be blank."); return; } if (string.IsNullOrWhiteSpace(uniqueId)) { Console.WriteLine("uniqueId can not be blank."); return; } //Initialize device sdk client to connect device. client = new SDKClient(cpId, uniqueId, DeviceCallback, TwinUpdateCallBack, env); //Prepare device data with valid format.[Type1] var deviceData = "[{\"uniqueId\":\"<deviceUniqueId>\",\"time\":\"2020-02-14T12:18:23.5499042Z\",\"d\":[{\"humidity\":13}]}]"; //Send data to device using SendData method. client.SendData(deviceData); Console.ReadLine(); }
private SdkResponse <DocumentAddResult> AddDocumentByFile(SDKClient client, string contractId) { string path = "C:\\Users\\Richard Cheung\\Documents\\契约锁\\测试\\AA.pdf"; //待添加的文件路径 Stream file = new FileStream(path, FileMode.Open); //指定文件名称,以及文件类型,比如此时的文件为pdf DocumentAddByFileRequest request = new DocumentAddByFileRequest(contractId, "根据文件添加文档", file, "pdf"); string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("根据文件添加合同文档请求服务器失败,失败原因:" + e.Message); } SdkResponse <DocumentAddResult> sdkResponse = HttpJsonConvert.DeserializeResponse <DocumentAddResult>(response); if (!sdkResponse.Code.Equals(0)) { throw new Exception("根据文件添加合同文档失败,失败原因:" + sdkResponse.Message); } return(sdkResponse); }
private void SendXml(string xml) { this.rtbResult.Clear(); xml = xml.Replace("##GUID", SDKClient.GetInstace().GetGUID()); SDKClient.GetInstace().SendXmlCmd(xml); this.rtbResult.AppendText("发送数据: \n" + xml + "\n\n"); xml = SDKClient.GetInstace().RecvXmlCmd(); this.rtbResult.AppendText("接收数据: \n" + xml + "\n\n"); }
/// <summary> /// 企业和个人签约 /// </summary> /// <param name="client"></param> /// <returns></returns> public new void CompanyAndPersonSign(SDKClient client) { Contract contract = ContractOfCompanyAndPerson(); contract.SignatoryAuto = SxqConst.BOOL_YES; /** 快捷签约请求 **/ Process(client, contract); }
private SdkResponse <Object> CompanySealSign(SDKClient client, string contractId, string documentId1, string documentId2) { ContractSignCompanyRequest request = new ContractSignCompanyRequest(); request.ContractId = contractId; //若公章未指定签署位置,需要在签署时指定签署位置 //若制定了签署位置,优先使用签署位置中的位置进行签署 /* * Stamper companyStamper = new Stamper(); * companyStamper.Type = "COMPANY"; * companyStamper.OffsetX = 0.2; * companyStamper.OffsetY = 0.3; * companyStamper.Page = 1; * companyStamper.DocumentId = documentId1; * companyStamper.SealId = "2490828768980361630"; * * Stamper companyTimeStamp = new Stamper(); * companyTimeStamp.Type = "TIMESTAMP"; * companyTimeStamp.OffsetX = 0.4; * companyTimeStamp.OffsetY = 0.2; * companyTimeStamp.Page = 1; * companyTimeStamp.DocumentId = documentId1; * companyTimeStamp.SealId = "2490828768980361630"; * * //骑缝章签署需要文档页数在一页以上 * Stamper acrossPageStamper = new Stamper(); * acrossPageStamper.Type = "ACROSS_PAGE"; * acrossPageStamper.OffsetY = 0.2; * acrossPageStamper.DocumentId = documentId1; * acrossPageStamper.SealId = "2490828768980361630"; * * request.AddStampers(companyStamper); * request.AddStampers(companyTimeStamp); * request.AddStampers(acrossPageStamper); */ string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("公章签署请求服务器失败,失败原因:" + e.Message); } SdkResponse <Object> sdkResponse = HttpJsonConvert.DeserializeResponse <Object>(response); if (!sdkResponse.Code.Equals(0)) { throw new Exception("公章签署失败,失败原因:" + sdkResponse.Message); } return(sdkResponse); }
/// <summary> /// 多方签约,每个签约方支持多个签约人 /// </summary> /// <param name="client"></param> /// <returns></returns> public new void MultiplePartiesSign(SDKClient client) { Contract contract = ContractOfMultipleParties(); contract.SignatoryAuto = SxqConst.BOOL_YES; /** 快捷签约请求 **/ Process(client, contract); }
/// <summary> /// 企业和企业签约 /// </summary> /// <param name="client"></param> /// <returns></returns> public new void TwoCompanySign(SDKClient client) { Contract contract = ContractOfTwoCompany(); contract.SignatoryAuto = SxqConst.BOOL_YES; /** 快捷签约请求 **/ Process(client, contract); }
private void RefreshFileList_Click(object sender, EventArgs e) { this.rtbResult.Clear(); string xml = XmlCmd.GetFiles(); xml = xml.Replace("##GUID", SDKClient.GetInstace().GetGUID()); SDKClient.GetInstace().SendXmlCmd(xml); this.rtbResult.AppendText("发送数据: \n" + xml + "\n\n"); xml = SDKClient.GetInstace().RecvXmlCmd(); this.rtbResult.AppendText("接收数据: \n" + xml + "\n\n"); this.LoadXmlToFileList(xml, this.RemoteList); }
/// <summary> /// 甲乙两人签约 /// </summary> /// <param name="client"></param> /// <returns>签约URL-浏览器打开可继续签约</returns> public string TwoPeopleSign(SDKClient client) { Contract contract = ContractOfTwoPeople(); // 关闭登录前的合同预览;关闭新建账户的密码设置 contract.AllowPreview = SxqConst.PREVIEW_OFF; contract.AllowPwdSetting = SxqConst.PWD_SETTING_OFF; // 开启个人签约人强制手写签章 contract.HandWriting = true; /** 签约请求 **/ return(Process(client, contract)); }
/** * 创建草稿 **/ 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 static SDKClient GetOrCreateClient() { if (client != null) { return(client); } // 请使用你注册账户的Secrect; 否则会使用以下测试环境默认Secret accessSecret = string.IsNullOrEmpty(accessSecret) ? "3daca3b13ef04e7f8a751d74c8318a1f" : accessSecret; // 请使用你注册账户的Token; 否则会使用以下测试环境默认Token accessToken = string.IsNullOrEmpty(accessToken) ? "20200303093507658157" : accessToken; // 指定访问的服务器 string serverUrl = ParseServer(env); return(client = new SDKClient(accessToken, accessSecret, serverUrl, callBackUrl)); }
private void button3_Click(object sender, EventArgs e) { SDKClient client = new SDKClient("192.168.3.195", 10261, "qcu1", "", "lq", "lq", 0); while (true) { var flag = client.openConnection(); var msg = client.getMessage(); if (msg == string.Empty) { break; } Debug.WriteLine(msg); } }
private void Upload_Click(object sender, EventArgs e) { ArrayList files = new ArrayList(); foreach (ListViewItem item in UploadList.Items) { FileServices.FileSession session = new FileServices.FileSession(); session.name = item.SubItems[0].Text; session.size = Convert.ToInt64(item.SubItems[1].Text); if (item.SubItems[2].Text == "图片") { session.type = FileServices.HFileType.kImageFile; } else if (item.SubItems[2].Text == "视频") { session.type = FileServices.HFileType.kVideoFile; } else if (item.SubItems[2].Text == "字体") { session.type = FileServices.HFileType.kFont; } else if (item.SubItems[2].Text == "固件") { session.type = FileServices.HFileType.kFireware; } else if (item.SubItems[2].Text == "FPGA参数") { session.type = FileServices.HFileType.kFPGAConfig; } else if (item.SubItems[2].Text == "基本参数") { session.type = FileServices.HFileType.kSettingCofnig; } else { continue; } session.md5 = item.SubItems[3].Text; session.path = item.SubItems[4].Text; files.Add(session); } FileServices services = new FileServices(SDKClient.GetInstace(), files); services.SendFiles(); }
/** * 用户通过配置好的业务分类进行合同发起 * 需在业务分类里配置好将要发起的合同文件或合同模板 * 配置好整个签署流程,以及签署流程中使用的印章 * **/ 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); }
/// <summary> /// 甲乙两人签约 /// 并设定合同失效时间 /// </summary> /// <param name="client"></param> /// <returns>签约URL-浏览器打开可继续签约</returns> public string TwoPeopleSignAndSetExpireTime(SDKClient client) { Contract contract = ContractOfTwoPeople(); // 关闭登录前的合同预览;关闭新建账户的密码设置 contract.AllowPreview = SxqConst.PREVIEW_OFF; contract.AllowPwdSetting = SxqConst.PWD_SETTING_OFF; // 设置合同的失效时间(暨多少时间内有效)为:现在开始后的三天内; contract.ValidTimeStamp = SignUtil.GetExpireTimestamp(SignUtil.CurrentMS(), 24 * 3); // 失效时间也可以单独设置在签约人对象上,签约人对象上的优先级比合同对象上的高,会覆盖合同对象上的失效时间 //contract.SignatoryList[0].ValidTimeStamp = SignUtil.GetExpireTimestamp(SignUtil.CurrentMS(), 24 * 7); // 开启个人签约人强制手写签章 contract.HandWriting = true; /** 签约请求 **/ return(Process(client, contract)); }
static void Main(string[] args) { string accessSecret = "替换为开放平台SECRET"; string accessToken = "替换为开放平台TOKAN"; string serverUrl = "https://openapi.qiyuesuo.cn"; //测试环境:https://openapi.qiyuesuo.cn ; 正式环境:https://openapi.qiyuesuo.com SDKClient client = new SDKClient(accessToken, accessSecret, serverUrl); // 利用业务分类配置进行合同发送 //SendByCategory example = new SendByCategory(); //example.Process(client); SendByCodeSetting example = new SendByCodeSetting(); example.Process(client); }
private SdkResponse <Object> LpSign(SDKClient client, string contractId, string documentId1, string documentId2) { ContractSignLPRequest request = new ContractSignLPRequest(); request.ContractId = contractId; //若法人章未指定签署位置,需要在签署时指定签署位置 //若制定了签署位置,优先使用签署位置中的位置进行签署 /* * Stamper lpStamper = new Stamper(); * lpStamper.Type = "LP"; * lpStamper.OffsetX = 0.2; * lpStamper.OffsetY = 0.3; * lpStamper.Page = 1; * lpStamper.DocumentId = documentId1; * * Stamper lpTimeStamp = new Stamper(); * lpTimeStamp.Type = "TIMESTAMP"; * lpTimeStamp.OffsetX = 0.4; * lpTimeStamp.OffsetY = 0.2; * lpTimeStamp.Page = 1; * lpTimeStamp.DocumentId = documentId1; * request.AddStampers(lpStamper); * request.AddStampers(lpTimeStamp); */ string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("法人章签署请求服务器失败,失败原因:" + e.Message); } SdkResponse <Object> sdkResponse = HttpJsonConvert.DeserializeResponse <Object>(response); if (!sdkResponse.Code.Equals(0)) { throw new Exception("法人章签署失败,失败原因:" + sdkResponse.Message); } return(sdkResponse); }
private void DeleteRomoteFile_Click(object sender, EventArgs e) { if (this.RemoteList.SelectedItems.Count == 0) { //说明没有行被选中 return; } ArrayList names = new ArrayList(); for (int i = 0; i < this.RemoteList.SelectedItems.Count; i++) { names.Add(this.RemoteList.SelectedItems[i].Text); } string xml = ""; string header = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + "<sdk guid=\"##GUID\">\n" + " <in method=\"DeleteFiles\">\n" + " <files>\n"; string end = " </files>\n" + " </in>\n" + "</sdk>\n"; int size = names.Count; string item = " <file name=\"##name\"/>\n"; string name = ""; for (int i = 0; i < size; i++) { name = item.Replace("##name", (string)names[i]); xml += name; } xml = header + xml + end; this.rtbResult.Clear(); xml = xml.Replace("##GUID", SDKClient.GetInstace().GetGUID()); SDKClient.GetInstace().SendXmlCmd(xml); this.rtbResult.AppendText("发送数据: \n" + xml + "\n\n"); xml = SDKClient.GetInstace().RecvXmlCmd(); this.rtbResult.AppendText("接收数据: \n" + xml + "\n\n"); }
/// <summary> /// 下载已签约/已存证文件 /// </summary> /// <param name="client"></param> /// <param name="contractId">合同编号</param> /// <param name="filePath">文件的保存路径</param> /// <returns></returns> public void Download(SDKClient client, string contractId, string filePath) { DownloadContractRequest request = new DownloadContractRequest(contractId); try { Stream outputStream = new MemoryStream(); client.Download(request, ref outputStream); MemoryStream memoryStream = (MemoryStream)outputStream; FileStream fs = new FileStream(filePath, FileMode.Create); BinaryWriter w = new BinaryWriter(fs); w.Write(memoryStream.ToArray()); fs.Close(); memoryStream.Close(); } catch (Exception e) { throw new Exception("取回文件失败,失败原因: " + e.Message); } }
public void Process(SDKClient client) { // 利用业务分类配置创建合同并发起(需配置签署位置,以及合同文件) SdkResponse <Contract> contract = this.DraftByCategory(client); Console.WriteLine("根据业务分类创建合同草稿成功,并成功发起,合同ID:{0}", contract.Result.Id); // 利用业务分类配置进行公章签署(需配置签署位置以及签署印章) this.CompanySealSignByCategoryConfig(client, contract.Result.Id); Console.WriteLine("根据业务分类指定位置签署公章成功"); /** * 平台方签署完成,签署方签署可采用 * (1)接收短信的方式登录契约锁云平台进行签署 * (2)生成内嵌页面签署链接进行签署(下方生成的链接) * (3)JS-SDK签署(仅支持个人) */ SdkResponse <PageUrlResult> pageUrl = this.GerenateSignUrl(client, contract.Result.Id); Console.WriteLine("生成签署方签署页面成功,签署页面:{0}", pageUrl.Result.PageUrl); Console.ReadKey(); }
private void button1_Click(object sender, EventArgs e) { SDKClient client = new SDKClient("192.168.3.196", 10261, "qcu1", "", "lq", "lq", 0); var flag = client.openConnection(); while (true) { try { client.sendMessage(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } catch (Exception ex) { Debug.WriteLine(ex.Message); } finally { Thread.Sleep(1000); } } }
/// <summary> /// 查询签约详情 /// </summary> /// <param name="client"></param> /// <param name="contractId">合同编号</param> /// <returns></returns> public SdkResponse <QueryContractResult> QueryContract(SDKClient client, string contractId) { QueryContractRequest request = new QueryContractRequest(contractId); string response = null; try { response = client.Service(request); } catch (Exception e) { throw new Exception("QueryContract失败,失败原因: " + e.Message); } SdkResponse <QueryContractResult> sdkResponse = HttpJsonConvert.DeserializeResponse <QueryContractResult>(response); if (!sdkResponse.Success) { throw new Exception("QueryContract失败,失败原因: " + sdkResponse.Message); } return(sdkResponse); }