DocuSign:从模板创建信封时,documentId 来自哪里?

DocuSign: Where does documentId come from when creating envelope from template?

我正在从模板创建信封。我需要提前知道将在信封中创建的 documentIds,以便我可以处理一个奇怪的特殊情况预填充单选按钮。 (我可以更详细地解释为什么,但这与这个问题并不相关。)

那么这些文档ID是从哪里来的呢?所有这些我都在使用 REST api。

这是我的模板:

GET https://demo.docusign.net/restapi/v2/accounts/{{accountId}}/templates/78b351c5-84f8-49c9-af48-redacted

{
    "envelopeTemplateDefinition": {
        "templateId": "78b351c5-84f8-49c9-af48-redacted",
        "name": "my dev template",
        .... truncated for brevity ....
    },
    "documents": [
        {
            "documentId": "73370178",
            "uri": "/envelopes/78b351c5-84f8-49c9-af48-redacted/documents/73370178",
            "name": "DS_Testing_Doc1.pdf",
            "order": "1",
            "pages": "1"
        },
        {
            "documentId": "13535052",
            "uri": "/envelopes/78b351c5-84f8-49c9-af48-redacted/documents/13535052",
            "name": "DS_Testing_Doc2.pdf",
            "order": "2",
            "pages": "1"
        }
    ],
    "recipients": {
            .... truncated for brevity ....
    }
}

这是我从模板调用创建信封:

POST https://demo.docusign.net/restapi/v2/accounts/{{accountId}}/envelopes/

{ "envelopeId":null,
   "accountId":"redacted",
   "templateId":"78b351c5-84f8-49c9-af48-redacted",
   "status":"sent",
   "templateRoles":[  
      {  
         "id":null,
         "roleName":"producer",
         "email":"myemail@mycompany.com",
         "name":"Eric",
         "clientUserId":"",
         "status":"sent",
         "tabs":{  
            .... truncated for brevity ....
         }
      },
      {  
         "id":null,
         "roleName":"hidden",
         "email":"myemail2@mycompany.com",
         "name":"My Agent",
         "clientUserId":"",
         "status":"created",
         "tabs":{  
            .... truncated for brevity ....
         }
      }
   ],
   "voidedReason":null
}

创建信封的响应:

{
    "envelopeId": "2ab1e693-6f30-4f93-9902-redacted",
    "uri": "/envelopes/2ab1e693-6f30-4f93-9902-redacted",
    "statusDateTime": "2016-01-26T20:41:59.2400000Z",
    "status": "sent"
}

现在获取有关信封中文档的详细信息:

GET https://demo.docusign.net/restapi/v2/accounts/{{accountId}}/envelopes/2ab1e693-6f30-4f93-9902-redacted/documents

{
    "envelopeId": "2ab1e693-6f30-4f93-9902-redacted",
    "envelopeDocuments": [
        {
            "documentId": "1",
            "name": "DS_Testing_Doc1.pdf",
            "type": "content",
            "uri": "/envelopes/2ab1e693-6f30-4f93-9902-redacted/documents/1",
            "order": "1",
            "pages": "1",
            "availableDocumentTypes": [
                {
                    "type": "electronic",
                    "isDefault": "true"
                }
            ]
        },
        {
            "documentId": "2",
            "name": "DS_Testing_Doc2.pdf",
            "type": "content",
            "uri": "/envelopes/2ab1e693-6f30-4f93-9902-redacted/documents/2",
            "order": "2",
            "pages": "1",
            "availableDocumentTypes": [
                {
                    "type": "electronic",
                    "isDefault": "true"
                }
            ]
        },
        {
            "documentId": "certificate",
            "name": "Summary",
            "type": "summary",
            "uri": "/envelopes/2ab1e693-6f30-4f93-9902-redacted/documents/certificate",
            "order": "999",
            "pages": "1",
            "availableDocumentTypes": [
                {
                    "type": "electronic",
                    "isDefault": "true"
                }
            ]
        }
    ]
}

在我查看有关信封中文档的详细信息的最后一次调用中,ID 为“1”和“2”。但是,在我的模板中,文档 ID 是“73370178”和“13535052”。

那么,从模板创建信封时如何分配 documentIds?它们是否与模板中的 'order' 对应?我可以依赖它们总是从 1 开始递增吗?

是否可以在我的模板中定义 documentId,并在我创建信封时使它们相同?

是否可以在从模板创建信封时分配 documentIds(假设 PDF 上传到模板,而不是发送整个 PDF 字节流)?

干杯

documentId 实际上完全取决于您 - 它是客户端定义的值并采用字符串,因此您实际上可以使用您想要的任何命名标准(即数字、字母或组合)。许多集成使用简单的数字(1、2、3 等)作为 documentId,而其他集成则使用字符串或其他标识符。

无论如何,如果您想稍后将单选标签分配给该文档的收件人,您只需要记住为给定文档设置的值。

注意:如果您在创建信封时没有提供documentId,系统会自动生成并分配一个GUID作为documentId,然后您可以使Get Documents API 调用以检索该 ID。