# 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 attr_accessor :ApproverType, :ApproverName, :ApproverMobile, :OrganizationName, :SignComponents, :ApproverIdCardType, :ApproverIdCardNumber, :NotifyType, :ApproverRole, :VerifyChannel, :PreReadTime, :UserId, :ApproverSource, :CustomApproverTag, :ApproverOption, :ApproverVerifyTypes, :ApproverSignTypes, :ApproverNeedSignReview 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) @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 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'] 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: 开通时候的身份验证方式, 取值为: # # 注: #