# 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: 超管手机号 # 注意:此字段可能返回 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, 9 deprecate :AppId=, :none, 2023, 9 deprecate :ProxyAppId, :none, 2023, 9 deprecate :ProxyAppId=, :none, 2023, 9 deprecate :ProxyOperator, :none, 2023, 9 deprecate :ProxyOperator=, :none, 2023, 9 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 # 参与者信息。 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 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 attr_accessor :ApproverType, :ApproverName, :ApproverMobile, :OrganizationName, :SignComponents, :ApproverIdCardType, :ApproverIdCardNumber, :NotifyType, :ApproverRole, :VerifyChannel, :PreReadTime, :UserId, :ApproverSource, :CustomApproverTag, :ApproverOption, :ApproverVerifyTypes, :ApproverSignTypes, :ApproverNeedSignReview, :AddSignComponentsLimits def initialize(approvertype=nil, approvername=nil, approvermobile=nil, organizationname=nil, signcomponents=nil, approveridcardtype=nil, approveridcardnumber=nil, notifytype=nil, approverrole=nil, verifychannel=nil, prereadtime=nil, userid=nil, approversource=nil, customapprovertag=nil, approveroption=nil, approververifytypes=nil, approversigntypes=nil, approverneedsignreview=nil, addsigncomponentslimits=nil) @ApproverType = approvertype @ApproverName = approvername @ApproverMobile = approvermobile @OrganizationName = organizationname @SignComponents = signcomponents @ApproverIdCardType = approveridcardtype @ApproverIdCardNumber = approveridcardnumber @NotifyType = notifytype @ApproverRole = approverrole @VerifyChannel = verifychannel @PreReadTime = prereadtime @UserId = userid @ApproverSource = approversource @CustomApproverTag = customapprovertag @ApproverOption = approveroption @ApproverVerifyTypes = approververifytypes @ApproverSignTypes = approversigntypes @ApproverNeedSignReview = approverneedsignreview @AddSignComponentsLimits = addsigncomponentslimits 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'] @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 end end # 签署人个性化能力信息 class ApproverOption < TencentCloud::Common::AbstractModel # @param NoRefuse: 签署方是否可以拒签 # # @type NoRefuse: Boolean # @param NoTransfer: 签署方是否可以转他人处理 # # @type NoTransfer: Boolean attr_accessor :NoRefuse, :NoTransfer def initialize(norefuse=nil, notransfer=nil) @NoRefuse = norefuse @NoTransfer = notransfer end def deserialize(params) @NoRefuse = params['NoRefuse'] @NoTransfer = params['NoTransfer'] 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, 9 deprecate :CallbackUrl=, :none, 2023, 9 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 # BindEmployeeUserIdWithClientOpenId请求参数结构体 class BindEmployeeUserIdWithClientOpenIdRequest < TencentCloud::Common::AbstractModel # @param Operator: 用户信息,OpenId与UserId二选一必填一个,OpenId是第三方客户ID,userId是用户实名后的电子签生成的ID,当传入客户系统openId,传入的openId需与电子签员工userId绑定,且参数Channel必填,Channel值为INTEGRATE;当传入参数UserId,Channel无需指定。(参数参考示例) # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param UserId: 电子签系统员工UserId # @type UserId: String # @param OpenId: 客户系统OpenId # @type OpenId: String # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @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: 绑定是否成功,1表示成功,0表示失败 # @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, 9 deprecate :Token=, :none, 2023, 9 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, 9 deprecate :ApplicationId=, :none, 2023, 9 deprecate :OrganizationId, :none, 2023, 9 deprecate :OrganizationId=, :none, 2023, 9 deprecate :SubOrganizationId, :none, 2023, 9 deprecate :SubOrganizationId=, :none, 2023, 9 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位字符串。 # 建议开发者保存此流程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 # 模板/流程中控件信息,可以是填充控件或签署控件 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为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":"{\"PageRanges\":[{\"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 表单域,需使用ComponentName指定表单域名称 # KEYWORD 关键字,使用ComponentId指定关键字 # @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 # 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, 9 deprecate :Organization=, :none, 2023, 9 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: 预览模式下产生的预览链接类型 # # 注: `此参数在NeedPreview 为true时有效` # @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。 # 注:如果是预览模式(即NeedPreview设置为true)时, 才会有此预览链接URL # 注意:此字段可能返回 null,表示取不到有效值。 # @type PreviewFileUrl: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :DocumentId, :PreviewFileUrl, :RequestId def initialize(documentid=nil, previewfileurl=nil, requestid=nil) @DocumentId = documentid @PreviewFileUrl = previewfileurl @RequestId = requestid end def deserialize(params) @DocumentId = params['DocumentId'] @PreviewFileUrl = params['PreviewFileUrl'] @RequestId = params['RequestId'] end end # CreateEmbedWebUrl请求参数结构体 class CreateEmbedWebUrlRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 #
注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param EmbedType: WEB嵌入资源类型。 #
CREATE_SEAL: 生成创建印章的嵌入页面 #
CREATE_TEMPLATE:生成创建模板的嵌入页面 #
MODIFY_TEMPLATE:生成编辑模板的嵌入页面 #
PREVIEW_TEMPLATE:生成预览模板的嵌入页面 #
PREVIEW_SEAL_LIST:生成预览印章列表的嵌入页面 #
PREVIEW_SEAL_DETAIL:生成预览印章详情的嵌入页面 #
EXTEND_SERVICE:生成拓展服务的嵌入页面 #
PREVIEW_FLOW:生成预览合同的嵌入页面 #
PREVIEW_FLOW_DETAIL:生成查看合同详情的嵌入页面 # @type EmbedType: String # @param BusinessId: WEB嵌入的业务资源ID #
PREVIEW_SEAL_DETAIL,必填,取值为印章id #
MODIFY_TEMPLATE,PREVIEW_TEMPLATE,必填,取值为模板id #
PREVIEW_FLOW,PREVIEW_FLOW_DETAIL,必填,取值为合同id # @type BusinessId: String # @param Agent: 代理企业和员工的信息。 #
在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param Reviewer: 抄送方信息 # @type Reviewer: :class:`Tencentcloud::Ess.v20201111.models.ReviewerInfo` # @param Option: 个性化参数,用于控制页面展示内容 # @type Option: :class:`Tencentcloud::Ess.v20201111.models.EmbedUrlOption` attr_accessor :Operator, :EmbedType, :BusinessId, :Agent, :Reviewer, :Option def initialize(operator=nil, embedtype=nil, businessid=nil, agent=nil, reviewer=nil, option=nil) @Operator = operator @EmbedType = embedtype @BusinessId = businessid @Agent = agent @Reviewer = reviewer @Option = option end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @EmbedType = params['EmbedType'] @BusinessId = params['BusinessId'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end unless params['Reviewer'].nil? @Reviewer = ReviewerInfo.new @Reviewer.deserialize(params['Reviewer']) end unless params['Option'].nil? @Option = EmbedUrlOption.new @Option.deserialize(params['Option']) end end end # CreateEmbedWebUrl返回参数结构体 class CreateEmbedWebUrlResponse < TencentCloud::Common::AbstractModel # @param WebUrl: 嵌入的web链接,有效期:5分钟 #
EmbedType=PREVIEW_CC_FLOW,该url为h5链接 # @type WebUrl: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :WebUrl, :RequestId def initialize(weburl=nil, requestid=nil) @WebUrl = weburl @RequestId = requestid end def deserialize(params) @WebUrl = params['WebUrl'] @RequestId = params['RequestId'] end end # CreateFlowApprovers请求参数结构体 class CreateFlowApproversRequest < TencentCloud::Common::AbstractModel # @param Operator: 调用方用户信息,userId 必填 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowId: 签署流程编号 # @type FlowId: String # @param Approvers: 补充签署人信息 # @type Approvers: Array # @param Initiator: 企微消息中的发起人 # @type Initiator: String # @param Agent: 代理相关应用信息,如集团主企业代子企业操作 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :FlowId, :Approvers, :Initiator, :Agent def initialize(operator=nil, flowid=nil, approvers=nil, initiator=nil, agent=nil) @Operator = operator @FlowId = flowid @Approvers = approvers @Initiator = initiator @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowId = params['FlowId'] unless params['Approvers'].nil? @Approvers = [] params['Approvers'].each do |i| fillapproverinfo_tmp = FillApproverInfo.new fillapproverinfo_tmp.deserialize(i) @Approvers << fillapproverinfo_tmp end end @Initiator = params['Initiator'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreateFlowApprovers返回参数结构体 class CreateFlowApproversResponse < 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 # CreateFlowByFiles请求参数结构体 class CreateFlowByFilesRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。使用此接口时,必须填写userId。 # 支持填入集团子公司经办人 userId 代发合同。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowName: 合同流程的名称(可自定义此名称),长度不能超过200,只能由中文、字母、数字和下划线组成。 # 该名称还将用于合同签署完成后的下载文件名。 # @type FlowName: String # @param Approvers: 合同流程的参与方列表,最多可支持50个参与方,可在列表中指定企业B端签署方和个人C端签署方的联系和认证方式等信息,具体定义可以参考开发者中心的ApproverInfo结构体。 # 如果合同流程是有序签署,Approvers列表中参与人的顺序就是默认的签署顺序,请确保列表中参与人的顺序符合实际签署顺序。 # @type Approvers: Array # @param FileIds: 本合同流程需包含的PDF文件资源编号列表,通过UploadFiles接口获取PDF文件资源编号。 # 注: `目前,此接口仅支持单个文件发起。` # @type FileIds: Array # @param FlowDescription: 合同流程描述信息(可自定义此描述),最大长度1000个字符。 # @type FlowDescription: String # @param FlowType: 合同流程的类别分类(可自定义名称,如销售合同/入职合同等),最大长度为200个字符,仅限中文、字母、数字和下划线组成。 # @type FlowType: String # @param Components: 模板或者合同中的填写控件列表,列表中可支持下列多种填写控件,控件的详细定义参考开发者中心的Component结构体 # # @type Components: Array # @param CcInfos: 合同流程的抄送人列表,最多可支持50个抄送人,抄送人可查看合同内容及签署进度,但无需参与合同签署。 # 注:`此功能为白名单功能,使用前请联系对接的客户经理沟通。` # @type CcInfos: Array # @param CcNotifyType: 可以设置以下时间节点来给抄送人发送短信通知来查看合同内容: # # @type CcNotifyType: Integer # @param NeedPreview: 是否为预览模式,取值如下: # # @type NeedPreview: Boolean # @param PreviewType: 预览模式下产生的预览链接类型 # # 注: `此参数在NeedPreview 为true时有效` # @type PreviewType: Integer # @param Deadline: 合同流程的签署截止时间,格式为Unix标准时间戳(秒),如果未设置签署截止时间,则默认为合同流程创建后的365天时截止。 # 如果在签署截止时间前未完成签署,则合同状态会变为已过期,导致合同作废。 # @type Deadline: Integer # @param RemindedOn: 合同到期提醒时间,为Unix标准时间戳(秒)格式,支持的范围是从发起时间开始到后10年内。 # 到达提醒时间后,腾讯电子签会短信通知发起方企业合同提醒,可用于处理合同到期事务,如合同续签等事宜。 # @type RemindedOn: Integer # @param Unordered: 合同流程的签署顺序类型: # # @type Unordered: Boolean # @param CustomShowMap: 您可以自定义腾讯电子签小程序合同列表页展示的合同内容模板,模板中支持以下变量: # # 其中,N表示签署方的编号,从1开始,不能超过签署人的数量。 # 例如,如果是腾讯公司张三发给李四名称为“租房合同”的合同,您可以将此字段设置为:`合同名称:{合同名称};发起方: {发起方企业}({发起方姓名});签署方:{签署方1姓名}`,则小程序中列表页展示此合同为以下样子 # 合同名称:租房合同 # 发起方:腾讯公司(张三) # 签署方:李四 # @type CustomShowMap: String # @param NeedSignReview: 发起方企业的签署人进行签署操作前,是否需要企业内部走审批流程,取值如下: # # 企业可以通过CreateFlowSignReview审批接口通知腾讯电子签平台企业内部审批结果 # # 注:`此功能可用于与企业内部的审批流程进行关联,支持手动、静默签署合同` # @type NeedSignReview: Boolean # @param UserData: 调用方自定义的个性化字段(可自定义此名称),并以base64方式编码,支持的最大数据大小为 20480长度。 # 在合同状态变更的回调信息等场景中,该字段的信息将原封不动地透传给贵方。回调的相关说明可参考开发者中心的回调通知模块。 # @type UserData: String # @param ApproverVerifyType: 指定个人签署方查看合同的校验方式 # # @type ApproverVerifyType: String # @param SignBeanTag: 签署方签署控件(印章/签名等)的生成方式: # # @type SignBeanTag: Integer # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param AutoSignScene: 个人自动签名的使用场景包括以下, 个人自动签署(即ApproverType设置成个人自动签署时)业务此值必传: # # 注: `个人自动签名场景是白名单功能,使用前请与对接的客户经理联系沟通。` # @type AutoSignScene: String attr_accessor :Operator, :FlowName, :Approvers, :FileIds, :FlowDescription, :FlowType, :Components, :CcInfos, :CcNotifyType, :NeedPreview, :PreviewType, :Deadline, :RemindedOn, :Unordered, :CustomShowMap, :NeedSignReview, :UserData, :ApproverVerifyType, :SignBeanTag, :Agent, :AutoSignScene def initialize(operator=nil, flowname=nil, approvers=nil, fileids=nil, flowdescription=nil, flowtype=nil, components=nil, ccinfos=nil, ccnotifytype=nil, needpreview=nil, previewtype=nil, deadline=nil, remindedon=nil, unordered=nil, customshowmap=nil, needsignreview=nil, userdata=nil, approververifytype=nil, signbeantag=nil, agent=nil, autosignscene=nil) @Operator = operator @FlowName = flowname @Approvers = approvers @FileIds = fileids @FlowDescription = flowdescription @FlowType = flowtype @Components = components @CcInfos = ccinfos @CcNotifyType = ccnotifytype @NeedPreview = needpreview @PreviewType = previewtype @Deadline = deadline @RemindedOn = remindedon @Unordered = unordered @CustomShowMap = customshowmap @NeedSignReview = needsignreview @UserData = userdata @ApproverVerifyType = approververifytype @SignBeanTag = signbeantag @Agent = agent @AutoSignScene = autosignscene end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowName = params['FlowName'] unless params['Approvers'].nil? @Approvers = [] params['Approvers'].each do |i| approverinfo_tmp = ApproverInfo.new approverinfo_tmp.deserialize(i) @Approvers << approverinfo_tmp end end @FileIds = params['FileIds'] @FlowDescription = params['FlowDescription'] @FlowType = params['FlowType'] unless params['Components'].nil? @Components = [] params['Components'].each do |i| component_tmp = Component.new component_tmp.deserialize(i) @Components << component_tmp end end unless params['CcInfos'].nil? @CcInfos = [] params['CcInfos'].each do |i| ccinfo_tmp = CcInfo.new ccinfo_tmp.deserialize(i) @CcInfos << ccinfo_tmp end end @CcNotifyType = params['CcNotifyType'] @NeedPreview = params['NeedPreview'] @PreviewType = params['PreviewType'] @Deadline = params['Deadline'] @RemindedOn = params['RemindedOn'] @Unordered = params['Unordered'] @CustomShowMap = params['CustomShowMap'] @NeedSignReview = params['NeedSignReview'] @UserData = params['UserData'] @ApproverVerifyType = params['ApproverVerifyType'] @SignBeanTag = params['SignBeanTag'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end @AutoSignScene = params['AutoSignScene'] end end # CreateFlowByFiles返回参数结构体 class CreateFlowByFilesResponse < TencentCloud::Common::AbstractModel # @param FlowId: 合同流程ID,为32位字符串。 # 建议开发者妥善保存此流程ID,以便于顺利进行后续操作。 # 可登录腾讯电子签控制台,在 "合同"->"合同中心" 中查看某个合同的FlowId(在页面中展示为合同ID)。 # 注: 如果是预览模式(即NeedPreview设置为true)时, 此处不会有值返回。 # @type FlowId: String # @param PreviewUrl: 合同预览链接URL。 # 注:如果是预览模式(即NeedPreview设置为true)时, 才会有此预览链接URL # 注意:此字段可能返回 null,表示取不到有效值。 # @type PreviewUrl: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FlowId, :PreviewUrl, :RequestId def initialize(flowid=nil, previewurl=nil, requestid=nil) @FlowId = flowid @PreviewUrl = previewurl @RequestId = requestid end def deserialize(params) @FlowId = params['FlowId'] @PreviewUrl = params['PreviewUrl'] @RequestId = params['RequestId'] end end # CreateFlowEvidenceReport请求参数结构体 class CreateFlowEvidenceReportRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowId: 合同流程ID,为32位字符串。 # 可登录腾讯电子签控制台,在 "合同"->"合同中心" 中查看某个合同的FlowId(在页面中展示为合同ID)。 # @type FlowId: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :FlowId, :Agent def initialize(operator=nil, flowid=nil, agent=nil) @Operator = operator @FlowId = flowid @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowId = params['FlowId'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreateFlowEvidenceReport返回参数结构体 class CreateFlowEvidenceReportResponse < TencentCloud::Common::AbstractModel # @param ReportId: 出证报告 ID,可用于DescribeFlowEvidenceReport接口查询出证PDF的下载地址 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ReportId: String # @param Status: 出证任务执行的状态, 可能会有以下状态: # # @type Status: String # @param ReportUrl: 此字段已经废除,不再使用. # 出证的PDF下载地址请调用DescribeChannelFlowEvidenceReport接口获取 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ReportUrl: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ReportId, :Status, :ReportUrl, :RequestId extend Gem::Deprecate deprecate :ReportUrl, :none, 2023, 9 deprecate :ReportUrl=, :none, 2023, 9 def initialize(reportid=nil, status=nil, reporturl=nil, requestid=nil) @ReportId = reportid @Status = status @ReportUrl = reporturl @RequestId = requestid end def deserialize(params) @ReportId = params['ReportId'] @Status = params['Status'] @ReportUrl = params['ReportUrl'] @RequestId = params['RequestId'] end end # CreateFlowGroupByFiles请求参数结构体 class CreateFlowGroupByFilesRequest < TencentCloud::Common::AbstractModel # @param Operator: 调用方用户信息,userId 必填。支持填入集团子公司经办人 userId 代发合同 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowGroupName: 合同(流程)组名称,最大长度200个字符 # @type FlowGroupName: String # @param FlowGroupInfos: 合同(流程)组的子合同信息,支持2-50个子合同 # @type FlowGroupInfos: Array # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param FlowGroupOptions: 合同(流程)组的配置项信息。包括是否通知本企业签署方,是否通知其他签署方 # @type FlowGroupOptions: :class:`Tencentcloud::Ess.v20201111.models.FlowGroupOptions` attr_accessor :Operator, :FlowGroupName, :FlowGroupInfos, :Agent, :FlowGroupOptions def initialize(operator=nil, flowgroupname=nil, flowgroupinfos=nil, agent=nil, flowgroupoptions=nil) @Operator = operator @FlowGroupName = flowgroupname @FlowGroupInfos = flowgroupinfos @Agent = agent @FlowGroupOptions = flowgroupoptions end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowGroupName = params['FlowGroupName'] unless params['FlowGroupInfos'].nil? @FlowGroupInfos = [] params['FlowGroupInfos'].each do |i| flowgroupinfo_tmp = FlowGroupInfo.new flowgroupinfo_tmp.deserialize(i) @FlowGroupInfos << flowgroupinfo_tmp end end unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end unless params['FlowGroupOptions'].nil? @FlowGroupOptions = FlowGroupOptions.new @FlowGroupOptions.deserialize(params['FlowGroupOptions']) end end end # CreateFlowGroupByFiles返回参数结构体 class CreateFlowGroupByFilesResponse < TencentCloud::Common::AbstractModel # @param FlowGroupId: 合同(流程)组的合同组Id # 注意:此字段可能返回 null,表示取不到有效值。 # @type FlowGroupId: String # @param FlowIds: 合同(流程)组中子合同列表. # 注意:此字段可能返回 null,表示取不到有效值。 # @type FlowIds: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FlowGroupId, :FlowIds, :RequestId def initialize(flowgroupid=nil, flowids=nil, requestid=nil) @FlowGroupId = flowgroupid @FlowIds = flowids @RequestId = requestid end def deserialize(params) @FlowGroupId = params['FlowGroupId'] @FlowIds = params['FlowIds'] @RequestId = params['RequestId'] end end # CreateFlowGroupByTemplates请求参数结构体 class CreateFlowGroupByTemplatesRequest < TencentCloud::Common::AbstractModel # @param Operator: 调用方用户信息,userId 必填。支持填入集团子公司经办人 userId 代发合同 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowGroupName: 合同组名称,最大长度200个字符 # @type FlowGroupName: String # @param FlowGroupInfos: 合同组的子合同信息,支持2-50个子合同 # @type FlowGroupInfos: Array # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param FlowGroupOptions: 合同组的配置信息。包括是否通知本企业签署方,是否通知其他签署方 # @type FlowGroupOptions: :class:`Tencentcloud::Ess.v20201111.models.FlowGroupOptions` attr_accessor :Operator, :FlowGroupName, :FlowGroupInfos, :Agent, :FlowGroupOptions def initialize(operator=nil, flowgroupname=nil, flowgroupinfos=nil, agent=nil, flowgroupoptions=nil) @Operator = operator @FlowGroupName = flowgroupname @FlowGroupInfos = flowgroupinfos @Agent = agent @FlowGroupOptions = flowgroupoptions end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowGroupName = params['FlowGroupName'] unless params['FlowGroupInfos'].nil? @FlowGroupInfos = [] params['FlowGroupInfos'].each do |i| flowgroupinfo_tmp = FlowGroupInfo.new flowgroupinfo_tmp.deserialize(i) @FlowGroupInfos << flowgroupinfo_tmp end end unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end unless params['FlowGroupOptions'].nil? @FlowGroupOptions = FlowGroupOptions.new @FlowGroupOptions.deserialize(params['FlowGroupOptions']) end end end # CreateFlowGroupByTemplates返回参数结构体 class CreateFlowGroupByTemplatesResponse < TencentCloud::Common::AbstractModel # @param FlowGroupId: 合同(流程)组的合同组Id # 注意:此字段可能返回 null,表示取不到有效值。 # @type FlowGroupId: String # @param FlowIds: 合同(流程)组中子合同列表. # 注意:此字段可能返回 null,表示取不到有效值。 # @type FlowIds: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FlowGroupId, :FlowIds, :RequestId def initialize(flowgroupid=nil, flowids=nil, requestid=nil) @FlowGroupId = flowgroupid @FlowIds = flowids @RequestId = requestid end def deserialize(params) @FlowGroupId = params['FlowGroupId'] @FlowIds = params['FlowIds'] @RequestId = params['RequestId'] end end # 创建合同个性化参数 class CreateFlowOption < TencentCloud::Common::AbstractModel # @param CanEditFlow: 是否允许修改发起合同时确认弹窗的合同信息(合同名称、合同类型、签署截止时间),若不允许编辑,则表单字段将被禁止输入。 #
true:允许编辑(默认),
false:不允许编辑
默认:false:不允许编辑 # @type CanEditFlow: Boolean # @param CanEditFormField: 是否允许编辑模板控件 #
true:允许编辑模板控件信息 #
false:不允许编辑模板控件信息 #
默认false:不允许编辑模板控件信息 # @type CanEditFormField: Boolean # @param HideShowFlowName: 发起页面隐藏合同名称展示 #
true:发起页面隐藏合同名称展示 #
false:发起页面不隐藏合同名称展示 #
默认false:发起页面不隐藏合同名称展示 # @type HideShowFlowName: Boolean # @param HideShowFlowType: 发起页面隐藏合同类型展示 #
true:发起页面隐藏合同类型展示 #
false:发起页面不隐藏合同类型展示 #
默认false:发起页面不隐藏合同类型展示 # @type HideShowFlowType: Boolean # @param HideShowDeadline: 发起页面隐藏合同截止日期展示 #
true:发起页面隐藏合同截止日期展示 #
false:发起页面不隐藏合同截止日期展示 #
默认false:发起页面不隐藏合同截止日期展示 # @type HideShowDeadline: Boolean # @param CanSkipAddApprover: 发起页面允许跳过添加签署人环节 #
true:发起页面允许跳过添加签署人环节 #
false:发起页面不允许跳过添加签署人环节 #
默认false:发起页面不允许跳过添加签署人环节 # @type CanSkipAddApprover: Boolean # @param SkipUploadFile: 文件发起页面跳过文件上传步骤 #
true:文件发起页面跳过文件上传步骤 #
false:文件发起页面不跳过文件上传步骤 #
默认false:文件发起页面不跳过文件上传步骤 # @type SkipUploadFile: Boolean # @param ForbidEditFillComponent: 禁止编辑填写控件 #
true:禁止编辑填写控件 #
false:允许编辑填写控件 #
默认false:允许编辑填写控件 # @type ForbidEditFillComponent: Boolean # @param CustomCreateFlowDescription: 定制化发起合同弹窗的描述信息,描述信息最长500 # @type CustomCreateFlowDescription: String attr_accessor :CanEditFlow, :CanEditFormField, :HideShowFlowName, :HideShowFlowType, :HideShowDeadline, :CanSkipAddApprover, :SkipUploadFile, :ForbidEditFillComponent, :CustomCreateFlowDescription def initialize(caneditflow=nil, caneditformfield=nil, hideshowflowname=nil, hideshowflowtype=nil, hideshowdeadline=nil, canskipaddapprover=nil, skipuploadfile=nil, forbideditfillcomponent=nil, customcreateflowdescription=nil) @CanEditFlow = caneditflow @CanEditFormField = caneditformfield @HideShowFlowName = hideshowflowname @HideShowFlowType = hideshowflowtype @HideShowDeadline = hideshowdeadline @CanSkipAddApprover = canskipaddapprover @SkipUploadFile = skipuploadfile @ForbidEditFillComponent = forbideditfillcomponent @CustomCreateFlowDescription = customcreateflowdescription end def deserialize(params) @CanEditFlow = params['CanEditFlow'] @CanEditFormField = params['CanEditFormField'] @HideShowFlowName = params['HideShowFlowName'] @HideShowFlowType = params['HideShowFlowType'] @HideShowDeadline = params['HideShowDeadline'] @CanSkipAddApprover = params['CanSkipAddApprover'] @SkipUploadFile = params['SkipUploadFile'] @ForbidEditFillComponent = params['ForbidEditFillComponent'] @CustomCreateFlowDescription = params['CustomCreateFlowDescription'] end end # CreateFlowReminds请求参数结构体 class CreateFlowRemindsRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowIds: 需执行催办的签署流程ID数组,最多包含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 # CreateFlowReminds返回参数结构体 class CreateFlowRemindsResponse < TencentCloud::Common::AbstractModel # @param RemindFlowRecords: 合同催办结果的详细信息列表。 # @type RemindFlowRecords: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RemindFlowRecords, :RequestId def initialize(remindflowrecords=nil, requestid=nil) @RemindFlowRecords = remindflowrecords @RequestId = requestid end def deserialize(params) unless params['RemindFlowRecords'].nil? @RemindFlowRecords = [] params['RemindFlowRecords'].each do |i| remindflowrecords_tmp = RemindFlowRecords.new remindflowrecords_tmp.deserialize(i) @RemindFlowRecords << remindflowrecords_tmp end end @RequestId = params['RequestId'] end end # CreateFlow请求参数结构体 class CreateFlowRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。使用此接口时,必须填写userId。 # 支持填入集团子公司经办人 userId 代发合同。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowName: 合同流程的名称(可自定义此名称),长度不能超过200,只能由中文、字母、数字和下划线组成。 # 该名称还将用于合同签署完成后的下载文件名。 # @type FlowName: String # @param Approvers: 合同流程的参与方列表,最多可支持50个参与方,可在列表中指定企业B端签署方和个人C端签署方的联系和认证方式等信息,具体定义可以参考开发者中心的ApproverInfo结构体。 # 注: `approver中的顺序需要和模板中的顺序保持一致, 否则会导致模板中配置的信息无效` # @type Approvers: Array # @param FlowDescription: 合同流程描述信息(可自定义此描述),最大长度1000个字符。 # @type FlowDescription: String # @param FlowType: 合同流程的类别分类(可自定义名称,如销售合同/入职合同等),最大长度为200个字符,仅限中文、字母、数字和下划线组成。 # @type FlowType: String # @param ClientToken: 已经废弃字段,客户端Token,保持接口幂等性,最大长度64个字符 # @type ClientToken: String # @param DeadLine: 合同流程的签署截止时间,格式为Unix标准时间戳(秒),如果未设置签署截止时间,则默认为合同流程创建后的365天时截止。 # 如果在签署截止时间前未完成签署,则合同状态会变为已过期,导致合同作废。 # @type DeadLine: Integer # @param RemindedOn: 合同到期提醒时间,为Unix标准时间戳(秒)格式,支持的范围是从发起时间开始到后10年内。 # 到达提醒时间后,腾讯电子签会短信通知发起方企业合同提醒,可用于处理合同到期事务,如合同续签等事宜。 # @type RemindedOn: Integer # @param UserData: 调用方自定义的个性化字段(可自定义此名称),并以base64方式编码,支持的最大数据大小为 20480长度。 # 在合同状态变更的回调信息等场景中,该字段的信息将原封不动地透传给贵方。回调的相关说明可参考开发者中心的回调通知模块。 # @type UserData: String # @param Unordered: 合同流程的签署顺序类型: # # 注:`请和模板中的配置保持一致` # @type Unordered: Boolean # @param CustomShowMap: 您可以自定义腾讯电子签小程序合同列表页展示的合同内容模板,模板中支持以下变量: # # 其中,N表示签署方的编号,从1开始,不能超过签署人的数量。 # 例如,如果是腾讯公司张三发给李四名称为“租房合同”的合同,您可以将此字段设置为:`合同名称:{合同名称};发起方: {发起方企业}({发起方姓名});签署方:{签署方1姓名}`,则小程序中列表页展示此合同为以下样子 # 合同名称:租房合同 # 发起方:腾讯公司(张三) # 签署方:李四 # @type CustomShowMap: String # @param NeedSignReview: 发起方企业的签署人进行签署操作前,是否需要企业内部走审批流程,取值如下: # # 企业可以通过CreateFlowSignReview审批接口通知腾讯电子签平台企业内部审批结果 # # 注:`此功能可用于与企业内部的审批流程进行关联,支持手动、静默签署合同` # @type NeedSignReview: Boolean # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param CcInfos: 合同流程的抄送人列表,最多可支持50个抄送人,抄送人可查看合同内容及签署进度,但无需参与合同签署。 # 注:`此功能为白名单功能,使用前请联系对接的客户经理沟通。` # @type CcInfos: Array # @param AutoSignScene: 个人自动签名的使用场景包括以下, 个人自动签署(即ApproverType设置成个人自动签署时)业务此值必传: # # 注: `个人自动签名场景是白名单功能,使用前请与对接的客户经理联系沟通。` # @type AutoSignScene: String # @param RelatedFlowId: 暂未开放 # @type RelatedFlowId: String # @param CallbackUrl: 暂未开放 # @type CallbackUrl: String attr_accessor :Operator, :FlowName, :Approvers, :FlowDescription, :FlowType, :ClientToken, :DeadLine, :RemindedOn, :UserData, :Unordered, :CustomShowMap, :NeedSignReview, :Agent, :CcInfos, :AutoSignScene, :RelatedFlowId, :CallbackUrl extend Gem::Deprecate deprecate :RelatedFlowId, :none, 2023, 9 deprecate :RelatedFlowId=, :none, 2023, 9 deprecate :CallbackUrl, :none, 2023, 9 deprecate :CallbackUrl=, :none, 2023, 9 def initialize(operator=nil, flowname=nil, approvers=nil, flowdescription=nil, flowtype=nil, clienttoken=nil, deadline=nil, remindedon=nil, userdata=nil, unordered=nil, customshowmap=nil, needsignreview=nil, agent=nil, ccinfos=nil, autosignscene=nil, relatedflowid=nil, callbackurl=nil) @Operator = operator @FlowName = flowname @Approvers = approvers @FlowDescription = flowdescription @FlowType = flowtype @ClientToken = clienttoken @DeadLine = deadline @RemindedOn = remindedon @UserData = userdata @Unordered = unordered @CustomShowMap = customshowmap @NeedSignReview = needsignreview @Agent = agent @CcInfos = ccinfos @AutoSignScene = autosignscene @RelatedFlowId = relatedflowid @CallbackUrl = callbackurl end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowName = params['FlowName'] unless params['Approvers'].nil? @Approvers = [] params['Approvers'].each do |i| flowcreateapprover_tmp = FlowCreateApprover.new flowcreateapprover_tmp.deserialize(i) @Approvers << flowcreateapprover_tmp end end @FlowDescription = params['FlowDescription'] @FlowType = params['FlowType'] @ClientToken = params['ClientToken'] @DeadLine = params['DeadLine'] @RemindedOn = params['RemindedOn'] @UserData = params['UserData'] @Unordered = params['Unordered'] @CustomShowMap = params['CustomShowMap'] @NeedSignReview = params['NeedSignReview'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end unless params['CcInfos'].nil? @CcInfos = [] params['CcInfos'].each do |i| ccinfo_tmp = CcInfo.new ccinfo_tmp.deserialize(i) @CcInfos << ccinfo_tmp end end @AutoSignScene = params['AutoSignScene'] @RelatedFlowId = params['RelatedFlowId'] @CallbackUrl = params['CallbackUrl'] end end # CreateFlow返回参数结构体 class CreateFlowResponse < TencentCloud::Common::AbstractModel # @param FlowId: 合同流程ID,为32位字符串。 # 建议开发者妥善保存此流程ID,以便于顺利进行后续操作。 # 注: # 此返回的合同流程ID,需再次调用创建电子文档发起签署流程接口将合同开始后,合同才能进入签署环节 # @type FlowId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FlowId, :RequestId def initialize(flowid=nil, requestid=nil) @FlowId = flowid @RequestId = requestid end def deserialize(params) @FlowId = params['FlowId'] @RequestId = params['RequestId'] end end # CreateFlowSignReview请求参数结构体 class CreateFlowSignReviewRequest < TencentCloud::Common::AbstractModel # @param Operator: 调用方用户信息,userId 必填 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowId: 签署流程编号 # @type FlowId: String # @param ReviewType: 企业内部审核结果 # PASS: 通过 # REJECT: 拒绝 # @type ReviewType: String # @param ReviewMessage: 审核原因 # 当ReviewType 是REJECT 时此字段必填,字符串长度不超过200 # @type ReviewMessage: String # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param RecipientId: 审核签署节点使用 非必填 如果填写则审核该签署节点。给个人审核时必填。 # @type RecipientId: String # @param OperateType: 操作类型:(接口通过该字段区分操作类型) # SignReview:签署审核 # CreateReview:发起审核 # 默认:SignReview;SignReview:签署审核 # 该字段不传或者为空,则默认为SignReview签署审核,走签署审核流程 # 若发起个人审核,则指定该字段为:SignReview # @type OperateType: String attr_accessor :Operator, :FlowId, :ReviewType, :ReviewMessage, :Agent, :RecipientId, :OperateType def initialize(operator=nil, flowid=nil, reviewtype=nil, reviewmessage=nil, agent=nil, recipientid=nil, operatetype=nil) @Operator = operator @FlowId = flowid @ReviewType = reviewtype @ReviewMessage = reviewmessage @Agent = agent @RecipientId = recipientid @OperateType = operatetype end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @FlowId = params['FlowId'] @ReviewType = params['ReviewType'] @ReviewMessage = params['ReviewMessage'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end @RecipientId = params['RecipientId'] @OperateType = params['OperateType'] end end # CreateFlowSignReview返回参数结构体 class CreateFlowSignReviewResponse < 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 # CreateFlowSignUrl请求参数结构体 class CreateFlowSignUrlRequest < TencentCloud::Common::AbstractModel # @param FlowId: 合同流程ID,为32位字符串。 # 建议开发者妥善保存此流程ID,以便于顺利进行后续操作。 # 可登录腾讯电子签控制台,在 "合同"->"合同中心" 中查看某个合同的FlowId(在页面中展示为合同ID)。 # @type FlowId: String # @param FlowApproverInfos: 流程签署人列表,其中结构体的ApproverName,ApproverMobile和ApproverType必传,其他可不传, # 注: # `1. ApproverType目前只支持个人类型的签署人。` # `2. 签署人只能有手写签名和时间类型的签署控件,其他类型的填写控件和签署控件暂时都未支持。` # @type FlowApproverInfos: Array # @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` # @param JumpUrl: 签署完之后的H5页面的跳转链接,此链接及支持http://和https://,最大长度1000个字符。(建议https协议) # @type JumpUrl: String attr_accessor :FlowId, :FlowApproverInfos, :Operator, :Agent, :Organization, :JumpUrl extend Gem::Deprecate deprecate :Organization, :none, 2023, 9 deprecate :Organization=, :none, 2023, 9 def initialize(flowid=nil, flowapproverinfos=nil, operator=nil, agent=nil, organization=nil, jumpurl=nil) @FlowId = flowid @FlowApproverInfos = flowapproverinfos @Operator = operator @Agent = agent @Organization = organization @JumpUrl = jumpurl end def deserialize(params) @FlowId = params['FlowId'] unless params['FlowApproverInfos'].nil? @FlowApproverInfos = [] params['FlowApproverInfos'].each do |i| flowcreateapprover_tmp = FlowCreateApprover.new flowcreateapprover_tmp.deserialize(i) @FlowApproverInfos << flowcreateapprover_tmp end end 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 @JumpUrl = params['JumpUrl'] end end # CreateFlowSignUrl返回参数结构体 class CreateFlowSignUrlResponse < TencentCloud::Common::AbstractModel # @param FlowApproverUrlInfos: 签署人签署链接信息 # @type FlowApproverUrlInfos: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FlowApproverUrlInfos, :RequestId def initialize(flowapproverurlinfos=nil, requestid=nil) @FlowApproverUrlInfos = flowapproverurlinfos @RequestId = requestid end def deserialize(params) unless params['FlowApproverUrlInfos'].nil? @FlowApproverUrlInfos = [] params['FlowApproverUrlInfos'].each do |i| flowapproverurlinfo_tmp = FlowApproverUrlInfo.new flowapproverurlinfo_tmp.deserialize(i) @FlowApproverUrlInfos << flowapproverurlinfo_tmp end end @RequestId = params['RequestId'] end end # CreateIntegrationDepartment请求参数结构体 class CreateIntegrationDepartmentRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得组织架构管理权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param DeptName: 部门名称,不超过50个字符 # @type DeptName: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param ParentDeptId: 电子签父部门ID,与ParentDeptOpenId二选一,优先ParentDeptId,都为空时自动填充至根节点下 # @type ParentDeptId: String # @param ParentDeptOpenId: 第三方平台中父部门ID,与ParentDeptId二选一,优先ParentDeptId,都为空时自动填充至根节点下 # @type ParentDeptOpenId: String # @param DeptOpenId: 客户系统部门ID,不超过64个字符 # @type DeptOpenId: String # @param OrderNo: 排序号,1~30000范围内 # @type OrderNo: Integer attr_accessor :Operator, :DeptName, :Agent, :ParentDeptId, :ParentDeptOpenId, :DeptOpenId, :OrderNo def initialize(operator=nil, deptname=nil, agent=nil, parentdeptid=nil, parentdeptopenid=nil, deptopenid=nil, orderno=nil) @Operator = operator @DeptName = deptname @Agent = agent @ParentDeptId = parentdeptid @ParentDeptOpenId = parentdeptopenid @DeptOpenId = deptopenid @OrderNo = orderno end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @DeptName = params['DeptName'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end @ParentDeptId = params['ParentDeptId'] @ParentDeptOpenId = params['ParentDeptOpenId'] @DeptOpenId = params['DeptOpenId'] @OrderNo = params['OrderNo'] end end # CreateIntegrationDepartment返回参数结构体 class CreateIntegrationDepartmentResponse < TencentCloud::Common::AbstractModel # @param DeptId: 电子签部门ID # @type DeptId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :DeptId, :RequestId def initialize(deptid=nil, requestid=nil) @DeptId = deptid @RequestId = requestid end def deserialize(params) @DeptId = params['DeptId'] @RequestId = params['RequestId'] end end # CreateIntegrationEmployees请求参数结构体 class CreateIntegrationEmployeesRequest < TencentCloud::Common::AbstractModel # @param Operator: 操作人信息,userId必填 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param Employees: 待创建员工的信息,不超过20个。 # 所有类型的企业支持的入参:Mobile和DisplayName必填,OpenId、Email和Department.DepartmentId选填,其他字段暂不支持。 # 企微类型的企业特有支持的入参:WeworkOpenId,传入此字段无需在传入其他信息 # @type Employees: Array # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :Employees, :Agent def initialize(operator=nil, employees=nil, agent=nil) @Operator = operator @Employees = employees @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end unless params['Employees'].nil? @Employees = [] params['Employees'].each do |i| staff_tmp = Staff.new staff_tmp.deserialize(i) @Employees << staff_tmp end end unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreateIntegrationEmployees返回参数结构体 class CreateIntegrationEmployeesResponse < TencentCloud::Common::AbstractModel # @param CreateEmployeeResult: 创建员工的结果 # @type CreateEmployeeResult: :class:`Tencentcloud::Ess.v20201111.models.CreateStaffResult` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :CreateEmployeeResult, :RequestId def initialize(createemployeeresult=nil, requestid=nil) @CreateEmployeeResult = createemployeeresult @RequestId = requestid end def deserialize(params) unless params['CreateEmployeeResult'].nil? @CreateEmployeeResult = CreateStaffResult.new @CreateEmployeeResult.deserialize(params['CreateEmployeeResult']) end @RequestId = params['RequestId'] end end # CreateIntegrationRole请求参数结构体 class CreateIntegrationRoleRequest < TencentCloud::Common::AbstractModel # @param Name: 角色名称,最大长度为20个字符,仅限中文、字母、数字和下划线组成。 # @type Name: String # @param Operator: 执行本接口操作的员工信息。使用此接口时,必须填写userId。 # 支持填入集团子公司经办人 userId 代发合同。 # 注: 在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param Description: 角色描述,最大长度为50个字符 # @type Description: String # @param IsGroupRole: 角色类型,0:saas角色,1:集团角色 # 默认0,saas角色 # @type IsGroupRole: Integer # @param PermissionGroups: 权限树 # @type PermissionGroups: Array # @param SubOrganizationIds: 集团角色的话,需要传递集团子企业列表,如果是全选,则传1 # @type SubOrganizationIds: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Name, :Operator, :Description, :IsGroupRole, :PermissionGroups, :SubOrganizationIds, :Agent def initialize(name=nil, operator=nil, description=nil, isgrouprole=nil, permissiongroups=nil, suborganizationids=nil, agent=nil) @Name = name @Operator = operator @Description = description @IsGroupRole = isgrouprole @PermissionGroups = permissiongroups @SubOrganizationIds = suborganizationids @Agent = agent end def deserialize(params) @Name = params['Name'] unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @Description = params['Description'] @IsGroupRole = params['IsGroupRole'] unless params['PermissionGroups'].nil? @PermissionGroups = [] params['PermissionGroups'].each do |i| permissiongroup_tmp = PermissionGroup.new permissiongroup_tmp.deserialize(i) @PermissionGroups << permissiongroup_tmp end end @SubOrganizationIds = params['SubOrganizationIds'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreateIntegrationRole返回参数结构体 class CreateIntegrationRoleResponse < TencentCloud::Common::AbstractModel # @param RoleId: 角色id # @type RoleId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RoleId, :RequestId def initialize(roleid=nil, requestid=nil) @RoleId = roleid @RequestId = requestid end def deserialize(params) @RoleId = params['RoleId'] @RequestId = params['RequestId'] end end # CreateIntegrationUserRoles请求参数结构体 class CreateIntegrationUserRolesRequest < TencentCloud::Common::AbstractModel # @param Operator: 操作人信息,UserId必填 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param UserIds: 绑定角色的用户id列表,不能重复,不能大于 100 个 # @type UserIds: Array # @param RoleIds: 绑定角色的角色id列表,不能重复,不能大于 100,可以通过DescribeIntegrationRoles接口获取 # @type RoleIds: Array # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :UserIds, :RoleIds, :Agent def initialize(operator=nil, userids=nil, roleids=nil, agent=nil) @Operator = operator @UserIds = userids @RoleIds = roleids @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @UserIds = params['UserIds'] @RoleIds = params['RoleIds'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreateIntegrationUserRoles返回参数结构体 class CreateIntegrationUserRolesResponse < TencentCloud::Common::AbstractModel # @param FailedCreateRoleData: 绑定角色失败列表信息 # @type FailedCreateRoleData: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FailedCreateRoleData, :RequestId def initialize(failedcreateroledata=nil, requestid=nil) @FailedCreateRoleData = failedcreateroledata @RequestId = requestid end def deserialize(params) unless params['FailedCreateRoleData'].nil? @FailedCreateRoleData = [] params['FailedCreateRoleData'].each do |i| failedcreateroledata_tmp = FailedCreateRoleData.new failedcreateroledata_tmp.deserialize(i) @FailedCreateRoleData << failedcreateroledata_tmp end end @RequestId = params['RequestId'] end end # CreateMultiFlowSignQRCode请求参数结构体 class CreateMultiFlowSignQRCodeRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param TemplateId: 合同模板ID,为32位字符串。 # 可登录腾讯电子签控制台,在 "模板"->"模板中心"->"列表展示设置"选中模板 ID 中查看某个模板的TemplateId(在页面中展示为模板ID)。 # @type TemplateId: String # @param FlowName: 合同流程的名称(可自定义此名称),长度不能超过200,只能由中文、字母、数字和下划线组成。 # 该名称还将用于合同签署完成后的下载文件名。 # @type FlowName: String # @param MaxFlowNum: 通过此二维码可发起的流程最大限额,如未明确指定,默认为5份。 # 一旦发起流程数超越该限制,该二维码将自动失效。 # @type MaxFlowNum: Integer # @param QrEffectiveDay: 二维码的有效期限,默认为7天,最高设定不得超过90天。 # 一旦超过二维码的有效期限,该二维码将自动失效。 # @type QrEffectiveDay: Integer # @param FlowEffectiveDay: 合同流程的签署有效期限,若未设定签署截止日期,则默认为自合同流程创建起的7天内截止。 # 若在签署截止日期前未完成签署,合同状态将变更为已过期,从而导致合同无效。 # 最长设定期限不得超过30天。 # @type FlowEffectiveDay: Integer # @param Restrictions: 指定签署人信息。 # 在指定签署人后,仅允许特定签署人通过扫描二维码进行签署。 # @type Restrictions: Array # @param UserData: 调用方自定义的个性化字段(可自定义此字段的值),并以base64方式编码,支持的最大数据大小为 20480长度。 # 在合同状态变更的回调信息等场景中,该字段的信息将原封不动地透传给贵方。 # 回调的相关说明可参考开发者中心的回调通知模块。 # @type UserData: String # @param CallbackUrl: 已废弃,回调配置统一使用企业应用管理-应用集成-企业版应用中的配置 #
通过一码多扫二维码发起的合同,回调消息可参考文档 https://qian.tencent.com/developers/company/callback_types_contracts_sign #
用户通过签署二维码发起合同时,因企业额度不足导致失败 会触发签署二维码相关回调,具体参考文档 https://qian.tencent.com/developers/company/callback_types_commons#%E7%AD%BE%E7%BD%B2%E4%BA%8C%E7%BB%B4%E7%A0%81%E7%9B%B8%E5%85%B3%E5%9B%9E%E8%B0%83 # @type CallbackUrl: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param ApproverRestrictions: 限制二维码用户条件(已弃用) # @type ApproverRestrictions: :class:`Tencentcloud::Ess.v20201111.models.ApproverRestriction` attr_accessor :Operator, :TemplateId, :FlowName, :MaxFlowNum, :QrEffectiveDay, :FlowEffectiveDay, :Restrictions, :UserData, :CallbackUrl, :Agent, :ApproverRestrictions extend Gem::Deprecate deprecate :CallbackUrl, :none, 2023, 9 deprecate :CallbackUrl=, :none, 2023, 9 deprecate :ApproverRestrictions, :none, 2023, 9 deprecate :ApproverRestrictions=, :none, 2023, 9 def initialize(operator=nil, templateid=nil, flowname=nil, maxflownum=nil, qreffectiveday=nil, floweffectiveday=nil, restrictions=nil, userdata=nil, callbackurl=nil, agent=nil, approverrestrictions=nil) @Operator = operator @TemplateId = templateid @FlowName = flowname @MaxFlowNum = maxflownum @QrEffectiveDay = qreffectiveday @FlowEffectiveDay = floweffectiveday @Restrictions = restrictions @UserData = userdata @CallbackUrl = callbackurl @Agent = agent @ApproverRestrictions = approverrestrictions end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @TemplateId = params['TemplateId'] @FlowName = params['FlowName'] @MaxFlowNum = params['MaxFlowNum'] @QrEffectiveDay = params['QrEffectiveDay'] @FlowEffectiveDay = params['FlowEffectiveDay'] unless params['Restrictions'].nil? @Restrictions = [] params['Restrictions'].each do |i| approverrestriction_tmp = ApproverRestriction.new approverrestriction_tmp.deserialize(i) @Restrictions << approverrestriction_tmp end end @UserData = params['UserData'] @CallbackUrl = params['CallbackUrl'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end unless params['ApproverRestrictions'].nil? @ApproverRestrictions = ApproverRestriction.new @ApproverRestrictions.deserialize(params['ApproverRestrictions']) end end end # CreateMultiFlowSignQRCode返回参数结构体 class CreateMultiFlowSignQRCodeResponse < TencentCloud::Common::AbstractModel # @param QrCode: 签署二维码的基本信息,用于创建二维码,用户可扫描该二维码进行签署操作。 # @type QrCode: :class:`Tencentcloud::Ess.v20201111.models.SignQrCode` # @param SignUrls: 流程签署二维码的签署信息,适用于客户系统整合二维码功能。通过链接,用户可直接访问电子签名小程序并签署合同。 # @type SignUrls: :class:`Tencentcloud::Ess.v20201111.models.SignUrl` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :QrCode, :SignUrls, :RequestId def initialize(qrcode=nil, signurls=nil, requestid=nil) @QrCode = qrcode @SignUrls = signurls @RequestId = requestid end def deserialize(params) unless params['QrCode'].nil? @QrCode = SignQrCode.new @QrCode.deserialize(params['QrCode']) end unless params['SignUrls'].nil? @SignUrls = SignUrl.new @SignUrls.deserialize(params['SignUrls']) end @RequestId = params['RequestId'] end end # CreateOrganizationBatchSignUrl请求参数结构体 class CreateOrganizationBatchSignUrlRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。使用此接口时,必须填写userId。 # 支持填入集团子公司经办人 userId 代发合同。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param FlowIds: 请指定需执行批量签署的流程ID,数量范围为1-100。
# 您可登录腾讯电子签控制台,浏览 "合同"->"合同中心" 以查阅某一合同的FlowId(在页面中显示为合同ID)。
# 用户将利用链接对这些合同实施批量操作。 # @type FlowIds: Array # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param UserId: 员工在腾讯电子签平台的独特身份标识,为32位字符串。
# 您可登录腾讯电子签控制台,在 "更多能力"->"组织管理" 中查阅某位员工的UserId(在页面中显示为用户ID)。
# UserId必须是传入合同(FlowId)中的签署人。 # - 1. 若UserId为空,Name和Mobile 必须提供。 # - 2. 若UserId 与 Name,Mobile均存在,将优先采用UserId对应的员工。 # @type UserId: String # @param Name: 员工姓名,必须与手机号码一起使用。
如果UserId为空,则此字段不能为空。同时,姓名和手机号码必须与传入合同(FlowId)中的签署人信息一致。 # @type Name: String # @param Mobile: 员工手机号,必须与姓名一起使用。
如果UserId为空,则此字段不能为空。同时,姓名和手机号码必须与传入合同(FlowId)中的签署人信息一致。 # @type Mobile: String attr_accessor :Operator, :FlowIds, :Agent, :UserId, :Name, :Mobile def initialize(operator=nil, flowids=nil, agent=nil, userid=nil, name=nil, mobile=nil) @Operator = operator @FlowIds = flowids @Agent = agent @UserId = userid @Name = name @Mobile = mobile 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 @UserId = params['UserId'] @Name = params['Name'] @Mobile = params['Mobile'] end end # CreateOrganizationBatchSignUrl返回参数结构体 class CreateOrganizationBatchSignUrlResponse < TencentCloud::Common::AbstractModel # @param SignUrl: 批量签署入口链接,用户可使用这个链接跳转到控制台页面对合同进行签署操作。 # @type SignUrl: String # @param ExpiredTime: 链接过期截止时间,格式为Unix标准时间戳(秒),默认为7天后截止。 # @type ExpiredTime: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SignUrl, :ExpiredTime, :RequestId def initialize(signurl=nil, expiredtime=nil, requestid=nil) @SignUrl = signurl @ExpiredTime = expiredtime @RequestId = requestid end def deserialize(params) @SignUrl = params['SignUrl'] @ExpiredTime = params['ExpiredTime'] @RequestId = params['RequestId'] end end # CreatePersonAuthCertificateImage请求参数结构体 class CreatePersonAuthCertificateImageRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param UserName: 个人用户名称 # @type UserName: String # @param IdCardType: 证件类型,支持以下类型 # # @type IdCardType: String # @param IdCardNumber: 证件号码,应符合以下规则 # # @type IdCardNumber: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :UserName, :IdCardType, :IdCardNumber, :Agent def initialize(operator=nil, username=nil, idcardtype=nil, idcardnumber=nil, agent=nil) @Operator = operator @UserName = username @IdCardType = idcardtype @IdCardNumber = idcardnumber @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @UserName = params['UserName'] @IdCardType = params['IdCardType'] @IdCardNumber = params['IdCardNumber'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreatePersonAuthCertificateImage返回参数结构体 class CreatePersonAuthCertificateImageResponse < TencentCloud::Common::AbstractModel # @param AuthCertUrl: 个人用户认证证书图片下载URL,`有效期为5分钟`,超过有效期后将无法再下载。 # @type AuthCertUrl: String # @param ImageCertId: 个人用户认证证书的编号, 为20位数字组成的字符串, 由腾讯电子签下发此编号 。 # 该编号会合成到个人用户证书证明图片。 # 注: `个人用户认证证书的编号和证明图片绑定, 获取新的证明图片编号会变动` # 注意:此字段可能返回 null,表示取不到有效值。 # @type ImageCertId: String # @param SerialNumber: CA供应商下发给用户的证书编号,在证书到期后自动续期后此证书编号会发生变动,且不会合成到个人用户证书证明图片中。 # 注意:`腾讯电子签接入多家CA供应商以提供容灾能力,不同CA下发的证书编号区别较大,但基本都是由数字和字母组成,长度在200以下。` # 注意:此字段可能返回 null,表示取不到有效值。 # @type SerialNumber: String # @param ValidFrom: CA证书颁发时间,格式为Unix标准时间戳(秒) # 该时间格式化后会合成到个人用户证书证明图片 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ValidFrom: Integer # @param ValidTo: CA证书有效截止时间,格式为Unix标准时间戳(秒) # 该时间格式化后会合成到个人用户证书证明图片 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ValidTo: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AuthCertUrl, :ImageCertId, :SerialNumber, :ValidFrom, :ValidTo, :RequestId def initialize(authcerturl=nil, imagecertid=nil, serialnumber=nil, validfrom=nil, validto=nil, requestid=nil) @AuthCertUrl = authcerturl @ImageCertId = imagecertid @SerialNumber = serialnumber @ValidFrom = validfrom @ValidTo = validto @RequestId = requestid end def deserialize(params) @AuthCertUrl = params['AuthCertUrl'] @ImageCertId = params['ImageCertId'] @SerialNumber = params['SerialNumber'] @ValidFrom = params['ValidFrom'] @ValidTo = params['ValidTo'] @RequestId = params['RequestId'] end end # CreatePrepareFlow请求参数结构体 class CreatePrepareFlowRequest < TencentCloud::Common::AbstractModel # @param Operator: 调用方用户信息,userId 必填 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param ResourceId: 资源id,与ResourceType对应 # @type ResourceId: String # @param FlowName: 合同名称 # @type FlowName: String # @param Unordered: 是否顺序签署 # true:无序签 # false:顺序签 # @type Unordered: Boolean # @param Deadline: 签署流程的签署截止时间。 # 值为unix时间戳,精确到秒 # 不传默认为当前时间一年后 # @type Deadline: Integer # @param UserFlowTypeId: 用户自定义合同类型Id # 该id为电子签企业内的合同类型id, 可以在自定义合同类型处获取 # @type UserFlowTypeId: String # @param FlowType: 合同类型名称 # 该字段用于客户自定义合同类型 # 建议使用时指定合同类型,便于之后合同分类以及查看 # 如果合同类型与自定义的合同类型描述一致,会自动归类到自定义的合同类型处,如果不一致,则会创建一个新的自定义合同类型 # @type FlowType: String # @param Approvers: 签署流程参与者信息,最大限制50方 # @type Approvers: Array # @param IntelligentStatus: 打开智能添加填写区 # 默认开启,打开:"OPEN" # 关闭:"CLOSE" # @type IntelligentStatus: String # @param ResourceType: 资源类型, # 1:模板 # 2:文件, # 不传默认为2:文件 # @type ResourceType: Integer # @param Components: 发起方填写控件 # 该类型控件由发起方完成填写 # @type Components: :class:`Tencentcloud::Ess.v20201111.models.Component` # @param FlowOption: 发起合同个性化参数 # 用于满足创建及页面操作过程中的个性化要求 # 具体定制化内容详见数据接口说明 # @type FlowOption: :class:`Tencentcloud::Ess.v20201111.models.CreateFlowOption` # @param NeedSignReview: 是否开启发起方签署审核 # true:开启发起方签署审核 # false:不开启发起方签署审核 # 默认false:不开启发起方签署审核 # @type NeedSignReview: Boolean # @param NeedCreateReview: 开启发起方发起合同审核 # true:开启发起方发起合同审核 # false:不开启发起方发起合同审核 # 默认false:不开启发起方发起合同审核 # @type NeedCreateReview: Boolean # @param UserData: 用户自定义参数 # @type UserData: String # @param FlowId: 合同id,用于通过已web页面发起的合同id快速生成一个web发起合同链接 # @type FlowId: String # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :ResourceId, :FlowName, :Unordered, :Deadline, :UserFlowTypeId, :FlowType, :Approvers, :IntelligentStatus, :ResourceType, :Components, :FlowOption, :NeedSignReview, :NeedCreateReview, :UserData, :FlowId, :Agent def initialize(operator=nil, resourceid=nil, flowname=nil, unordered=nil, deadline=nil, userflowtypeid=nil, flowtype=nil, approvers=nil, intelligentstatus=nil, resourcetype=nil, components=nil, flowoption=nil, needsignreview=nil, needcreatereview=nil, userdata=nil, flowid=nil, agent=nil) @Operator = operator @ResourceId = resourceid @FlowName = flowname @Unordered = unordered @Deadline = deadline @UserFlowTypeId = userflowtypeid @FlowType = flowtype @Approvers = approvers @IntelligentStatus = intelligentstatus @ResourceType = resourcetype @Components = components @FlowOption = flowoption @NeedSignReview = needsignreview @NeedCreateReview = needcreatereview @UserData = userdata @FlowId = flowid @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @ResourceId = params['ResourceId'] @FlowName = params['FlowName'] @Unordered = params['Unordered'] @Deadline = params['Deadline'] @UserFlowTypeId = params['UserFlowTypeId'] @FlowType = params['FlowType'] unless params['Approvers'].nil? @Approvers = [] params['Approvers'].each do |i| flowcreateapprover_tmp = FlowCreateApprover.new flowcreateapprover_tmp.deserialize(i) @Approvers << flowcreateapprover_tmp end end @IntelligentStatus = params['IntelligentStatus'] @ResourceType = params['ResourceType'] unless params['Components'].nil? @Components = Component.new @Components.deserialize(params['Components']) end unless params['FlowOption'].nil? @FlowOption = CreateFlowOption.new @FlowOption.deserialize(params['FlowOption']) end @NeedSignReview = params['NeedSignReview'] @NeedCreateReview = params['NeedCreateReview'] @UserData = params['UserData'] @FlowId = params['FlowId'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreatePrepareFlow返回参数结构体 class CreatePrepareFlowResponse < TencentCloud::Common::AbstractModel # @param Url: 快速发起预览链接,有效期5分钟 # @type Url: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Url, :RequestId def initialize(url=nil, requestid=nil) @Url = url @RequestId = requestid end def deserialize(params) @Url = params['Url'] @RequestId = params['RequestId'] end end # CreatePreparedPersonalEsign请求参数结构体 class CreatePreparedPersonalEsignRequest < TencentCloud::Common::AbstractModel # @param UserName: 个人用户姓名 # @type UserName: String # @param IdCardNumber: 身份证件号码 # @type IdCardNumber: String # @param SealName: 印章名称 # @type SealName: String # @param Operator: 调用方用户信息,userId 必填。支持填入集团子公司经办人 userId代发合同。 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param IdCardType: 身份证件类型: # ID_CARD 身份证 # PASSPORT 护照 # HONGKONG_AND_MACAO 中国香港 # FOREIGN_ID_CARD 境外身份 # HONGKONG_MACAO_AND_TAIWAN 中国台湾 # @type IdCardType: String # @param SealImage: 印章图片的base64 # 注:已废弃 # 请先通过UploadFiles接口上传文件,获取 FileId # @type SealImage: String # @param SealImageCompress: 是否开启印章图片压缩处理,默认不开启,如需开启请设置为 true。当印章超过 2M 时建议开启,开启后图片的 hash 将发生变化。 # @type SealImageCompress: Boolean # @param Mobile: 手机号码;当需要开通自动签时,该参数必传 # @type Mobile: String # @param EnableAutoSign: 是否开通自动签,该功能需联系运营工作人员开通后使用 # @type EnableAutoSign: Boolean # @param SealColor: 印章颜色(参数ProcessSeal=true时生效) # 默认值:BLACK黑色 # 取值: # BLACK 黑色, # RED 红色, # BLUE 蓝色。 # @type SealColor: String # @param ProcessSeal: 是否处理印章 # 默认不做印章处理。 # 取值:false:不做任何处理; # true:做透明化处理和颜色增强。 # @type ProcessSeal: Boolean # @param FileId: 印章图片文件 id # 取值: # 填写的FileId通过UploadFiles接口上传文件获取。 # @type FileId: String # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param LicenseType: 设置用户开通自动签时是否绑定个人自动签账号许可。一旦绑定后,将扣减购买的个人自动签账号许可一次(1年有效期),不可解绑释放。不传默认为绑定自动签账号许可。 0-绑定个人自动签账号许可,开通后将扣减购买的个人自动签账号许可一次 1-不绑定,发起合同时将按标准合同套餐进行扣减 # @type LicenseType: Integer attr_accessor :UserName, :IdCardNumber, :SealName, :Operator, :IdCardType, :SealImage, :SealImageCompress, :Mobile, :EnableAutoSign, :SealColor, :ProcessSeal, :FileId, :Agent, :LicenseType extend Gem::Deprecate deprecate :SealImage, :none, 2023, 9 deprecate :SealImage=, :none, 2023, 9 def initialize(username=nil, idcardnumber=nil, sealname=nil, operator=nil, idcardtype=nil, sealimage=nil, sealimagecompress=nil, mobile=nil, enableautosign=nil, sealcolor=nil, processseal=nil, fileid=nil, agent=nil, licensetype=nil) @UserName = username @IdCardNumber = idcardnumber @SealName = sealname @Operator = operator @IdCardType = idcardtype @SealImage = sealimage @SealImageCompress = sealimagecompress @Mobile = mobile @EnableAutoSign = enableautosign @SealColor = sealcolor @ProcessSeal = processseal @FileId = fileid @Agent = agent @LicenseType = licensetype end def deserialize(params) @UserName = params['UserName'] @IdCardNumber = params['IdCardNumber'] @SealName = params['SealName'] unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @IdCardType = params['IdCardType'] @SealImage = params['SealImage'] @SealImageCompress = params['SealImageCompress'] @Mobile = params['Mobile'] @EnableAutoSign = params['EnableAutoSign'] @SealColor = params['SealColor'] @ProcessSeal = params['ProcessSeal'] @FileId = params['FileId'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end @LicenseType = params['LicenseType'] end end # CreatePreparedPersonalEsign返回参数结构体 class CreatePreparedPersonalEsignResponse < TencentCloud::Common::AbstractModel # @param SealId: 导入生成的印章ID # @type SealId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SealId, :RequestId def initialize(sealid=nil, requestid=nil) @SealId = sealid @RequestId = requestid end def deserialize(params) @SealId = params['SealId'] @RequestId = params['RequestId'] end end # CreateReleaseFlow请求参数结构体 class CreateReleaseFlowRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param NeedRelievedFlowId: 待解除的签署流程编号(即原签署流程的编号)。 # @type NeedRelievedFlowId: String # @param ReliveInfo: 解除协议内容, 包括解除理由等信息。 # @type ReliveInfo: :class:`Tencentcloud::Ess.v20201111.models.RelieveInfo` # @param Agent: 关于渠道应用的相关信息,包括子客企业及应用编、号等详细内容,您可以参阅开发者中心所提供的 Agent 结构体以获取详细定义。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param ReleasedApprovers: 替换解除协议的签署人, 如不指定替换签署人, 则使用原流程的签署人。
# 如需更换原合同中的企业端签署人,可通过指定该签署人的RecipientId编号更换此企业端签署人。(可通过接口DescribeFlowInfo查询签署人的RecipientId编号)
# 注意: # `只能更换自己企业的签署人, 不支持更换个人类型或者其他企业的签署人。` # `可以不指定替换签署人, 使用原流程的签署人 ` # @type ReleasedApprovers: Array # @param Deadline: 合同流程的签署截止时间,格式为Unix标准时间戳(秒),如果未设置签署截止时间,则默认为合同流程创建后的7天时截止。 # 如果在签署截止时间前未完成签署,则合同状态会变为已过期,导致合同作废。 # @type Deadline: Integer # @param UserData: 调用方自定义的个性化字段,该字段的值可以是字符串JSON或其他字符串形式,客户可以根据自身需求自定义数据格式并在需要时进行解析。该字段的信息将以Base64编码的形式传输,支持的最大数据大小为20480长度。 # 在合同状态变更的回调信息等场景中,该字段的信息将原封不动地透传给贵方。 # 回调的相关说明可参考开发者中心的回调通知模块。 # @type UserData: String attr_accessor :Operator, :NeedRelievedFlowId, :ReliveInfo, :Agent, :ReleasedApprovers, :Deadline, :UserData def initialize(operator=nil, needrelievedflowid=nil, reliveinfo=nil, agent=nil, releasedapprovers=nil, deadline=nil, userdata=nil) @Operator = operator @NeedRelievedFlowId = needrelievedflowid @ReliveInfo = reliveinfo @Agent = agent @ReleasedApprovers = releasedapprovers @Deadline = deadline @UserData = userdata end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @NeedRelievedFlowId = params['NeedRelievedFlowId'] unless params['ReliveInfo'].nil? @ReliveInfo = RelieveInfo.new @ReliveInfo.deserialize(params['ReliveInfo']) end unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end unless params['ReleasedApprovers'].nil? @ReleasedApprovers = [] params['ReleasedApprovers'].each do |i| releasedapprover_tmp = ReleasedApprover.new releasedapprover_tmp.deserialize(i) @ReleasedApprovers << releasedapprover_tmp end end @Deadline = params['Deadline'] @UserData = params['UserData'] end end # CreateReleaseFlow返回参数结构体 class CreateReleaseFlowResponse < TencentCloud::Common::AbstractModel # @param FlowId: 解除协议流程编号 # `注意:这里的流程编号对应的合同是本次发起的解除协议。` # @type FlowId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FlowId, :RequestId def initialize(flowid=nil, requestid=nil) @FlowId = flowid @RequestId = requestid end def deserialize(params) @FlowId = params['FlowId'] @RequestId = params['RequestId'] end end # CreateSchemeUrl请求参数结构体 class CreateSchemeUrlRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息, userId 必填。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param OrganizationName: 合同流程签署方的组织机构名称。 # 如果名称中包含英文括号(),请使用中文括号()代替。 # @type OrganizationName: String # @param Name: 合同流程里边签署方经办人的姓名。 # @type Name: String # @param Mobile: 合同流程里边签署方经办人手机号码, 支持国内手机号11位数字(无需加+86前缀或其他字符)。 # @type Mobile: String # @param EndPoint: 要跳转的链接类型 # # @type EndPoint: String # @param FlowId: 合同流程ID # 注: `如果准备跳转到合同流程签署的详情页面(即PathType=1时)必传, 跳转其他页面可不传` # @type FlowId: String # @param FlowGroupId: 合同流程组的组ID, 在合同流程组场景下,生成合同流程组的签署链接时需要赋值 # @type FlowGroupId: String # @param PathType: 要跳转到的页面类型 # # @type PathType: Integer # @param AutoJumpBack: 签署完成后是否自动回跳 # # 注: ` 该参数只针对"APP" 类型的签署链接有效` # @type AutoJumpBack: Boolean # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param Hides: 生成的签署链接在签署页面隐藏的按钮列表,可设置如下: # # 注: `字段为数组, 可以传值隐藏多个按钮` # @type Hides: Array attr_accessor :Operator, :OrganizationName, :Name, :Mobile, :EndPoint, :FlowId, :FlowGroupId, :PathType, :AutoJumpBack, :Agent, :Hides def initialize(operator=nil, organizationname=nil, name=nil, mobile=nil, endpoint=nil, flowid=nil, flowgroupid=nil, pathtype=nil, autojumpback=nil, agent=nil, hides=nil) @Operator = operator @OrganizationName = organizationname @Name = name @Mobile = mobile @EndPoint = endpoint @FlowId = flowid @FlowGroupId = flowgroupid @PathType = pathtype @AutoJumpBack = autojumpback @Agent = agent @Hides = hides end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @OrganizationName = params['OrganizationName'] @Name = params['Name'] @Mobile = params['Mobile'] @EndPoint = params['EndPoint'] @FlowId = params['FlowId'] @FlowGroupId = params['FlowGroupId'] @PathType = params['PathType'] @AutoJumpBack = params['AutoJumpBack'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end @Hides = params['Hides'] end end # CreateSchemeUrl返回参数结构体 class CreateSchemeUrlResponse < TencentCloud::Common::AbstractModel # @param SchemeUrl: 腾讯电子签小程序的签署链接。 # # @type SchemeUrl: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SchemeUrl, :RequestId def initialize(schemeurl=nil, requestid=nil) @SchemeUrl = schemeurl @RequestId = requestid end def deserialize(params) @SchemeUrl = params['SchemeUrl'] @RequestId = params['RequestId'] end end # CreateSealPolicy请求参数结构体 class CreateSealPolicyRequest < TencentCloud::Common::AbstractModel # @param Operator: 调用方用户信息,userId 必填 # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param Users: 用户在电子文件签署平台标识信息,具体参考UserInfo结构体。可跟下面的UserIds可叠加起作用 # @type Users: Array # @param SealId: 印章ID # @type SealId: String # @param Expired: 授权有效期。时间戳秒级 # @type Expired: Integer # @param UserIds: 需要授权的用户UserId集合。跟上面的SealId参数配合使用。选填,跟上面的Users同时起作用 # @type UserIds: Array # @param Policy: 印章授权内容 # @type Policy: String # @param Agent: 代理相关应用信息,如集团主企业代子企业操作的场景中ProxyOrganizationId必填 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` attr_accessor :Operator, :Users, :SealId, :Expired, :UserIds, :Policy, :Agent def initialize(operator=nil, users=nil, sealid=nil, expired=nil, userids=nil, policy=nil, agent=nil) @Operator = operator @Users = users @SealId = sealid @Expired = expired @UserIds = userids @Policy = policy @Agent = agent end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end unless params['Users'].nil? @Users = [] params['Users'].each do |i| userinfo_tmp = UserInfo.new userinfo_tmp.deserialize(i) @Users << userinfo_tmp end end @SealId = params['SealId'] @Expired = params['Expired'] @UserIds = params['UserIds'] @Policy = params['Policy'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end end end # CreateSealPolicy返回参数结构体 class CreateSealPolicyResponse < TencentCloud::Common::AbstractModel # @param UserIds: 最终授权成功的。其他的跳过的是已经授权了的 # @type UserIds: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :UserIds, :RequestId def initialize(userids=nil, requestid=nil) @UserIds = userids @RequestId = requestid end def deserialize(params) @UserIds = params['UserIds'] @RequestId = params['RequestId'] end end # CreateSeal请求参数结构体 class CreateSealRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param SealName: 电子印章名字,1-50个中文字符。 # @type SealName: String # @param Agent: 代理企业和员工的信息。 # 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 # @type Agent: :class:`Tencentcloud::Ess.v20201111.models.Agent` # @param GenerateSource: 本接口支持上传图片印章及系统直接生成印章; # 如果要使用系统生成印章,此值传:SealGenerateSourceSystem; # 如果要使用图片上传请传字段 Image # @type GenerateSource: String # @param SealType: 电子印章类型: # OFFICIAL-公章; # CONTRACT-合同专用章; # FINANCE-合财务专用章; # PERSONNEL-人事专用章. # @type SealType: String # @param FileName: 电子印章图片文件名称,1-50个中文字符。 # @type FileName: String # @param Image: 电子印章图片base64编码 # 参数Image,FileToken或GenerateSource=SealGenerateSourceSystem三选一。 # @type Image: String # @param Width: 电子印章宽度,单位px # 参数不再启用,系统会设置印章大小为标准尺寸。 # @type Width: Integer # @param Height: 电子印章高度,单位px # 参数不再启用,系统会设置印章大小为标准尺寸。 # @type Height: Integer # @param Color: 电子印章印章颜色(默认红色RED),RED-红色 # 系统目前只支持红色印章创建。 # @type Color: String # @param SealHorizontalText: 企业印章横向文字,最多可填15个汉字(若超过印章最大宽度,优先压缩字间距,其次缩小字号) # @type SealHorizontalText: String # @param SealChordText: 暂时不支持下弦文字设置 # @type SealChordText: String # @param SealCentralType: 系统生成的印章只支持STAR # @type SealCentralType: String # @param FileToken: 通过文件上传时,服务端生成的电子印章上传图片的token # @type FileToken: String # @param SealStyle: 印章样式: # cycle:圆形印章; # ellipse:椭圆印章; # 注:默认圆形印章 # @type SealStyle: String # @param SealSize: 印章尺寸取值描述: # 42_42 圆形企业公章直径42mm; # 40_40 圆形企业印章直径40mm; # 45_30 椭圆形印章45mm x 30mm; # @type SealSize: String attr_accessor :Operator, :SealName, :Agent, :GenerateSource, :SealType, :FileName, :Image, :Width, :Height, :Color, :SealHorizontalText, :SealChordText, :SealCentralType, :FileToken, :SealStyle, :SealSize def initialize(operator=nil, sealname=nil, agent=nil, generatesource=nil, sealtype=nil, filename=nil, image=nil, width=nil, height=nil, color=nil, sealhorizontaltext=nil, sealchordtext=nil, sealcentraltype=nil, filetoken=nil, sealstyle=nil, sealsize=nil) @Operator = operator @SealName = sealname @Agent = agent @GenerateSource = generatesource @SealType = sealtype @FileName = filename @Image = image @Width = width @Height = height @Color = color @SealHorizontalText = sealhorizontaltext @SealChordText = sealchordtext @SealCentralType = sealcentraltype @FileToken = filetoken @SealStyle = sealstyle @SealSize = sealsize end def deserialize(params) unless params['Operator'].nil? @Operator = UserInfo.new @Operator.deserialize(params['Operator']) end @SealName = params['SealName'] unless params['Agent'].nil? @Agent = Agent.new @Agent.deserialize(params['Agent']) end @GenerateSource = params['GenerateSource'] @SealType = params['SealType'] @FileName = params['FileName'] @Image = params['Image'] @Width = params['Width'] @Height = params['Height'] @Color = params['Color'] @SealHorizontalText = params['SealHorizontalText'] @SealChordText = params['SealChordText'] @SealCentralType = params['SealCentralType'] @FileToken = params['FileToken'] @SealStyle = params['SealStyle'] @SealSize = params['SealSize'] end end # CreateSeal返回参数结构体 class CreateSealResponse < TencentCloud::Common::AbstractModel # @param SealId: 电子印章编号 # @type SealId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SealId, :RequestId def initialize(sealid=nil, requestid=nil) @SealId = sealid @RequestId = requestid end def deserialize(params) @SealId = params['SealId'] @RequestId = params['RequestId'] end end # 创建员工的结果 class CreateStaffResult < TencentCloud::Common::AbstractModel # @param SuccessEmployeeData: 创建员工的成功列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SuccessEmployeeData: Array # @param FailedEmployeeData: 创建员工的失败列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FailedEmployeeData: Array attr_accessor :SuccessEmployeeData, :FailedEmployeeData def initialize(successemployeedata=nil, failedemployeedata=nil) @SuccessEmployeeData = successemployeedata @FailedEmployeeData = failedemployeedata end def deserialize(params) unless params['SuccessEmployeeData'].nil? @SuccessEmployeeData = [] params['SuccessEmployeeData'].each do |i| successcreatestaffdata_tmp = SuccessCreateStaffData.new successcreatestaffdata_tmp.deserialize(i) @SuccessEmployeeData << successcreatestaffdata_tmp end end unless params['FailedEmployeeData'].nil? @FailedEmployeeData = [] params['FailedEmployeeData'].each do |i| failedcreatestaffdata_tmp = FailedCreateStaffData.new failedcreatestaffdata_tmp.deserialize(i) @FailedEmployeeData << failedcreatestaffdata_tmp end end end end # CreateUserAutoSignEnableUrl请求参数结构体 class CreateUserAutoSignEnableUrlRequest < TencentCloud::Common::AbstractModel # @param Operator: 执行本接口操作的员工信息。 # 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。` # @type Operator: :class:`Tencentcloud::Ess.v20201111.models.UserInfo` # @param SceneKey: 自动签使用的场景值, 可以选择的场景值如下: # # 注: `现在仅支持电子处方场景` # @type SceneKey: String # @param AutoSignConfig: 自动签开通配置信息, 包括开通的人员的信息等 # @type AutoSignConfig: :class:`Tencentcloud::Ess.v20201111.models.AutoSignConfig` # @param UrlType: 生成的链接类型: # # @type UrlType: String # @param NotifyType: 是否通知开通方,通知类型: #