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。
我正在从模板创建信封。我需要提前知道将在信封中创建的 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。