# frozen_string_literal: true # Copyright (c) 2017-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. module TencentCloud module Ess module V20201111 # 企业超管信息 class Admin < TencentCloud::Common::AbstractModel # @param Name: 超管名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Name: String # @param Mobile: 超管手机号,打码显示 # 示例值:138****1569 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Mobile: String attr_accessor :Name, :Mobile def initialize(name=nil, mobile=nil) @Name = name @Mobile = mobile end def deserialize(params) @Name = params['Name'] @Mobile = params['Mobile'] end end # 代理相关应用信息,如集团主企业代子企业操作 class Agent < TencentCloud::Common::AbstractModel # @param AppId: 代理机构的应用编号,32位字符串,一般不用传 # @type AppId: String # @param ProxyAppId: 被代理机构的应用号,一般不用传 # @type ProxyAppId: String # @param ProxyOrganizationId: 被代理机构在电子签平台的机构编号,集团代理下场景必传 # @type ProxyOrganizationId: String # @param ProxyOperator: 被代理机构的经办人,一般不用传 # @type ProxyOperator: String attr_accessor :AppId, :ProxyAppId, :ProxyOrganizationId, :ProxyOperator extend Gem::Deprecate deprecate :AppId, :none, 2023, 11 deprecate :AppId=, :none, 2023, 11 deprecate :ProxyAppId, :none, 2023, 11 deprecate :ProxyAppId=, :none, 2023, 11 deprecate :ProxyOperator, :none, 2023, 11 deprecate :ProxyOperator=, :none, 2023, 11 def initialize(appid=nil, proxyappid=nil, proxyorganizationid=nil, proxyoperator=nil) @AppId = appid @ProxyAppId = proxyappid @ProxyOrganizationId = proxyorganizationid @ProxyOperator = proxyoperator end def deserialize(params) @AppId = params['AppId'] @ProxyAppId = params['ProxyAppId'] @ProxyOrganizationId = params['ProxyOrganizationId'] @ProxyOperator = params['ProxyOperator'] end end # 签署方在使用个人印章签署控件(SIGN_SIGNATURE) 时可使用的签署方式 class ApproverComponentLimitType < TencentCloud::Common::AbstractModel # @param RecipientId: 签署方经办人在模板中配置的参与方ID,与控件绑定,是控件的归属方,ID为32位字符串。 # @type RecipientId: String # @param Values: 签署方经办人控件类型是个人印章签署控件(SIGN_SIGNATURE) 时,可选的签名方式,可多选 # 签名方式: # # @type Values: Array attr_accessor :RecipientId, :Values def initialize(recipientid=nil, values=nil) @RecipientId = recipientid @Values = values end def deserialize(params) @RecipientId = params['RecipientId'] @Values = params['Values'] end end # 参与者信息。 class ApproverInfo < TencentCloud::Common::AbstractModel # @param ApproverType: 在指定签署方时,可选择企业B端或个人C端等不同的参与者类型,可选类型如下: # **0**:企业 # **1**:个人 # **3**:企业静默签署 # 注:`类型为3(企业静默签署)时,此接口会默认完成该签署方的签署。静默签署仅进行盖章操作,不能自动签名。` # **7**: 个人自动签署,适用于个人自动签场景。 # 注: `个人自动签场景为白名单功能,使用前请联系对接的客户经理沟通。` # @type ApproverType: Integer # @param ApproverName: 签署方经办人的姓名。 # 经办人的姓名将用于身份认证和电子签名,请确保填写的姓名为签署方的真实姓名,而非昵称等代名。 # @type ApproverName: String # @param ApproverMobile: 签署方经办人手机号码, 支持国内手机号11位数字(无需加+86前缀或其他字符)。 # 请确认手机号所有方为此合同签署方。 # @type ApproverMobile: String # @param OrganizationName: 组织机构名称。 # 请确认该名称与企业营业执照中注册的名称一致。 # 如果名称中包含英文括号(),请使用中文括号()代替。 # 如果签署方是企业签署方(approverType = 0 或者 approverType = 3), 则企业名称必填。 # @type OrganizationName: String # @param SignComponents: 合同中的签署控件列表,列表中可支持下列多种签署控件,控件的详细定义参考开发者中心的Component结构体 # # @type SignComponents: Array # @param ApproverIdCardType: 签署方经办人的证件类型,支持以下类型 # # 注: `其他证件类型为白名单功能,使用前请联系对接的客户经理沟通。` # @type ApproverIdCardType: String # @param ApproverIdCardNumber: 签署方经办人的证件号码,应符合以下规则 # # @type ApproverIdCardNumber: String # @param NotifyType: 通知签署方经办人的方式, 有以下途径: # # @type NotifyType: String # @param ApproverRole: 收据场景设置签署人角色类型, 可以设置如下****类型****: # # 注: `收据场景为白名单功能,使用前请联系对接的客户经理沟通。` # @type ApproverRole: Integer # @param ApproverRoleName: 可以自定义签署人角色名:收款人、开具人、见证人等,长度不能超过20,只能由中文、字母、数字和下划线组成。 # 注: `如果是用模板发起, 优先使用此处上传的, 如果不传则用模板的配置的` # @type ApproverRoleName: String # @param VerifyChannel: 签署意愿确认渠道,默认为WEIXINAPP:人脸识别 # 注: 将要废弃, 用ApproverSignTypes签署人签署合同时的认证方式代替, 新客户可请用ApproverSignTypes来设置 # @type VerifyChannel: Array # @param PreReadTime: 签署方在签署合同之前,需要强制阅读合同的时长,可指定为3秒至300秒之间的任意值。 # 若未指定阅读时间,则会按照合同页数大小计算阅读时间,计算规则如下: # # @type PreReadTime: Integer # @param UserId: 签署人userId,仅支持本企业的员工userid, 可在控制台组织管理处获得 # 注: `若传此字段 则以userid的信息为主,会覆盖传递过来的签署人基本信息, 包括姓名,手机号,证件类型等信息` # @type UserId: String # @param ApproverSource: 在企微场景下使用,需设置参数为**WEWORKAPP**,以表明合同来源于企微。 # @type ApproverSource: String # @param CustomApproverTag: 在企业微信场景下,表明该合同流程为或签,其最大长度为64位字符串。 # 所有参与或签的人员均需具备该标识。 # 注意,在合同中,不同的或签参与人必须保证其CustomApproverTag唯一。 # 如果或签签署人为本方企业微信参与人,则需要指定ApproverSource参数为WEWORKAPP。 # @type CustomApproverTag: String # @param ApproverOption: 可以控制签署方在签署合同时能否进行某些操作,例如拒签、转交他人等。 # 详细操作可以参考开发者中心的ApproverOption结构体。 # @type ApproverOption: :class:`Tencentcloud::Ess.v20201111.models.ApproverOption` # @param ApproverVerifyTypes: 指定个人签署方查看合同的校验方式,可以传值如下: # # 注: # # @type ApproverVerifyTypes: Array # @param ApproverSignTypes: 您可以指定签署方签署合同的认证校验方式,可传递以下值: # # 注: # # @type ApproverSignTypes: Array # @param ApproverNeedSignReview: 发起方企业的签署人进行签署操作前,是否需要企业内部走审批流程,取值如下: # # 企业可以通过CreateFlowSignReview审批接口通知腾讯电子签平台企业内部审批结果 # # 注:`此功能可用于与企业内部的审批流程进行关联,支持手动、静默签署合同` # @type ApproverNeedSignReview: Boolean # @param AddSignComponentsLimits: [用PDF文件创建签署流程](https://qian.tencent.com/developers/companyApis/startFlows/CreateFlowByFiles)时,如果设置了外层参数SignBeanTag=1(允许签署过程中添加签署控件),则可通过此参数明确规定合同所使用的签署控件类型(骑缝章、普通章法人章等)和具体的印章(印章ID)或签名方式。 # 注:`限制印章控件或骑缝章控件情况下,仅本企业签署方可以指定具体印章(通过传递ComponentValue,支持多个),他方企业或个人只支持限制控件类型。` # @type AddSignComponentsLimits: Array # @param SignInstructionContent: 签署须知:支持传入富文本,最长字数:500个中文字符 # @type SignInstructionContent: String attr_accessor :ApproverType, :ApproverName, :ApproverMobile, :OrganizationName, :SignComponents, :ApproverIdCardType, :ApproverIdCardNumber, :NotifyType, :ApproverRole, :ApproverRoleName, :VerifyChannel, :PreReadTime, :UserId, :ApproverSource, :CustomApproverTag, :ApproverOption, :ApproverVerifyTypes, :ApproverSignTypes, :ApproverNeedSignReview, :AddSignComponentsLimits, :SignInstructionContent def initialize(approvertype=nil, approvername=nil, approvermobile=nil, organizationname=nil, signcomponents=nil, approveridcardtype=nil, approveridcardnumber=nil, notifytype=nil, approverrole=nil, approverrolename=nil, verifychannel=nil, prereadtime=nil, userid=nil, approversource=nil, customapprovertag=nil, approveroption=nil, approververifytypes=nil, approversigntypes=nil, approverneedsignreview=nil, addsigncomponentslimits=nil, signinstructioncontent=nil) @ApproverType = approvertype @ApproverName = approvername @ApproverMobile = approvermobile @OrganizationName = organizationname @SignComponents = signcomponents @ApproverIdCardType = approveridcardtype @ApproverIdCardNumber = approveridcardnumber @NotifyType = notifytype @ApproverRole = approverrole @ApproverRoleName = approverrolename @VerifyChannel = verifychannel @PreReadTime = prereadtime @UserId = userid @ApproverSource = approversource @CustomApproverTag = customapprovertag @ApproverOption = approveroption @ApproverVerifyTypes = approververifytypes @ApproverSignTypes = approversigntypes @ApproverNeedSignReview = approverneedsignreview @AddSignComponentsLimits = addsigncomponentslimits @SignInstructionContent = signinstructioncontent end def deserialize(params) @ApproverType = params['ApproverType'] @ApproverName = params['ApproverName'] @ApproverMobile = params['ApproverMobile'] @OrganizationName = params['OrganizationName'] unless params['SignComponents'].nil? @SignComponents = [] params['SignComponents'].each do |i| component_tmp = Component.new component_tmp.deserialize(i) @SignComponents << component_tmp end end @ApproverIdCardType = params['ApproverIdCardType'] @ApproverIdCardNumber = params['ApproverIdCardNumber'] @NotifyType = params['NotifyType'] @ApproverRole = params['ApproverRole'] @ApproverRoleName = params['ApproverRoleName'] @VerifyChannel = params['VerifyChannel'] @PreReadTime = params['PreReadTime'] @UserId = params['UserId'] @ApproverSource = params['ApproverSource'] @CustomApproverTag = params['CustomApproverTag'] unless params['ApproverOption'].nil? @ApproverOption = ApproverOption.new @ApproverOption.deserialize(params['ApproverOption']) end @ApproverVerifyTypes = params['ApproverVerifyTypes'] @ApproverSignTypes = params['ApproverSignTypes'] @ApproverNeedSignReview = params['ApproverNeedSignReview'] unless params['AddSignComponentsLimits'].nil? @AddSignComponentsLimits = [] params['AddSignComponentsLimits'].each do |i| componentlimit_tmp = ComponentLimit.new componentlimit_tmp.deserialize(i) @AddSignComponentsLimits << componentlimit_tmp end end @SignInstructionContent = params['SignInstructionContent'] end end # 签署方信息,发起合同后可获取到对应的签署方信息,如角色ID,角色名称 class ApproverItem < TencentCloud::Common::AbstractModel # @param SignId: 签署方唯一编号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SignId: String # @param RecipientId: 签署方角色编号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RecipientId: String # @param ApproverRoleName: 签署方角色名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ApproverRoleName: String attr_accessor :SignId, :RecipientId, :ApproverRoleName def initialize(signid=nil, recipientid=nil, approverrolename=nil) @SignId = signid @RecipientId = recipientid @ApproverRoleName = approverrolename end def deserialize(params) @SignId = params['SignId'] @RecipientId = params['RecipientId'] @ApproverRoleName = params['ApproverRoleName'] end end # 签署人个性化能力信息 class ApproverOption < TencentCloud::Common::AbstractModel # @param NoRefuse: 签署方是否可以拒签 # # @type NoRefuse: Boolean # @param NoTransfer: 签署方是否可以转他人处理 # # @type NoTransfer: Boolean # @param FillType: 签署人信息补充类型,默认无需补充。 # # @type FillType: Integer # @param FlowReadLimit: 签署人阅读合同限制参数 #
取值: # # @type FlowReadLimit: String attr_accessor :NoRefuse, :NoTransfer, :FillType, :FlowReadLimit def initialize(norefuse=nil, notransfer=nil, filltype=nil, flowreadlimit=nil) @NoRefuse = norefuse @NoTransfer = notransfer @FillType = filltype @FlowReadLimit = flowreadlimit end def deserialize(params) @NoRefuse = params['NoRefuse'] @NoTransfer = params['NoTransfer'] @FillType = params['FillType'] @FlowReadLimit = params['FlowReadLimit'] end end # 指定签署人限制项 class ApproverRestriction < TencentCloud::Common::AbstractModel # @param Name: 指定签署人名字 # @type Name: String # @param Mobile: 指定签署人手机号,11位数字 # @type Mobile: String # @param IdCardType: 指定签署人证件类型,ID_CARD-身份证 # @type IdCardType: String # @param IdCardNumber: 指定签署人证件号码,字母大写 # @type IdCardNumber: String attr_accessor :Name, :Mobile, :IdCardType, :IdCardNumber def initialize(name=nil, mobile=nil, idcardtype=nil, idcardnumber=nil) @Name = name @Mobile = mobile @IdCardType = idcardtype @IdCardNumber = idcardnumber end def deserialize(params) @Name = params['Name'] @Mobile = params['Mobile'] @IdCardType = params['IdCardType'] @IdCardNumber = params['IdCardNumber'] end end # 授权用户 class AuthorizedUser < TencentCloud::Common::AbstractModel # @param UserId: 电子签系统中的用户id # @type UserId: String attr_accessor :UserId def initialize(userid=nil) @UserId = userid end def deserialize(params) @UserId = params['UserId'] end end # 自动签开启、签署相关配置 class AutoSignConfig < TencentCloud::Common::AbstractModel # @param UserInfo: 自动签开通个人用户信息, 包括名字,身份证等 # @type UserInfo: :class:`Tencentcloud::Ess.v20201111.models.UserThreeFactor` # @param CertInfoCallback: 是否回调证书信息: # # @type CertInfoCallback: Boolean # @param UserDefineSeal: 是否支持用户自定义签名印章: # # @type UserDefineSeal: Boolean # @param SealImgCallback: 回调中是否需要自动签将要使用的印章(签名) 图片的 base64: # # @type SealImgCallback: Boolean # @param CallbackUrl: 执行结果的回调URL,该URL仅支持HTTP或HTTPS协议,建议采用HTTPS协议以保证数据传输的安全性。 # 腾讯电子签服务器将通过POST方式,application/json格式通知执行结果,请确保外网可以正常访问该URL。 # 回调的相关说明可参考开发者中心的回调通知模块。 # @type CallbackUrl: String # @param VerifyChannels: 开通时候的身份验证方式, 取值为: # # 注: # # @type VerifyChannels: Array # @param LicenseType: 设置用户开通自动签时是否绑定个人自动签账号许可。 # # @type LicenseType: Integer attr_accessor :UserInfo, :CertInfoCallback, :UserDefineSeal, :SealImgCallback, :CallbackUrl, :VerifyChannels, :LicenseType extend Gem::Deprecate deprecate :CallbackUrl, :none, 2023, 11 deprecate :CallbackUrl=, :none, 2023, 11 def initialize(userinfo=nil, certinfocallback=nil, userdefineseal=nil, sealimgcallback=nil, callbackurl=nil, verifychannels=nil, licensetype=nil) @UserInfo = userinfo @CertInfoCallback = certinfocallback @UserDefineSeal = userdefineseal @SealImgCallback = sealimgcallback @CallbackUrl = callbackurl @VerifyChannels = verifychannels @LicenseType = licensetype end def deserialize(params) unless params['UserInfo'].nil? @UserInfo = UserThreeFactor.new @UserInfo.deserialize(params['UserInfo']) end @CertInfoCallback = params['CertInfoCallback'] @UserDefineSeal = params['UserDefineSeal'] @SealImgCallback = params['SealImgCallback'] @CallbackUrl = params['CallbackUrl'] @VerifyChannels = params['VerifyChannels'] @LicenseType = params['LicenseType'] end end # 用户计费使用情况详情 class BillUsageDetail < TencentCloud::Common::AbstractModel # @param FlowId: 合同流程ID,为32位字符串。 # 建议开发者妥善保存此流程ID,以便于顺利进行后续操作。 # 可登录腾讯电子签控制台,在 "合同"->"合同中心" 中查看某个合同的FlowId(在页面中展示为合同ID)。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FlowId: String # @param OperatorName: 经办人名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type OperatorName: String # @param CreateOrganizationName: 发起方组织机构名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreateOrganizationName: String # @param FlowName: 合同流程的名称(可自定义此名称),长度不能超过200,只能由中文、字母、数字和下划线组成。 # 该名称还将用于合同签署完成后的下载文件名。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FlowName: String # @param Status: 0 还没有发起 1等待签署 2部分签署 3拒签 4已签署 5已过期 6已撤销 7还没有预发起 8等待填写 9部分填写 10拒填 11已解除 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: Integer # @param QuotaType: 套餐类型 # 注意:此字段可能返回 null,表示取不到有效值。 # @type QuotaType: String # @param UseCount: 合同使用量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UseCount: Integer # @param CostTime: 消耗的时间戳 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CostTime: Integer # @param QuotaName: 套餐名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type QuotaName: String # @param CostType: 消耗类型 1.扣费 2.撤销返还 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CostType: Integer # @param Remark: 备注 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Remark: String attr_accessor :FlowId, :OperatorName, :CreateOrganizationName, :FlowName, :Status, :QuotaType, :UseCount, :CostTime, :QuotaName, :CostType, :Remark def initialize(flowid=nil, operatorname=nil, createorganizationname=nil, flowname=nil, status=nil, quotatype=nil, usecount=nil, costtime=nil, quotaname=nil, costtype=nil, remark=nil) @FlowId = flowid @OperatorName = operatorname @CreateOrganizationName = createorganizationname @FlowName = flowname @Status = status @QuotaType = quotatype @UseCount = usecount @CostTime = costtime @QuotaName = quotaname @CostType = costtype @Remark = remark end def deserialize(params) @FlowId = params['FlowId'] @OperatorName = params['OperatorName'] @CreateOrganizationName = params['CreateOrganizationName'] @FlowName = params['FlowName'] @Status = params['Status'] @QuotaType = params['QuotaType'] @UseCount = params['UseCount'] @CostTime = params['CostTime'] @QuotaName = params['QuotaName'] @CostType = params['CostType'] @Remark = params['Remark'] end end # BindEmployeeUserIdWithClientOpenId请求参数结构体 class BindEmployeeUserIdWithClientOpenIdRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。使用此接口时,必须填写UserId。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param UserId: 员工在腾讯电子签平台的唯一身份标识,为32位字符串。 # 可登录腾讯电子签控制台,在 "更多能力"->"组织管理" 中查看某位员工的UserId(在页面中展示为用户ID);或者通过DescribeIntegrationEmployees接口获取。 # @type UserId: String # @param OpenId: 员工在贵司业务系统中的唯一身份标识,用于与腾讯电子签账号进行映射,确保在同一企业内不会出现重复。 该标识最大长度为64位字符串,仅支持包含26个英文字母和数字0-9的字符。 # @type OpenId: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :UserId, :OpenId, :Agent def initialize(operator=nil, userid=nil, openid=nil, agent=nil) @Operator = operator @UserId = userid @OpenId = openid @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @UserId = params['UserId'] @OpenId = params['OpenId'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # BindEmployeeUserIdWithClientOpenId返回参数结构体 class BindEmployeeUserIdWithClientOpenIdResponse < TencentCloud::Common::AbstractModel # @param Status: 绑定是否成功。 # # @type Status: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Status, :RequestId def initialize(status=nil, requestid=nil) @Status = status @RequestId = requestid end def deserialize(params) @Status = params['Status'] @RequestId = params['RequestId'] end end # 企业应用回调信息 class CallbackInfo < TencentCloud::Common::AbstractModel # @param CallbackUrl: 回调url,。请确保回调地址能够接收并处理 HTTP POST 请求,并返回状态码 200 以表示处理正常。 # @type CallbackUrl: String # @param Token: 回调加密key,已废弃 # @type Token: String # @param CallbackKey: 回调加密key,用于回调消息加解密。 # @type CallbackKey: String # @param CallbackToken: 回调验签token,用于回调通知校验。 # @type CallbackToken: String attr_accessor :CallbackUrl, :Token, :CallbackKey, :CallbackToken extend Gem::Deprecate deprecate :Token, :none, 2023, 11 deprecate :Token=, :none, 2023, 11 def initialize(callbackurl=nil, token=nil, callbackkey=nil, callbacktoken=nil) @CallbackUrl = callbackurl @Token = token @CallbackKey = callbackkey @CallbackToken = callbacktoken end def deserialize(params) @CallbackUrl = params['CallbackUrl'] @Token = params['Token'] @CallbackKey = params['CallbackKey'] @CallbackToken = params['CallbackToken'] end end # 此结构体 (Caller) 用于描述调用方属性。 class Caller < TencentCloud::Common::AbstractModel # @param ApplicationId: 应用号 # @type ApplicationId: String # @param OrganizationId: 主机构ID # @type OrganizationId: String # @param OperatorId: 经办人的用户ID,同UserId # @type OperatorId: String # @param SubOrganizationId: 下属机构ID # @type SubOrganizationId: String attr_accessor :ApplicationId, :OrganizationId, :OperatorId, :SubOrganizationId extend Gem::Deprecate deprecate :ApplicationId, :none, 2023, 11 deprecate :ApplicationId=, :none, 2023, 11 deprecate :OrganizationId, :none, 2023, 11 deprecate :OrganizationId=, :none, 2023, 11 deprecate :SubOrganizationId, :none, 2023, 11 deprecate :SubOrganizationId=, :none, 2023, 11 def initialize(applicationid=nil, organizationid=nil, operatorid=nil, suborganizationid=nil) @ApplicationId = applicationid @OrganizationId = organizationid @OperatorId = operatorid @SubOrganizationId = suborganizationid end def deserialize(params) @ApplicationId = params['ApplicationId'] @OrganizationId = params['OrganizationId'] @OperatorId = params['OperatorId'] @SubOrganizationId = params['SubOrganizationId'] end end # CancelFlow请求参数结构体 class CancelFlowRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowId: 合同流程ID, 为32位字符串。 # 可登录腾讯电子签控制台,在 "合同"->"合同中心" 中查看某个合同的FlowId(在页面中展示为合同ID)。 # @type FlowId: String # @param CancelMessage: 撤销此合同流程的原因,最多支持200个字符长度。只能由中文、字母、数字、中文标点和英文标点组成(不支持表情)。 # @type CancelMessage: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :FlowId, :CancelMessage, :Agent def initialize(operator=nil, flowid=nil, cancelmessage=nil, agent=nil) @Operator = operator @FlowId = flowid @CancelMessage = cancelmessage @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowId = params['FlowId'] @CancelMessage = params['CancelMessage'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CancelFlow返回参数结构体 class CancelFlowResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # CancelMultiFlowSignQRCode请求参数结构体 class CancelMultiFlowSignQRCodeRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param QrCodeId: 二维码ID,为32位字符串。 # @type QrCodeId: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :QrCodeId, :Agent def initialize(operator=nil, qrcodeid=nil, agent=nil) @Operator = operator @QrCodeId = qrcodeid @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @QrCodeId = params['QrCodeId'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CancelMultiFlowSignQRCode返回参数结构体 class CancelMultiFlowSignQRCodeResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # CancelUserAutoSignEnableUrl请求参数结构体 class CancelUserAutoSignEnableUrlRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param SceneKey: 自动签使用的场景值, 可以选择的场景值如下: # # 注: `现在仅支持电子处方场景` # @type SceneKey: String # @param UserInfo: 预撤销链接的用户信息,包含姓名、证件类型、证件号码等信息。 # @type UserInfo: :class:`Tencentcloud::Ess.v20201111.models.UserThreeFactor` # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :SceneKey, :UserInfo, :Agent def initialize(operator=nil, scenekey=nil, userinfo=nil, agent=nil) @Operator = operator @SceneKey = scenekey @UserInfo = userinfo @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @SceneKey = params['SceneKey'] unless params['UserInfo'].nil? @UserInfo = UserThreeFactor.new @UserInfo.deserialize(params['UserInfo']) end unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CancelUserAutoSignEnableUrl返回参数结构体 class CancelUserAutoSignEnableUrlResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 抄送信息 class CcInfo < TencentCloud::Common::AbstractModel # @param Mobile: 被抄送方手机号码, 支持国内手机号11位数字(无需加+86前缀或其他字符)。 # 请确认手机号所有方为此业务通知方。 # @type Mobile: String # @param Name: 被抄送方姓名。 # 抄送方的姓名将用于身份认证,请确保填写的姓名为抄送方的真实姓名,而非昵称等代名。 # @type Name: String # @param CcType: 被抄送方类型, 可设置以下类型: # # @type CcType: Integer # @param CcPermission: 被抄送方权限, 可设置如下权限: # # @type CcPermission: Integer # @param NotifyType: 通知签署方经办人的方式, 有以下途径: # # @type NotifyType: String attr_accessor :Mobile, :Name, :CcType, :CcPermission, :NotifyType def initialize(mobile=nil, name=nil, cctype=nil, ccpermission=nil, notifytype=nil) @Mobile = mobile @Name = name @CcType = cctype @CcPermission = ccpermission @NotifyType = notifytype end def deserialize(params) @Mobile = params['Mobile'] @Name = params['Name'] @CcType = params['CcType'] @CcPermission = params['CcPermission'] @NotifyType = params['NotifyType'] end end # 此结构体 (Component) 用于描述控件属性。 # 在通过文件发起合同时,对应的component有三种定位方式 # 1. 绝对定位方式 # 2. 表单域(FIELD)定位方式 # 3. 关键字(KEYWORD)定位方式,使用关键字定位时,请确保PDF原始文件内是关键字以文字形式保存在PDF文件中,不支持对图片内文字进行关键字查找 # 可以参考官网说明 # https://cloud.tencent.com/document/product/1323/78346#component-.E4.B8.89.E7.A7.8D.E5.AE.9A.E4.BD.8D.E6.96.B9.E5.BC.8F.E8.AF.B4.E6.98.8E class Component < TencentCloud::Common::AbstractModel # @param ComponentType: 如果是Component填写控件类型,则可选的字段为: # TEXT - 普通文本控件,输入文本字符串; # MULTI_LINE_TEXT - 多行文本控件,输入文本字符串; # CHECK_BOX - 勾选框控件,若选中填写ComponentValue 填写 true或者 false 字符串; # FILL_IMAGE - 图片控件,ComponentValue 填写图片的资源 ID; # DYNAMIC_TABLE - 动态表格控件; # ATTACHMENT - 附件控件,ComponentValue 填写附件图片的资源 ID列表,以逗号分隔; # SELECTOR - 选择器控件,ComponentValue填写选择的字符串内容; # DATE - 日期控件;默认是格式化为xxxx年xx月xx日字符串; # DISTRICT - 省市区行政区控件,ComponentValue填写省市区行政区字符串内容; # 如果是SignComponent签署控件类型,则可选的字段为 # SIGN_SEAL - 签署印章控件; # SIGN_DATE - 签署日期控件; # SIGN_SIGNATURE - 用户签名控件; # SIGN_PERSONAL_SEAL - 个人签署印章控件(使用文件发起暂不支持此类型); # SIGN_PAGING_SEAL - 骑缝章;若文件发起,需要对应填充ComponentPosY、ComponentWidth、ComponentHeight # SIGN_OPINION - 签署意见控件,用户需要根据配置的签署意见内容,完成对意见内容的确认; # SIGN_LEGAL_PERSON_SEAL - 企业法定代表人控件。 # 表单域的控件不能作为印章和签名控件 # @type ComponentType: String # @param FileIndex: 控件所属文件的序号(取值为:0-N)。 # 目前单文件的情况下,值是0 # @type FileIndex: Integer # @param ComponentHeight: 参数控件高度,单位pt # @type ComponentHeight: Float # @param ComponentWidth: 参数控件宽度,单位pt # @type ComponentWidth: Float # @param ComponentPage: 参数控件所在页码,取值为:1-N # @type ComponentPage: Integer # @param ComponentPosX: 参数控件X位置,单位pt # @type ComponentPosX: Float # @param ComponentPosY: 参数控件Y位置,单位pt # @type ComponentPosY: Float # @param ComponentId: 控件唯一ID。 # 或使用文件发起合同时用于GenerateMode==KEYWORD 指定关键字 # @type ComponentId: String # @param ComponentName: 控件名。 # 或使用文件发起合同时用于GenerateMode==FIELD 指定表单域名称 # @type ComponentName: String # @param ComponentRequired: 是否必选,默认为false-非必选 # @type ComponentRequired: Boolean # @param ComponentRecipientId: 控件关联的参与方ID,对应Recipient结构体中的RecipientId # @type ComponentRecipientId: String # @param ComponentExtra: 扩展参数: # 为JSON格式。 # 不同类型的控件会有部分非通用参数 # ComponentType为TEXT、MULTI_LINE_TEXT时,支持以下参数: # 1 Font:目前只支持黑体、宋体 # 2 FontSize: 范围12-72 # 3 FontAlign: Left/Right/Center,左对齐/居中/右对齐 # 4 FontColor:字符串类型,格式为RGB颜色数字 # 参数样例:{\"FontColor\":\"255,0,0\",\"FontSize\":12} # ComponentType为FILL_IMAGE时,支持以下参数: # NotMakeImageCenter:bool。是否设置图片居中。false:居中(默认)。 true: 不居中 # FillMethod: int. 填充方式。0-铺满(默认);1-等比例缩放 # ComponentType为SIGN_SIGNATURE类型可以控制签署方式 # {“ComponentTypeLimit”: [“xxx”]} # xxx可以为: # HANDWRITE – 手写签名 # OCR_ESIGN -- AI智能识别手写签名 # ESIGN -- 个人印章类型 # SYSTEM_ESIGN -- 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署) # 如:{“ComponentTypeLimit”: [“SYSTEM_ESIGN”]} # ComponentType为SIGN_DATE时,支持以下参数: # 1 Font:字符串类型目前只支持"黑体"、"宋体",如果不填默认为"黑体" # 2 FontSize: 数字类型,范围6-72,默认值为12 # 3 FontAlign: 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐 # 4 Format: 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。 # 5 Gaps:: 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数 # 如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期 # 特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效) # 参数样例: "ComponentExtra": "{"Format":“yyyy m d”,"FontSize":12,"Gaps":"2,2", "FontAlign":"Right"}" # ComponentType为SIGN_SEAL类型时,支持以下参数: # 1.PageRanges:PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况) # 参数样例: "ComponentExtra":"{"PageRange":[{"BeginPage":1,"EndPage":-1}]}" # @type ComponentExtra: String # @param IsFormType: 是否是表单域类型,默认false-不是 # 注意:此字段可能返回 null,表示取不到有效值。 # @type IsFormType: Boolean # @param ComponentValue: 控件填充vaule,ComponentType和传入值类型对应关系: # TEXT - 文本内容 # MULTI_LINE_TEXT - 文本内容 # CHECK_BOX - true/false # FILL_IMAGE、ATTACHMENT - 附件的FileId,需要通过UploadFiles接口上传获取 # SELECTOR - 选项值 # DYNAMIC_TABLE - 传入json格式的表格内容,具体见数据结构FlowInfo:https://cloud.tencent.com/document/api/1420/61525#FlowInfo # DATE - 默认是格式化为xxxx年xx月xx日 # SIGN_SEAL - 印章ID,于控制台查询获取 # SIGN_PAGING_SEAL - 可以指定印章ID,于控制台查询获取 # 控件值约束说明: # 企业全称控件: # 约束:企业名称中文字符中文括号 # 检查正则表达式:/^[\u3400-\u4dbf\u4e00-\u9fa5()]+$/ # 统一社会信用代码控件: # 检查正则表达式:/^[A-Z0-9]{1,18}$/ # 法人名称控件: # 约束:最大50个字符,2到25个汉字或者1到50个字母 # 检查正则表达式:/^([\u3400-\u4dbf\u4e00-\u9fa5.·]{2,25}|[a-zA-Z·,\s-]{1,50})$/ # 签署意见控件: # 约束:签署意见最大长度为50字符 # 签署人手机号控件: # 约束:国内手机号 13,14,15,16,17,18,19号段长度11位 # 签署人身份证控件: # 约束:合法的身份证号码检查 # 控件名称: # 约束:控件名称最大长度为20字符 # 单行文本控件: # 约束:只允许输入中文,英文,数字,中英文标点符号 # 多行文本控件: # 约束:只允许输入中文,英文,数字,中英文标点符号 # 勾选框控件: # 约束:选择填字符串true,不选填字符串false # 选择器控件: # 约束:同单行文本控件约束,填写选择值中的字符串 # 数字控件: # 约束:请输入有效的数字(可带小数点) # 检查正则表达式:/^(-|\+)?\d+(\.\d+)?$/ # 日期控件: # 约束:格式:yyyy年mm月dd日 # 附件控件: # 约束:JPG或PNG图片,上传数量限制,1到6个,最大6个附件 # 图片控件: # 约束:JPG或PNG图片,填写上传的图片资源ID # 邮箱控件: # 约束:请输入有效的邮箱地址, w3c标准 # 检查正则表达式:/^([A-Za-z0-9_\-.!#$%&])+@([A-Za-z0-9_\-.])+\.([A-Za-z]{2,4})$/ # 参考:https://emailregex.com/ # 地址控件: # 同单行文本控件约束 # 省市区控件: # 同单行文本控件约束 # 性别控件: # 同单行文本控件约束,填写选择值中的字符串 # 学历控件: # 同单行文本控件约束,填写选择值中的字符串 # @type ComponentValue: String # @param GenerateMode: 控件生成的方式: # NORMAL - 普通控件 # FIELD - 表单域 # KEYWORD - 关键字(设置关键字时,请确保PDF原始文件内是关键字以文字形式保存在PDF文件中,不支持对图片内文字进行关键字查找) # @type GenerateMode: String # @param ComponentDateFontSize: 日期签署控件的字号,默认为 12 # @type ComponentDateFontSize: Integer # @param ChannelComponentId: 第三方应用集成平台模板控件 ID 标识 # @type ChannelComponentId: String # @param OffsetX: 指定关键字时横坐标偏移量,单位pt # 注意:此字段可能返回 null,表示取不到有效值。 # @type OffsetX: Float # @param OffsetY: 指定关键字时纵坐标偏移量,单位pt # 注意:此字段可能返回 null,表示取不到有效值。 # @type OffsetY: Float # @param ChannelComponentSource: 第三方应用集成中子客企业控件来源。 # 0-平台指定; # 1-用户自定义 # @type ChannelComponentSource: Integer # @param KeywordOrder: 指定关键字排序规则,Positive-正序,Reverse-倒序。 # 传入Positive时会根据关键字在PDF文件内的顺序进行排列。在指定KeywordIndexes时,0代表在PDF内查找内容时,查找到的第一个关键字。 # 传入Reverse时会根据关键字在PDF文件内的反序进行排列。在指定KeywordIndexes时,0代表在PDF内查找内容时,查找到的最后一个关键字。 # @type KeywordOrder: String # @param KeywordPage: 指定关键字页码。 # 指定页码后,将只在指定的页码内查找关键字,非该页码的关键字将不会查询出来 # @type KeywordPage: Integer # @param RelativeLocation: 关键字位置模式, # Middle-居中, # Below-正下方, # Right-正右方, # LowerRight-右上角, # UpperRight-右下角。 # 示例:如果设置Middle的关键字盖章,则印章的中心会和关键字的中心重合,如果设置Below,则印章在关键字的正下方 # @type RelativeLocation: String # @param KeywordIndexes: 关键字索引。 # 如果一个关键字在PDF文件中存在多个,可以通过关键字索引指定使用第几个关键字作为最后的结果,可指定多个索引。 # 示例:[0,2],说明使用PDF文件内第1个和第3个关键字位置。 # @type KeywordIndexes: Array # @param LockComponentValue: 是否锁定控件值不允许编辑(嵌入式发起使用) #
默认false:不锁定控件值,允许在页面编辑控件值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LockComponentValue: Boolean # @param ForbidMoveAndDelete: 是否禁止移动和删除控件 #
默认false,不禁止移动和删除控件 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ForbidMoveAndDelete: Boolean attr_accessor :ComponentType, :FileIndex, :ComponentHeight, :ComponentWidth, :ComponentPage, :ComponentPosX, :ComponentPosY, :ComponentId, :ComponentName, :ComponentRequired, :ComponentRecipientId, :ComponentExtra, :IsFormType, :ComponentValue, :GenerateMode, :ComponentDateFontSize, :ChannelComponentId, :OffsetX, :OffsetY, :ChannelComponentSource, :KeywordOrder, :KeywordPage, :RelativeLocation, :KeywordIndexes, :LockComponentValue, :ForbidMoveAndDelete def initialize(componenttype=nil, fileindex=nil, componentheight=nil, componentwidth=nil, componentpage=nil, componentposx=nil, componentposy=nil, componentid=nil, componentname=nil, componentrequired=nil, componentrecipientid=nil, componentextra=nil, isformtype=nil, componentvalue=nil, generatemode=nil, componentdatefontsize=nil, channelcomponentid=nil, offsetx=nil, offsety=nil, channelcomponentsource=nil, keywordorder=nil, keywordpage=nil, relativelocation=nil, keywordindexes=nil, lockcomponentvalue=nil, forbidmoveanddelete=nil) @ComponentType = componenttype @FileIndex = fileindex @ComponentHeight = componentheight @ComponentWidth = componentwidth @ComponentPage = componentpage @ComponentPosX = componentposx @ComponentPosY = componentposy @ComponentId = componentid @ComponentName = componentname @ComponentRequired = componentrequired @ComponentRecipientId = componentrecipientid @ComponentExtra = componentextra @IsFormType = isformtype @ComponentValue = componentvalue @GenerateMode = generatemode @ComponentDateFontSize = componentdatefontsize @ChannelComponentId = channelcomponentid @OffsetX = offsetx @OffsetY = offsety @ChannelComponentSource = channelcomponentsource @KeywordOrder = keywordorder @KeywordPage = keywordpage @RelativeLocation = relativelocation @KeywordIndexes = keywordindexes @LockComponentValue = lockcomponentvalue @ForbidMoveAndDelete = forbidmoveanddelete end def deserialize(params) @ComponentType = params['ComponentType'] @FileIndex = params['FileIndex'] @ComponentHeight = params['ComponentHeight'] @ComponentWidth = params['ComponentWidth'] @ComponentPage = params['ComponentPage'] @ComponentPosX = params['ComponentPosX'] @ComponentPosY = params['ComponentPosY'] @ComponentId = params['ComponentId'] @ComponentName = params['ComponentName'] @ComponentRequired = params['ComponentRequired'] @ComponentRecipientId = params['ComponentRecipientId'] @ComponentExtra = params['ComponentExtra'] @IsFormType = params['IsFormType'] @ComponentValue = params['ComponentValue'] @GenerateMode = params['GenerateMode'] @ComponentDateFontSize = params['ComponentDateFontSize'] @ChannelComponentId = params['ChannelComponentId'] @OffsetX = params['OffsetX'] @OffsetY = params['OffsetY'] @ChannelComponentSource = params['ChannelComponentSource'] @KeywordOrder = params['KeywordOrder'] @KeywordPage = params['KeywordPage'] @RelativeLocation = params['RelativeLocation'] @KeywordIndexes = params['KeywordIndexes'] @LockComponentValue = params['LockComponentValue'] @ForbidMoveAndDelete = params['ForbidMoveAndDelete'] end end # 签署控件的类型和范围限制条件,用于控制文件发起后签署人拖拽签署区时可使用的控件类型和具体的印章或签名方式。 class ComponentLimit < TencentCloud::Common::AbstractModel # @param ComponentType: 控件类型,支持以下类型 # # @type ComponentType: String # @param ComponentValue: 签署控件类型的值(可选),用与限制签署时印章或者签名的选择范围 # 1.当ComponentType 是 SIGN_SEAL 或者 SIGN_PAGING_SEAL 时可传入企业印章Id(支持多个) # 2.当ComponentType 是 SIGN_SIGNATURE 时可传入以下类型(支持多个) # # 3.当ComponentType 是 SIGN_LEGAL_PERSON_SEAL 时无需传递此参数。 # @type ComponentValue: Array attr_accessor :ComponentType, :ComponentValue def initialize(componenttype=nil, componentvalue=nil) @ComponentType = componenttype @ComponentValue = componentvalue end def deserialize(params) @ComponentType = params['ComponentType'] @ComponentValue = params['ComponentValue'] end end # CreateBatchCancelFlowUrl请求参数结构体 class CreateBatchCancelFlowUrlRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 #
注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowIds: 需要执行撤回的流程(合同)的编号列表,最多100个. #
列表中的流程(合同)编号不要重复. # @type FlowIds: Array # @param Agent: 代理企业和员工的信息。 #
在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :FlowIds, :Agent def initialize(operator=nil, flowids=nil, agent=nil) @Operator = operator @FlowIds = flowids @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowIds = params['FlowIds'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreateBatchCancelFlowUrl返回参数结构体 class CreateBatchCancelFlowUrlResponse < TencentCloud::Common::AbstractModel # @param BatchCancelFlowUrl: 批量撤回签署流程链接 # @type BatchCancelFlowUrl: String # @param FailMessages: 签署流程撤回失败信息 # 数组里边的错误原因与传进来的FlowIds一一对应,如果是空字符串则标识没有出错 # @type FailMessages: Array # @param UrlExpireOn: 签署连接过期时间字符串:年月日-时分秒 # 例如:2023-07-28 17:25:59 # @type UrlExpireOn: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :BatchCancelFlowUrl, :FailMessages, :UrlExpireOn, :RequestId def initialize(batchcancelflowurl=nil, failmessages=nil, urlexpireon=nil, requestid=nil) @BatchCancelFlowUrl = batchcancelflowurl @FailMessages = failmessages @UrlExpireOn = urlexpireon @RequestId = requestid end def deserialize(params) @BatchCancelFlowUrl = params['BatchCancelFlowUrl'] @FailMessages = params['FailMessages'] @UrlExpireOn = params['UrlExpireOn'] @RequestId = params['RequestId'] end end # CreateBatchQuickSignUrl请求参数结构体 class CreateBatchQuickSignUrlRequest < TencentCloud::Common::AbstractModel # @param FlowIds: 批量签署的合同流程ID数组。 # 注: `在调用此接口时,请确保合同流程均为本企业发起,且合同数量不超过100个。` # @type FlowIds: Array # @param FlowApproverInfo: 批量签署的流程签署人,其中姓名(ApproverName)、参与人类型(ApproverType)必传,手机号(ApproverMobile)和证件信息(ApproverIdCardType、ApproverIdCardNumber)可任选一种或全部传入。 # 注: # `1. ApproverType目前只支持个人类型的签署人。` # `2. 签署人只能有手写签名和时间类型的签署控件,其他类型的填写控件和签署控件暂时都未支持。` # `3. 当需要通过短信验证码签署时,手机号ApproverMobile需要与发起合同时填写的用户手机号一致。` # @type FlowApproverInfo: :class:`Tencentcloud::Ess.v20201111.models.FlowCreateApprover` # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param JumpUrl: 签署完之后的H5页面的跳转链接,此链接及支持http://和https://,最大长度1000个字符。(建议https协议) # @type JumpUrl: String # @param SignatureTypes: 指定批量签署合同的签名类型,可传递以下值: # # 注: # # @type SignatureTypes: Array # @param ApproverSignTypes: 指定批量签署合同的认证校验方式,可传递以下值: # # 注: # # @type ApproverSignTypes: Array attr_accessor :FlowIds, :FlowApproverInfo, :Agent, :Operator, :JumpUrl, :SignatureTypes, :ApproverSignTypes def initialize(flowids=nil, flowapproverinfo=nil, agent=nil, operator=nil, jumpurl=nil, signaturetypes=nil, approversigntypes=nil) @FlowIds = flowids @FlowApproverInfo = flowapproverinfo @Agent = agent @Operator = operator @JumpUrl = jumpurl @SignatureTypes = signaturetypes @ApproverSignTypes = approversigntypes end def deserialize(params) @FlowIds = params['FlowIds'] unless params['FlowApproverInfo'].nil? @FlowApproverInfo = FlowCreateApprover.new @FlowApproverInfo.deserialize(params['FlowApproverInfo']) end unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @JumpUrl = params['JumpUrl'] @SignatureTypes = params['SignatureTypes'] @ApproverSignTypes = params['ApproverSignTypes'] end end # CreateBatchQuickSignUrl返回参数结构体 class CreateBatchQuickSignUrlResponse < TencentCloud::Common::AbstractModel # @param FlowApproverUrlInfo: 签署人签署链接信息 # @type FlowApproverUrlInfo: :class:`Tencentcloud::Ess.v20201111.models.FlowApproverUrlInfo` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FlowApproverUrlInfo, :RequestId def initialize(flowapproverurlinfo=nil, requestid=nil) @FlowApproverUrlInfo = flowapproverurlinfo @RequestId = requestid end def deserialize(params) unless params['FlowApproverUrlInfo'].nil? @FlowApproverUrlInfo = FlowApproverUrlInfo.new @FlowApproverUrlInfo.deserialize(params['FlowApproverUrlInfo']) end @RequestId = params['RequestId'] end end # CreateBatchSignUrl请求参数结构体 class CreateBatchSignUrlRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param Name: 签署方经办人的姓名。 # 经办人的姓名将用于身份认证和电子签名,请确保填写的姓名为签署方的真实姓名,而非昵称等代名。 # 注:`请确保和合同中填入的一致` # @type Name: String # @param Mobile: 手机号码, 支持国内手机号11位数字(无需加+86前缀或其他字符)。 # 请确认手机号所有方为此业务通知方。 # 注:`请确保和合同中填入的一致, 若无法保持一致,请确保在发起和生成批量签署链接时传入相同的参与方证件信息` # @type Mobile: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param IdCardType: 证件类型,支持以下类型 # # 注:`请确保和合同中填入的一致` # @type IdCardType: String # @param IdCardNumber: 证件号码,应符合以下规则 # # 注:`请确保和合同中填入的一致` # @type IdCardNumber: String # @param NotifyType: 通知用户方式: # # @type NotifyType: String # @param FlowIds: 本次需要批量签署的合同流程ID列表。 # 可以不传, 如不传则是发给对方的所有待签署合同流程。 # @type FlowIds: Array # @param OrganizationName: 目标签署人的企业名称,签署人如果是企业员工身份,需要传此参数。 # 注: # # @type OrganizationName: String # @param JumpToDetail: 是否直接跳转至合同内容页面进行签署 # # @type JumpToDetail: Boolean attr_accessor :Operator, :Name, :Mobile, :Agent, :IdCardType, :IdCardNumber, :NotifyType, :FlowIds, :OrganizationName, :JumpToDetail def initialize(operator=nil, name=nil, mobile=nil, agent=nil, idcardtype=nil, idcardnumber=nil, notifytype=nil, flowids=nil, organizationname=nil, jumptodetail=nil) @Operator = operator @Name = name @Mobile = mobile @Agent = agent @IdCardType = idcardtype @IdCardNumber = idcardnumber @NotifyType = notifytype @FlowIds = flowids @OrganizationName = organizationname @JumpToDetail = jumptodetail end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @Name = params['Name'] @Mobile = params['Mobile'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end @IdCardType = params['IdCardType'] @IdCardNumber = params['IdCardNumber'] @NotifyType = params['NotifyType'] @FlowIds = params['FlowIds'] @OrganizationName = params['OrganizationName'] @JumpToDetail = params['JumpToDetail'] end end # CreateBatchSignUrl返回参数结构体 class CreateBatchSignUrlResponse < TencentCloud::Common::AbstractModel # @param SignUrl: 批量签署链接,以短链形式返回,短链的有效期参考回参中的 ExpiredTime。 # 注: `非小程序和APP集成使用` # @type SignUrl: String # @param ExpiredTime: 链接过期时间以 Unix 时间戳格式表示,默认生成链接时间起,往后7天有效期。过期后短链将失效,无法打开。 # @type ExpiredTime: Integer # @param MiniAppPath: 从客户小程序或者客户APP跳转至腾讯电子签小程序进行批量签署的跳转路径 # 注: `小程序和APP集成使用` # @type MiniAppPath: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SignUrl, :ExpiredTime, :MiniAppPath, :RequestId def initialize(signurl=nil, expiredtime=nil, miniapppath=nil, requestid=nil) @SignUrl = signurl @ExpiredTime = expiredtime @MiniAppPath = miniapppath @RequestId = requestid end def deserialize(params) @SignUrl = params['SignUrl'] @ExpiredTime = params['ExpiredTime'] @MiniAppPath = params['MiniAppPath'] @RequestId = params['RequestId'] end end # CreateConvertTaskApi请求参数结构体 class CreateConvertTaskApiRequest < TencentCloud::Common::AbstractModel # @param ResourceType: 需要进行转换的资源文件类型 # 支持的文件类型如下: # # @type ResourceType: String # @param ResourceName: 需要进行转换操作的文件资源名称,带资源后缀名。 # 注: `资源名称长度限制为256个字符` # @type ResourceName: String # @param ResourceId: 需要进行转换操作的文件资源Id,通过UploadFiles接口获取文件资源Id。 # 注: `目前,此接口仅支持单个文件进行转换。` # @type ResourceId: String # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param Organization: 暂未开放 # @type Organization: :class:`Tencentcloud::Ess.v20201111.models.OrganizationInfo` attr_accessor :ResourceType, :ResourceName, :ResourceId, :Operator, :Agent, :Organization extend Gem::Deprecate deprecate :Organization, :none, 2023, 11 deprecate :Organization=, :none, 2023, 11 def initialize(resourcetype=nil, resourcename=nil, resourceid=nil, operator=nil, agent=nil, organization=nil) @ResourceType = resourcetype @ResourceName = resourcename @ResourceId = resourceid @Operator = operator @Agent = agent @Organization = organization end def deserialize(params) @ResourceType = params['ResourceType'] @ResourceName = params['ResourceName'] @ResourceId = params['ResourceId'] unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end unless params['Organization'].nil? @Organization = OrganizationInfo.new @Organization.deserialize(params['Organization']) end end end # CreateConvertTaskApi返回参数结构体 class CreateConvertTaskApiResponse < TencentCloud::Common::AbstractModel # @param TaskId: 接口返回的文件转换任务Id,可以调用接口查询转换任务状态获取转换任务的状态和转换后的文件资源Id。 # @type TaskId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskId, :RequestId def initialize(taskid=nil, requestid=nil) @TaskId = taskid @RequestId = requestid end def deserialize(params) @TaskId = params['TaskId'] @RequestId = params['RequestId'] end end # CreateDocument请求参数结构体 class CreateDocumentRequest < TencentCloud::Common::AbstractModel # @param Operator: 调用方用户信息,userId 必填。支持填入集团子公司经办人 userId代发合同。 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowId: 合同流程ID,为32位字符串。 # 此接口的合同流程ID需要由创建签署流程接口创建得到。 # @type FlowId: String # @param TemplateId: 用户配置的合同模板ID,会基于此模板创建合同文档,为32位字符串。 # 可登录腾讯电子签控制台,在 "模板"->"模板中心"->"列表展示设置"选中模板 ID 中查看某个模板的TemplateId(在页面中展示为模板ID)。 # @type TemplateId: String # @param FileNames: 文件名列表,单个文件名最大长度200个字符,暂时仅支持单文件发起。设置后流程对应的文件名称当前设置的值。 # @type FileNames: Array # @param FormFields: 电子文档的填写控件的填充内容。具体方式可以参考FormField结构体的定义。 # @type FormFields: Array # @param NeedPreview: 是否为预览模式,取值如下: # # 注: `当使用的模板中存在动态表格控件时,预览结果中没有动态表格的填写内容,动态表格合成完后会触发文档合成完成的回调通知` # @type NeedPreview: Boolean # @param PreviewType: 预览模式下产生的预览链接类型 # # 注: `1.此参数在NeedPreview 为true时有效` # `2.动态表格控件不支持H5链接方式预览` # @type PreviewType: Integer # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param ClientToken: 已废弃字段,客户端Token,保持接口幂等性,最大长度64个字符 # @type ClientToken: String attr_accessor :Operator, :FlowId, :TemplateId, :FileNames, :FormFields, :NeedPreview, :PreviewType, :Agent, :ClientToken def initialize(operator=nil, flowid=nil, templateid=nil, filenames=nil, formfields=nil, needpreview=nil, previewtype=nil, agent=nil, clienttoken=nil) @Operator = operator @FlowId = flowid @TemplateId = templateid @FileNames = filenames @FormFields = formfields @NeedPreview = needpreview @PreviewType = previewtype @Agent = agent @ClientToken = clienttoken end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowId = params['FlowId'] @TemplateId = params['TemplateId'] @FileNames = params['FileNames'] unless params['FormFields'].nil? @FormFields = [] params['FormFields'].each do |i| formfield_tmp = FormField.new formfield_tmp.deserialize(i) @FormFields << formfield_tmp end end @NeedPreview = params['NeedPreview'] @PreviewType = params['PreviewType'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end @ClientToken = params['ClientToken'] end end # CreateDocument返回参数结构体 class CreateDocumentResponse < TencentCloud::Common::AbstractModel # @param DocumentId: 合同流程的底层电子文档ID,为32位字符串。 # 注: # 后续需用同样的FlowId再次调用发起签署流程,合同才能进入签署环节 # @type DocumentId: String # @param PreviewFileUrl: 合同预览链接URL。 # 注: `1.如果是预览模式(即NeedPreview设置为true)时, 才会有此预览链接URL` # `2.当使用的模板中存在动态表格控件时,预览结果中没有动态表格的填写内容` # 注意:此字段可能返回 null,表示取不到有效值。 # @type PreviewFileUrl: String # @param Approvers: 签署方信息,如角色ID、角色名称等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Approvers: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :DocumentId, :PreviewFileUrl, :Approvers, :RequestId def initialize(documentid=nil, previewfileurl=nil, approvers=nil, requestid=nil) @DocumentId = documentid @PreviewFileUrl = previewfileurl @Approvers = approvers @RequestId = requestid end def deserialize(params) @DocumentId = params['DocumentId'] @PreviewFileUrl = params['PreviewFileUrl'] unless params['Approvers'].nil? @Approvers = [] params['Approvers'].each do |i| approveritem_tmp = ApproverItem.new approveritem_tmp.deserialize(i) @Approvers << approveritem_tmp end end @RequestId = params['RequestId'] end end # CreateEmbedWebUrl请求参数结构体 class CreateEmbedWebUrlRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 #
注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param EmbedType: WEB嵌入资源类型,支持以下类型 # # @type EmbedType: String # @param BusinessId: WEB嵌入的业务资源ID #