Docusign 创建信封并将模板应用于新添加的文档 Laravel 5.5

Docusign create envelope and apply template to newly added document Laravel 5.5

以下是我发送文档以供签名的方式,我需要 运行 AutoPlace 在此附加文档上,但我无法使其正常工作。此代码有效,但未放置我在此模板中设置的自动放置。

$client = new DocuSign\Rest\Client([
                'username'       => config("docusign.DOCUSIGN_USERNAME"),
                'password'       => config("docusign.DOCUSIGN_PASSWORD"),
                'integrator_key' => config("docusign.DOCUSIGN_INTEGRATOR_KEY"),
            ]);

            $templateRole = $client->templateRole([
                'email'     => <email>,
                'name'      => <name>,
                'role_name' => 'Client',
            ]);

            $envelopeDefinition = $client->envelopeDefinition([
                'status'         => 'sent',
                'email_subject'  => 'Signature Required On Your Order ',
                'template_id'    => '<docusign template id>',
                'template_roles' => [
                    $templateRole,
                ],
            ]);
            $doc = Storage::disk('local')->url('mypdf.pdf');

            $envelopeOptions = $client->envelopes->createEnvelopeOptions([
                'documents' => [
                    'documentBase64' => base64_encode($doc),
                    'name'           => 'mypdf.pdf',
                ],
            ]);
            $envelopeSummary = $client->envelopes->createEnvelope($envelopeDefinition, $envelopeOptions);
            print_R($envelopeSummary);
            die();

能否请您建议我如何添加该代码..在此先感谢。

您使用了错误的代码模式。使用您的代码,您可以应用模板,也可以将文档添加到信封中,但您将无法将模板应用于文档。要将模板应用于文档,您需要使用 Composite Template。如果您在服务器模板和添加的文档中都存在锚字符串(自动放置),那么使用复合模板,您将用添加的文档替换服务器模板文档。一个例子如下。 Server Template - 1afc0348-e853-4a0c-92db-06101168eb4d 有一个带有锚字符串(autoplace)的文档,并且文件名 - “document”节点中的“Added Document Agreement”有新文档,需要从服务器应用 autoplace 锚字符串模板。下面的代码将展示如何使用复合模板实现这一点。

{
   "compositeTemplates": [
      {
         "document": {
              "documentBase64": "<Base64>",
              "documentId": "1",
              "fileExtension": "pdf",
              "name": "Added Document Agreement"
         },
         "inlineTemplates": [
            {
               "recipients": {
                  "signers": [
                     {
                        "email": "email@gmail.com",
                        "name": "John Doe",
                        "recipientId": "1",
                        "roleName": "InternalSigner",
                        "routingOrder": "1"
                     }
                  ]
               },
               "sequence": "2"
            }
         ],
         "serverTemplates": [
            {
               "sequence": "1",
               "templateId": "1afc0348-e853-4a0c-92db-06101168eb4d"
            }
         ]
      }
   ],
   "status": "sent"
}