正如标题中所述,我正在使用PHP中的DocuSign REST API来开发一个Web应用程序,该应用程序将从表单(POST)中获取信息以构建DocuSign信封,最终需要由其电子邮件的收件人签名在表格中指定。除了当前正在使用该应用的用户外,该用户将立即签名。
建筑要求:
$data = array (
'emailSubject' => 'DocuSign REST API Quickstart Sample',
'emailBlurb' => 'Shows how to create and send an envelope from a document.',
'recipients' => array (
'signers' => array (
0 => array (
'email' => $recipientEmail1,
'name' => $recipientName1,
'clientUserId' => '1234',
'recipientId' => '1',
'routingOrder' => '1',
'tabs' => array (
'signHereTabs' => array (
0 => array (
'xPosition' => '100',
'yPosition' => '600',
'documentId' => '1',
'pageNumber' => '1',
'value' => $recipientName1
)
),
'dateSignedTabs' => array (
0 => array (
'xPosition' => '250',
'yPosition' => '600',
'documentId' => '1',
'pageNumber' => '1'
)
),
"textTabs" => array(
0 => array(
'xPosition' => '200',
'yPosition' => '300',
'documentId' => '1',
'pageNumber' => '1',
"tabLabel"=> "animal",
"value" => $animal
),
1 => array(
'xPosition' => '200',
'yPosition' => '400',
'documentId' => '1',
'pageNumber' => '1',
"tabLabel"=> "color",
"value" => $color
),
2 => array(
'xPosition' => '200',
'yPosition' => '500',
'documentId' => '1',
'pageNumber' => '1',
"tabLabel"=> "number",
"value" => $number
)
)
)
),
1 => array (
'email' => $recipientEmail2,
'name' => $recipientName2,
'clientUserId' => '2345',
'recipientId' => '2',
'routingOrder' => '2',
'tabs' => array (
'signHereTabs' => array (
0 => array (
'xPosition' => '200',
'yPosition' => '600',
'documentId' => '1',
'pageNumber' => '1',
'value' => $recipientName2
)
),
'dateSignedTabs' => array (
0 => array (
'xPosition' => '250',
'yPosition' => '600',
'documentId' => '1',
'pageNumber' => '1'
)
),
"textTabs" => array(
0 => array(
'xPosition' => '200',
'yPosition' => '300',
'documentId' => '1',
'pageNumber' => '1',
"tabLabel"=> "animal",
"value" => $animal
),
1 => array(
'xPosition' => '200',
'yPosition' => '400',
'documentId' => '1',
'pageNumber' => '1',
"tabLabel"=> "color",
"value" => $color
),
2 => array(
'xPosition' => '200',
'yPosition' => '500',
'documentId' => '1',
'pageNumber' => '1',
"tabLabel"=> "number",
"value" => $number
)
)
)
)
)
),'documents' => array (
0 => array (
'documentId' => '1',
'name' => 'test.pdf',
'documentBase64' => base64_encode(file_get_contents($documentName)),
)
),'status' => 'sent',
);
签署视图
$data = array(
"returnUrl" => "http://www.docusign.com/devcenter",
"authenticationMethod" => "None",
"userName" => $recipientName1,
'clientUserId' => '1234',
"email" => $recipientEmail1
);
答案 0 :(得分:1)
如果您为收件人指定clientUserID,那么您将使用嵌入式签名创建信封。如果您希望DocuSign向收件人生成电子邮件以通知他们开始签名体验,您应该探索远程签名。如果从每个签名者中删除clientUserID参数,您将获得远程签名体验。
答案 1 :(得分:0)
因此,您有多个收件人签署信封,并且您希望第一个收件人立即使用您的网站或应用中的Embedded Signing签名,其余的将是通过电子邮件发起签名的远程收件人是吗?
如果是这样,您只需要将clientUserId
设置为第一个收件人的非空值(就像您现在一样),然后不要为后续收件人设置或甚至包含该属性将通过电子邮件签名。
设置clientUserId
属性告诉DocuSign平台,收件人将签署嵌入式签名,不向他们发送电子邮件。将收件人添加到信封并且信封为sent
后,您需要为每个将以嵌入式方式登录的收件人进行唯一的API调用,但由于它只是您的信封中的一个您只需要进行一次额外的API调用(以生成收件人视图)。
因此,您的API调用流程应该基本上是:
如果您为后续收件人配置了routingOrder
,我会在您的代码中看到,那么该平台将负责剩余的收件人(即生成签名链接并在收到通知时通过电子邮件发送通知。 ;轮到路线顺序了。)
了解更多信息:DocuSign Developer Center