1

我正在使用 DocuSign API 演练中的文档请求签名。我想做的是定义一个具有特定字段的模板,然后将该模板应用于我通过此请求发送的文档。我遇到的问题是,当我将模板详细信息添加到代码中时,会出现信封不完整的错误。

这是我用作参考的页面:http: //iodocs.docusign.com/APIWalkthrough/requestSignatureFromDocument

我有一个模板,其中定义了一个字段,例如 [[canidate_signature]] 作为锚点。在 UI 中,我可以使用该锚点上传文档并分配我定义的模板,该模板效果很好。但是,我无法让 API 做同样的事情。

这是我在 PHP 中的 JSON 构建代码,它可以在没有 CompositeTemplate 部分的情况下工作,但只要我添加它就会出现错误。

信封不完整。完整的信封需要文档、收件人、标签和主题行。

$data = array (
        "emailSubject" => "DocuSign API - Signature Request on Document"

        ,"compositeTemplates" => array(
                                    array(
                                        "serverTemplates" => 
                                            array(
                                                array(
                                                    "sequence" => 1,
                                                    "templateId" => "B1E2A5C9-9818-4BF0-AD9F-F4B1A3E2D39D"
                                                )
                                            )   
                                    )
                                )
        ,"documents" => array( 
                            array( 
                                "documentId" => "1"
                                ,"name" => $documentName
                            )
                            ,array(
                                "documentId" => "2"
                                ,"name" => $documentName
                            )
                        )
        ,"recipients" => array( 
                            "signers" => array(
                                            array(  
                                                "email" => $email,
                                                "name" => $recipientName,
                                                "recipientId" => "1"
                                            )
                                            ,array(  
                                                "email" => "***@gmail.com",
                                                "name" => "Scott Gmail",
                                                "recipientId" => "2"
                                            )
                                        )
                        )
    ,"status" => "sent"
);
4

1 回答 1

3

通过 DocuSign API 请求签名时,有两种通用方法:使用模板或使用本地文档。该模板将文档保存在服务器端,本地文档方法要求您上传文档字节作为请求的一部分。

这两个请求之间的主要区别之一是本地文档Content-Type请求是文档,只需要通过请求正文指定属性。multipart/form-dataapplication/jsonapplication/xml

您想要的是这个 API 演练,通过模板签名请求,您需要修改您发送的正文以包含您的compositeTemplates

http://iodocs.docusign.com/APIWalkthrough/requestSignatureFromTemplate

如需更多帮助,请参阅我去年举办的有关模板和复合模板的网络研讨会的以下 git 存储库。示例 3 尤其值得一看:

https://github.com/Ergin008/DocuSign-REST-API-Webinar-April2013

这是示例 3 用于复合模板的示例请求正文:

{
  "emailSubject": "DocuSign Templates Webinar - Example 3",
  "emailBlurb": "Example #3 - Composite Templates",
  "status": "sent",
  "compositeTemplates": [
    {
      "serverTemplates": [
        {
          "sequence": "1",
          "templateId": "55A80182-2E9F-435D-9B16-FD1E1C0F9D74"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "1",
          "recipients": {
            "signers": [
              {
                "email": "firstrecipient@gmail.com",
                "name": "John Doe",
                "recipientId": "1",
                "roleName": "RoleOne"
              }
            ]
          }
        }
      ]
    },
    {
      "serverTemplates": [
        {
          "sequence": "2",
          "templateId": "44D9E888-3D86-4186-8EE9-7071BC87A0DA"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "2",
          "recipients": {
            "signers": [
              {
                "email": "secondrecipient@gmail.com",
                "name": "Jane Doe",
                "recipientId": "1",
                "roleName": "RoleOne"
              }
            ]
          }
        }
      ]
    }
  ]
}
于 2014-06-26T23:22:57.953 回答