WokerTask/vendor/tencentcloud/tencentcloud-sdk-php/examples/ess/V20201111/CreateFlowByFile.php

95 lines
3.7 KiB
PHP
Raw Permalink Normal View History

2023-12-27 14:06:33 +08:00
<?php
require_once __DIR__.'/../../../vendor/autoload.php';
use TencentCloud\Ess\V20201111\EssClient;
use TencentCloud\Ess\V20201111\Models\CreateFlowByFilesRequest;
use TencentCloud\Ess\V20201111\Models\UserInfo;
use TencentCloud\Ess\V20201111\Models\ApproverInfo;
use TencentCloud\Ess\V20201111\Models\Component;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
try {
// 实例化一个证书对象入参需要传入腾讯云账户secretIdsecretKey
$cred = new Credential("********************************", "********************************");
// 实例化一个http选项可选的没有特殊需求可以跳过
$httpProfile = new HttpProfile();
$httpProfile->setReqMethod("POST"); // post请求(默认为post请求)
$httpProfile->setReqTimeout(30); // 请求超时时间,单位为秒(默认60秒)
$httpProfile->setEndpoint("ess.tencentcloudapi.com"); // 指定接入地域域名(默认就近接入)
// 实例化一个client选项可选的没有特殊需求可以跳过
$clientProfile = new ClientProfile();
$clientProfile->setSignMethod("TC3-HMAC-SHA256"); // 指定签名算法(默认为HmacSHA256)
$clientProfile->setHttpProfile($httpProfile);
$client = new EssClient($cred, "ap-guangzhou", $clientProfile);
$req = new CreateFlowByFilesRequest();
$userInfo = new UserInfo();
$userInfo->setUserId("********************************");
$req->setOperator($userInfo);
$req->FileIds = [];
array_push($req->FileIds, "********************************");
// 企业方 静默签署时type为3/非静默签署type为0
$approver1 = new ApproverInfo();
$approver1->setApproverType(3);
$approver1->setApproverName("********************************");
$approver1->setApproverMobile("********************************");
$approver1->setOrganizationName("********************************");
$component1 = new Component();
$component1->setComponentValue("********************************");
$component1->setComponentPosY(497.61545);
$component1->setComponentWidth(74);
$component1->setFileIndex(0);
$component1->setComponentType("SIGN_SEAL");
$component1->setComponentPage(1);
$component1->setComponentPosX(417.15625);
$component1->setComponentHeight(70);
$approver1->SignComponents = [];
array_push($approver1->SignComponents, $component1);
// 客户个人
$approver2 = new ApproverInfo();
$approver2->setApproverType(1);
$approver2->setApproverName("********************************");
$approver2->setApproverMobile("********************************");
$component2 = new Component();
$component2->setComponentPosY(472.78125);
$component2->setComponentWidth(112);
$component2->setFileIndex(0);
$component2->setComponentType("SIGN_SIGNATURE");
$component2->setComponentPage(1);
$component2->setComponentPosX(146.15625);
$component2->setComponentHeight(40);
$approver2->SignComponents = [];
array_push($approver2->SignComponents, $component2);
// 注当进行B2B签署时允许指向未注册的企业此时签署人可以查看合同并按照指引注册企业
$req->Approvers = [];
array_push($req->Approvers, $approver1);
array_push($req->Approvers, $approver2);
$req->setFlowName("********************************");
// 请设置合理的时间,否则容易造成合同过期
$req->setDeadLine(time() + 7 * 24 * 3600);
$resp = $client->CreateFlowByFiles($req);
// 输出json格式的字符串回包
print_r($resp->toJsonString());
}
catch(TencentCloudSDKException $e) {
echo $e;
}