DocuSign: Откуда берется documentId при создании конверта из шаблона?

Я делаю конверты по шаблону. Мне нужно заранее знать идентификаторы документов, которые будут созданы в конверте, чтобы иметь дело со странным особым случаем предварительного заполнения переключателей. (Я могу объяснить почему более подробно, но это не имеет отношения к этому вопросу.)

Итак, откуда берутся эти идентификаторы документов? Я использую 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":"[email protected]",
         "name":"Eric",
         "clientUserId":"",
         "status":"sent",
         "tabs":{  
            .... truncated for brevity ....
         }
      },
      {  
         "id":null,
         "roleName":"hidden",
         "email":"[email protected]",
         "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"
                }
            ]
        }
    ]
}

В последнем вызове, где я просматриваю сведения о документах в конверте, идентификаторы «1» и «2». Однако в моем шаблоне идентификаторами документов являются «73370178» и «13535052».

Итак, как назначаются идентификаторы документов при создании конверта из шаблона? Соответствуют ли они «порядку» в шаблоне, как кажется? Могу ли я полагаться на то, что они всегда начинаются с 1, увеличиваясь оттуда?

Можно ли определить идентификаторы документов в моем шаблоне и сделать их одинаковыми при создании конверта?

Можно ли присвоить идентификаторы документов при создании конверта из шаблона (при условии, что PDF загружается в шаблон, а не отправляется весь поток байтов PDF)?

Ваше здоровье


person emulcahy    schedule 26.01.2016    source источник
comment
EnvelopeID — это идентификаторы GUID, которые создаются самой DocuSign. С другой стороны, DocumentID зависит от порядка документа, как в шаблоне.   -  person Batuta    schedule 27.01.2016


Ответы (1)


documentId на самом деле полностью зависит от вас - это значение, определяемое клиентом, и оно принимает строку, поэтому вы действительно можете использовать любой стандарт именования, который хотите (например, числа, буквы или комбинацию). Многие интеграции используют простые числа (1, 2, 3 и т. д.) для идентификаторов документов, тогда как другие используют строки или другие идентификаторы.

В любом случае вам просто нужно помнить, какое значение вы установили для данного документа, если вы хотите позже назначить радио-вкладку получателю этого документа.

Примечание. Если вы НЕ укажете documentId при создании конверта, система автоматически сгенерирует и назначит GUID в качестве documentId, после чего вы можете выполнить вызов API Get Documents для получения этого идентификатора.

person Ergin    schedule 26.01.2016
comment
Как говорит @Batuta, я думаю, что автоматически сгенерированные documentId представляют собой простые целые числа, а не GUID. Конвертиды являются идентификаторами и назначаются DocuSign. - person Larry K; 28.01.2016
comment
Круто, спасибо за объяснение. Да, я думаю, что автоматически сгенерированные идентификаторы документов представляют собой целые числа, начинающиеся с 1, а не GUID (на основе эмпирического опыта, а не документации). В любом случае, я приму этот ответ. Спасибо! - person emulcahy; 28.01.2016
comment
@ergin Я пытаюсь добавить documentId в json для шаблона, и я не могу заставить его работать ... есть ли способ сделать это? - person Andres; 08.02.2017
comment
Хотя это строка, она должна представлять положительное целое число, иначе вы получите ошибку The request contained at least one invalid parameter. The documentId specified is not a positive integer. - person lbarbosa; 12.07.2017
comment
У меня проблема с documentId, если я использую любое целое число, оно работает, если я использую что-то другое, с буквами или uuid, это говорит о плохом запросе... - person thesearentthedroids; 18.08.2017