/* * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ namespace TencentCloud.Ds.V20180523 { using Newtonsoft.Json; using System.Threading.Tasks; using TencentCloud.Common; using TencentCloud.Common.Profile; using TencentCloud.Ds.V20180523.Models; public class DsClient : AbstractClient{ private const string endpoint = "ds.tencentcloudapi.com"; private const string version = "2018-05-23"; /// /// Client constructor. /// /// Credentials. /// Region name, such as "ap-guangzhou". public DsClient(Credential credential, string region) : this(credential, region, new ClientProfile()) { } /// /// Client Constructor. /// /// Credentials. /// Region name, such as "ap-guangzhou". /// Client profiles. public DsClient(Credential credential, string region, ClientProfile profile) : base(endpoint, version, credential, region, profile) { } /// /// 检测验证码接口。此接口用于企业电子合同平台通过给用户发送短信验证码,以短信授权方式签署合同。此接口配合发送验证码接口使用。 /// /// 用户在企业电子合同平台输入收到的验证码后,由企业电子合同平台调用该接口向腾讯云提交确认受托签署合同验证码命令。验证码验证正确时,本次合同签署的授权成功。 /// /// /// public async Task CheckVcode(CheckVcodeRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "CheckVcode"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 检测验证码接口。此接口用于企业电子合同平台通过给用户发送短信验证码,以短信授权方式签署合同。此接口配合发送验证码接口使用。 /// /// 用户在企业电子合同平台输入收到的验证码后,由企业电子合同平台调用该接口向腾讯云提交确认受托签署合同验证码命令。验证码验证正确时,本次合同签署的授权成功。 /// /// /// public CheckVcodeResponse CheckVcodeSync(CheckVcodeRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "CheckVcode"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 此接口适用于:客户平台通过上传PDF文件作为合同,以备未来进行签署。接口返回任务号,可调用DescribeTaskStatus接口查看任务执行结果。 /// /// /// public async Task CreateContractByUpload(CreateContractByUploadRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "CreateContractByUpload"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 此接口适用于:客户平台通过上传PDF文件作为合同,以备未来进行签署。接口返回任务号,可调用DescribeTaskStatus接口查看任务执行结果。 /// /// /// public CreateContractByUploadResponse CreateContractByUploadSync(CreateContractByUploadRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "CreateContractByUpload"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 为企业电子合同平台的最终企业用户进行开户。在企业电子合同平台进行操作的企业用户,企业电子合同平台向腾讯云发送企业用户的信息,提交开户命令。腾讯云接到请求后,自动为企业电子合同平台的企业用户生成一张数字证书。 /// /// /// public async Task CreateEnterpriseAccount(CreateEnterpriseAccountRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "CreateEnterpriseAccount"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 为企业电子合同平台的最终企业用户进行开户。在企业电子合同平台进行操作的企业用户,企业电子合同平台向腾讯云发送企业用户的信息,提交开户命令。腾讯云接到请求后,自动为企业电子合同平台的企业用户生成一张数字证书。 /// /// /// public CreateEnterpriseAccountResponse CreateEnterpriseAccountSync(CreateEnterpriseAccountRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "CreateEnterpriseAccount"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 为企业电子合同平台的最终个人用户进行开户。在企业电子合同平台进行操作的个人用户,企业电子合同平台向腾讯云发送个人用户的信息,提交开户命令。腾讯云接到请求后,自动为企业电子合同平台的个人用户生成一张数字证书。 /// /// /// public async Task CreatePersonalAccount(CreatePersonalAccountRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "CreatePersonalAccount"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 为企业电子合同平台的最终个人用户进行开户。在企业电子合同平台进行操作的个人用户,企业电子合同平台向腾讯云发送个人用户的信息,提交开户命令。腾讯云接到请求后,自动为企业电子合同平台的个人用户生成一张数字证书。 /// /// /// public CreatePersonalAccountResponse CreatePersonalAccountSync(CreatePersonalAccountRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "CreatePersonalAccount"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 此接口用于客户电子合同平台增加某用户的印章图片。客户平台可以调用此接口增加某用户的印章图片。 /// /// /// public async Task CreateSeal(CreateSealRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "CreateSeal"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 此接口用于客户电子合同平台增加某用户的印章图片。客户平台可以调用此接口增加某用户的印章图片。 /// /// /// public CreateSealResponse CreateSealSync(CreateSealRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "CreateSeal"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 删除企业电子合同平台的最终用户。调用该接口后,腾讯云将删除该用户账号。删除账号后,已经签名的合同不受影响。 /// /// /// public async Task DeleteAccount(DeleteAccountRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DeleteAccount"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 删除企业电子合同平台的最终用户。调用该接口后,腾讯云将删除该用户账号。删除账号后,已经签名的合同不受影响。 /// /// /// public DeleteAccountResponse DeleteAccountSync(DeleteAccountRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DeleteAccount"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 删除印章接口,删除指定账号的某个印章 /// /// /// public async Task DeleteSeal(DeleteSealRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DeleteSeal"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 删除印章接口,删除指定账号的某个印章 /// /// /// public DeleteSealResponse DeleteSealSync(DeleteSealRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DeleteSeal"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 接口使用于:客户平台可使用该接口查询任务执行状态或者执行结果 /// /// /// public async Task DescribeTaskStatus(DescribeTaskStatusRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DescribeTaskStatus"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 接口使用于:客户平台可使用该接口查询任务执行状态或者执行结果 /// /// /// public DescribeTaskStatusResponse DescribeTaskStatusSync(DescribeTaskStatusRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeTaskStatus"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 下载合同接口。调用该接口可以下载签署中和签署完成的合同。接口返回任务号,可调用DescribeTaskStatus接口查看任务执行结果。 /// /// /// public async Task DownloadContract(DownloadContractRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DownloadContract"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 下载合同接口。调用该接口可以下载签署中和签署完成的合同。接口返回任务号,可调用DescribeTaskStatus接口查看任务执行结果。 /// /// /// public DownloadContractResponse DownloadContractSync(DownloadContractRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DownloadContract"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 发送验证码接口。此接口用于:企业电子合同平台需要腾讯云发送验证码对其用户进行验证时调用,腾讯云将向其用户联系手机(企业电子合同平台为用户开户时通过接口传入)发送验证码,以验证码授权方式签署合同。用户验证工作由企业电子合同平台自身完成。 /// /// /// public async Task SendVcode(SendVcodeRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "SendVcode"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 发送验证码接口。此接口用于:企业电子合同平台需要腾讯云发送验证码对其用户进行验证时调用,腾讯云将向其用户联系手机(企业电子合同平台为用户开户时通过接口传入)发送验证码,以验证码授权方式签署合同。用户验证工作由企业电子合同平台自身完成。 /// /// /// public SendVcodeResponse SendVcodeSync(SendVcodeRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "SendVcode"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 此接口适用于:客户平台在创建好合同后,由合同签署方对创建的合同内容进行确认,无误后再进行签署。客户平台使用该接口提供详细的PDF文档签名坐标进行签署。 /// /// /// public async Task SignContractByCoordinate(SignContractByCoordinateRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "SignContractByCoordinate"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 此接口适用于:客户平台在创建好合同后,由合同签署方对创建的合同内容进行确认,无误后再进行签署。客户平台使用该接口提供详细的PDF文档签名坐标进行签署。 /// /// /// public SignContractByCoordinateResponse SignContractByCoordinateSync(SignContractByCoordinateRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "SignContractByCoordinate"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 此接口适用于:客户平台在创建好合同后,由合同签署方对创建的合同内容进行确认,无误后再进行签署。客户平台使用该接口对PDF合同文档按照关键字和坐标进行签署。 /// /// /// public async Task SignContractByKeyword(SignContractByKeywordRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "SignContractByKeyword"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 此接口适用于:客户平台在创建好合同后,由合同签署方对创建的合同内容进行确认,无误后再进行签署。客户平台使用该接口对PDF合同文档按照关键字和坐标进行签署。 /// /// /// public SignContractByKeywordResponse SignContractByKeywordSync(SignContractByKeywordRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "SignContractByKeyword"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } } }