# 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.
require 'json'
module TencentCloud
module Ess
module V20201111
class Client < TencentCloud::Common::AbstractClient
def initialize(credential, region, profile = nil)
api_version = '2020-11-11'
api_endpoint = 'ess.tencentcloudapi.com'
sdk_version = 'ESS_' + File.read(File.expand_path('../VERSION', __dir__)).strip
super(credential, region, api_version, api_endpoint, sdk_version, profile)
end
# 将电子签系统员工userId与客户系统员工openId进行绑定
# @param request: Request instance for BindEmployeeUserIdWithClientOpenId.
# @type request: :class:`Tencentcloud::ess::V20201111::BindEmployeeUserIdWithClientOpenIdRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::BindEmployeeUserIdWithClientOpenIdResponse`
def BindEmployeeUserIdWithClientOpenId(request)
body = send_request('BindEmployeeUserIdWithClientOpenId', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = BindEmployeeUserIdWithClientOpenIdResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用于撤销签署流程
# 适用场景:如果某个合同流程当前至少还有一方没有签署,则可通过该接口取消该合同流程。常用于合同发错、内容填错,需要及时撤销的场景。
# `注意:如果合同流程中的参与方均已签署完毕,则无法通过该接口撤销合同。`
# @param request: Request instance for CancelFlow.
# @type request: :class:`Tencentcloud::ess::V20201111::CancelFlowRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CancelFlowResponse`
def CancelFlow(request)
body = send_request('CancelFlow', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CancelFlowResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 此接口(CancelMultiFlowSignQRCode)用于废除一码多扫流程签署二维码。
# 该接口所需的二维码ID,源自[创建一码多扫流程签署二维码](https://qian.tencent.com/developers/companyApis/startFlows/CreateMultiFlowSignQRCode)生成的。
# 如果该二维码尚处于有效期内,可通过本接口将其设置为失效状态。
# @param request: Request instance for CancelMultiFlowSignQRCode.
# @type request: :class:`Tencentcloud::ess::V20201111::CancelMultiFlowSignQRCodeRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CancelMultiFlowSignQRCodeResponse`
def CancelMultiFlowSignQRCode(request)
body = send_request('CancelMultiFlowSignQRCode', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CancelMultiFlowSignQRCodeResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用来撤销获取个人用户自动签的开通状态生成的开通链接,撤销生成的链接失效。
# 注:
#
若个人用户已经用生成的完成自动签署的开通,撤销链接无效不会对开通结果产生影响(此情况接口会报错)。
#
处方单等特殊场景专用,此接口为白名单功能,使用前请联系对接的客户经理沟通。
# @param request: Request instance for CancelUserAutoSignEnableUrl.
# @type request: :class:`Tencentcloud::ess::V20201111::CancelUserAutoSignEnableUrlRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CancelUserAutoSignEnableUrlResponse`
def CancelUserAutoSignEnableUrl(request)
body = send_request('CancelUserAutoSignEnableUrl', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CancelUserAutoSignEnableUrlResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 注:此接口将会废弃,请使用撤销单个签署流程(CancelFlow)接口。
# 指定需要批量撤回的签署流程Id,获取批量撤销链接。
# 客户指定需要撤回的签署流程Id,最多100个,超过100不处理;接口调用成功返回批量撤回合同的链接,通过链接跳转到电子签小程序完成批量撤回。
# @param request: Request instance for CreateBatchCancelFlowUrl.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateBatchCancelFlowUrlRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateBatchCancelFlowUrlResponse`
def CreateBatchCancelFlowUrl(request)
body = send_request('CreateBatchCancelFlowUrl', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateBatchCancelFlowUrlResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 此接口(CreateConvertTaskApi)用来将word、excel、图片、txt类型文件转换为PDF文件。
# 前提条件:源文件已经通过 文件上传接口完成上传,并得到了源文件的资源Id。
# 适用场景1:已经上传了一个word文件,希望将该word文件转换成pdf文件后发起合同
# 适用场景2:已经上传了一个jpg图片文件,希望将该图片文件转换成pdf文件后发起合同
# 转换文件是一个耗时操作,若想查看转换任务是否完成,可以通过查询转换任务状态接口获取任务状态。
# 注:
# 1. `支持的文件类型有doc、docx、xls、xlsx、jpg、jpeg、png、bmp、txt`
# 2. `可通过发起合同时设置预览来检查转换文件是否达到预期效果`
# @param request: Request instance for CreateConvertTaskApi.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateConvertTaskApiRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateConvertTaskApiResponse`
def CreateConvertTaskApi(request)
body = send_request('CreateConvertTaskApi', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateConvertTaskApiResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建签署流程电子文档
# 适用场景:见创建签署流程接口。
# 注:该接口需要给对应的流程指定一个模板id,并且填充该模板中需要补充的信息。需要配置创建签署流程和发起签署流程接口使用, 具体逻辑可以参考下图:
#
# @param request: Request instance for CreateDocument.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateDocumentRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateDocumentResponse`
def CreateDocument(request)
body = send_request('CreateDocument', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateDocumentResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(CreateEmbedWebUrl)用于创建嵌入web的链接 本接口支持创建:创建印章,创建模板,修改模板,预览模板,预览合同流程的web链接 进入web连接后与当前控制台操作保持一致
# @param request: Request instance for CreateEmbedWebUrl.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateEmbedWebUrlRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateEmbedWebUrlResponse`
def CreateEmbedWebUrl(request)
body = send_request('CreateEmbedWebUrl', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateEmbedWebUrlResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 通过模板创建签署流程
# 适用场景:在标准制式的合同场景中,可通过提前预制好模板文件,每次调用模板文件的id,补充合同内容信息及签署信息生成电子合同。
# 注:配合创建电子文档和发起签署流程接口使用。整体的逻辑如下图
#
# @param request: Request instance for CreateFlow.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowResponse`
def CreateFlow(request)
body = send_request('CreateFlow', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# ### 适用场景
# 在通过模板或者文件发起合同时,若未指定企业签署人信息,则流程发起后,可以调用此接口补充或签签署人。
# 同一签署人可以补充多个员工作为或签签署人,最终实际签署人取决于谁先领取合同完成签署。
# ### 限制条件
# - 本企业(发起方企业)支持通过企业微信UserId 或者 姓名+手机号补充
# - 他方企业仅支持通过姓名+手机号补充
# @param request: Request instance for CreateFlowApprovers.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowApproversRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowApproversResponse`
def CreateFlowApprovers(request)
body = send_request('CreateFlowApprovers', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowApproversResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 此接口(CreateFlowByFiles)用来通过上传后的pdf资源编号来创建待签署的合同流程。
# 适用场景1:适用非制式的合同文件签署。一般开发者自己有完整的签署文件,可以通过该接口传入完整的PDF文件及流程信息生成待签署的合同流程。
# 适用场景2:可通过该接口传入制式合同文件,同时在指定位置添加签署控件。可以起到接口创建临时模板的效果。如果是标准的制式文件,建议使用模板功能生成模板ID进行合同流程的生成。
# 注意事项:该接口需要依赖“多文件上传”接口生成pdf资源编号(FileIds)进行使用。
# @param request: Request instance for CreateFlowByFiles.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowByFilesRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowByFilesResponse`
def CreateFlowByFiles(request)
body = send_request('CreateFlowByFiles', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowByFilesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建出证报告并返回报告ID。
# 使用此功能需搭配出证套餐。
# 注意:出证过程需一定时间,建议在调用创建出证后的24小时之后,通过DescribeFlowEvidenceReport接口进行查询。
# @param request: Request instance for CreateFlowEvidenceReport.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowEvidenceReportRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowEvidenceReportResponse`
def CreateFlowEvidenceReport(request)
body = send_request('CreateFlowEvidenceReport', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowEvidenceReportResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 此接口(CreateFlowGroupByFiles)通过多文件创建合同组签署流程。
# PDF资源Id 通过上传文件接口获取
# 此接口合同组中的子合同必须都是文件发起的合同
# @param request: Request instance for CreateFlowGroupByFiles.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowGroupByFilesRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowGroupByFilesResponse`
def CreateFlowGroupByFiles(request)
body = send_request('CreateFlowGroupByFiles', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowGroupByFilesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 此接口(CreateFlowGroupByTemplates)通过多模板创建合同组签署流程。
# 此接口合同组中的子合同必须都是模板发起的合同。 目前最大仅支持50个子合同
# @param request: Request instance for CreateFlowGroupByTemplates.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowGroupByTemplatesRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowGroupByTemplatesResponse`
def CreateFlowGroupByTemplates(request)
body = send_request('CreateFlowGroupByTemplates', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowGroupByTemplatesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 指定需要批量催办的签署流程ID,批量催办合同,最多100个。需要符合以下条件的合同才可被催办:
# 1. 发起合同时,签署人的NotifyType需设置为sms
# 2. 合同中当前状态为“待签署”的签署人是催办的对象
# 3. 每个合同只能催办一次
# 注意:该接口无法直接调用,请联系客户经理申请使用。
# @param request: Request instance for CreateFlowReminds.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowRemindsRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowRemindsResponse`
def CreateFlowReminds(request)
body = send_request('CreateFlowReminds', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowRemindsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 提交企业签署流程审批结果
# 适用场景:
# 在通过接口(CreateFlow 或者CreateFlowByFiles)创建签署流程时,若指定了参数 NeedSignReview 为true,且发起方企业作为签署方参与了流程签署,则可以调用此接口提交企业内部签署审批结果。
# 若签署流程状态正常,且本企业存在签署方未签署,同一签署流程可以多次提交签署审批结果,签署时的最后一个“审批结果”有效。
# @param request: Request instance for CreateFlowSignReview.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowSignReviewRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowSignReviewResponse`
def CreateFlowSignReview(request)
body = send_request('CreateFlowSignReview', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowSignReviewResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用于发起合同后,生成个人用户的签署链接, 暂时不支持企业端签署
# `注意:`
# `1. 该接口目前仅支持签署人类型是个人签署方的场景(PERSON)。`
# `2. 该接口可生成签署链接的C端签署人必须仅有手写签名和时间类型的签署控件,不支持填写控件 。`
# `3. 该签署链接有效期为30分钟,过期后将失效,如需签署可重新创建签署链接 。`
# `4. 该接口返回的签署链接是用于APP集成的场景,支持APP打开或浏览器直接打开,不支持微信小程序嵌入`。
# 跳转到小程序的实现,参考微信官方文档(分为全屏、半屏两种方式),如何配置也可以请参考: 跳转电子签小程序配置
# @param request: Request instance for CreateFlowSignUrl.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateFlowSignUrlRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateFlowSignUrlResponse`
def CreateFlowSignUrl(request)
body = send_request('CreateFlowSignUrl', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateFlowSignUrlResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 通过此接口,创建企业的部门,支持绑定客户系统部门ID。
# @param request: Request instance for CreateIntegrationDepartment.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateIntegrationDepartmentRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateIntegrationDepartmentResponse`
def CreateIntegrationDepartment(request)
body = send_request('CreateIntegrationDepartment', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateIntegrationDepartmentResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建员工,此接口会发送提醒员工实名的短信,如果通过手机号发现员工已经创建,则不会重新创建,会发送短信提醒员工实名
# 注意:此接口支持企微组织架构的 openid 创建员工,这种场景下传递明文的企微 openid 到WeworkOpenId字段即可(企微明文的 openid 一定要在应用的可见范围内才行),通过企微创建的员工,会发送企微消息去提醒实名
# @param request: Request instance for CreateIntegrationEmployees.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateIntegrationEmployeesRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateIntegrationEmployeesResponse`
def CreateIntegrationEmployees(request)
body = send_request('CreateIntegrationEmployees', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateIntegrationEmployeesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 此接口(CreateIntegrationRole)用来创建企业自定义的SaaS角色或集团角色。
# 适用场景1:创建当前企业的自定义SaaS角色或集团角色,并且创建时不进行权限的设置(PermissionGroups 参数不传),角色中的权限内容可通过控制台编辑角色或通过接口 ModifyIntegrationRole 完成更新。
# 适用场景2:创建当前企业的自定义SaaS角色或集团角色,并且创建时进行权限的设置(PermissionGroups 参数要传),权限树内容 PermissionGroups 可参考接口 DescribeIntegrationRoles 的输出。
# 适用场景3:创建集团角色时可同时设置角色管理的子企业列表,可通过设置 SubOrganizationIds 参数达到此效果。
# 适用场景4:主企业代理子企业操作的场景,需要设置Agent参数,并且ProxyOrganizationId设置为子企业的id即可。
# 注意事项:SaaS角色和集团角色对应的权限树是不一样的。
# @param request: Request instance for CreateIntegrationRole.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateIntegrationRoleRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateIntegrationRoleResponse`
def CreateIntegrationRole(request)
body = send_request('CreateIntegrationRole', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateIntegrationRoleResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 绑定员工与对应角色
# @param request: Request instance for CreateIntegrationUserRoles.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateIntegrationUserRolesRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateIntegrationUserRolesResponse`
def CreateIntegrationUserRoles(request)
body = send_request('CreateIntegrationUserRoles', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateIntegrationUserRolesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 此接口(CreateMultiFlowSignQRCode)用于创建一码多扫流程签署二维码。
# 适用场景:无需填写签署人信息,可通过模板id生成签署二维码,签署人可通过扫描二维码补充签署信息进行实名签署。
# 常用于提前不知道签署人的身份信息场景,例如:劳务工招工、大批量员工入职等场景。
# **本接口适用于发起方没有填写控件的 B2C或者单C模板**
# **若是B2C模板,还要满足以下任意一个条件**
# - 模板中配置的签署顺序是无序
# - B端企业的签署方式是静默签署
# - B端企业是非首位签署
# 通过一码多扫二维码发起的合同,涉及到的合同回调消息可参考文档[合同发起以及签署相关回调](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)
# @param request: Request instance for CreateMultiFlowSignQRCode.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateMultiFlowSignQRCodeRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateMultiFlowSignQRCodeResponse`
def CreateMultiFlowSignQRCode(request)
body = send_request('CreateMultiFlowSignQRCode', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateMultiFlowSignQRCodeResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 使用此接口,您可以创建企业批量签署链接,员工只需点击链接即可跳转至控制台进行批量签署。
# 附注:
# - 员工必须在企业下完成实名认证,且需作为批量签署合同的签署方。
# - 如有UserId,应以UserId为主要标识;如果没有UserId,则必须填写Name和Mobile信息。
# @param request: Request instance for CreateOrganizationBatchSignUrl.
# @type request: :class:`Tencentcloud::ess::V20201111::CreateOrganizationBatchSignUrlRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreateOrganizationBatchSignUrlResponse`
def CreateOrganizationBatchSignUrl(request)
body = send_request('CreateOrganizationBatchSignUrl', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateOrganizationBatchSignUrlResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取个人用户认证证书图片下载URL
# 个人用户认证证书图片样式如下图
# ![image](https://dyn.ess.tencent.cn/guide/capi/CreatePersonAuthCertificateImage.png)
# 注: `只能获取个人用户证明图片, 企业员工的暂不支持`
# @param request: Request instance for CreatePersonAuthCertificateImage.
# @type request: :class:`Tencentcloud::ess::V20201111::CreatePersonAuthCertificateImageRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreatePersonAuthCertificateImageResponse`
def CreatePersonAuthCertificateImage(request)
body = send_request('CreatePersonAuthCertificateImage', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreatePersonAuthCertificateImageResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建快速发起流程
# 适用场景:用户通过API 合同文件及签署信息,并可通过我们返回的URL在页面完成签署控件等信息的编辑与确认,快速发起合同.
# 注:该接口文件的resourceId 是通过上传文件之后获取的。
# @param request: Request instance for CreatePrepareFlow.
# @type request: :class:`Tencentcloud::ess::V20201111::CreatePrepareFlowRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreatePrepareFlowResponse`
def CreatePrepareFlow(request)
body = send_request('CreatePrepareFlow', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreatePrepareFlowResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(CreatePreparedPersonalEsign)用于创建导入个人印章(处方单场景专用,使用此接口请与客户经理确认)。
# @param request: Request instance for CreatePreparedPersonalEsign.
# @type request: :class:`Tencentcloud::ess::V20201111::CreatePreparedPersonalEsignRequest`
# @rtype: :class:`Tencentcloud::ess::V20201111::CreatePreparedPersonalEsignResponse`
def CreatePreparedPersonalEsign(request)
body = send_request('CreatePreparedPersonalEsign', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreatePreparedPersonalEsignResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 发起解除协议的主要应用场景为:基于一份已经签署的合同(签署流程),进行解除操作。
# 解除协议的模板是官方提供 ,经过提供法务审核,暂不支持自定义。
# 注意:
#