95 lines
3.7 KiB
PHP
95 lines
3.7 KiB
PHP
|
<?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 {
|
|||
|
// 实例化一个证书对象,入参需要传入腾讯云账户secretId,secretKey
|
|||
|
$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;
|
|||
|
}
|
|||
|
|