Docusign createEnvelope REST API с составными шаблонами CANNOT_EXCLUDE_DOCUMENT Ошибка - PullRequest
0 голосов
/ 25 апреля 2018

Использование документации в createEnvelope с составными шаблонами https://docs.docusign.com/esign/restapi/Envelopes/Envelopes/create/ https://developers.docusign.com/esign-rest-api/guides/features/templates

Когда мы пытаемся использовать этот API для нескольких шаблонов, мы получаем ошибку, подобную приведенной ниже

{\r\n  \"errorCode\": \"CANNOT_EXCLUDE_DOCUMENT\",\r\n  \"message\": \"This document cannot be excluded for this recipient. Recipient: Enbmgr Enbmgr cannot be excluded from Document:TalentEmploymentAgreemt_0617AqVT.pdf\"\r\n}"}}

Когда последовательность шаблонов изменяется, она работает нормально. Что может быть причиной этого?

Учетная запись настроена с видимостью документа: отправитель может установить «должен подписать для просмотра, если отправитель»

Ошибка при отправке в следующей последовательности:

  1. Templateid- f09dc354-efd6-437e-9410-5270b181a1f1 Роли: Emp, Mgr (вход в последовательность включен)

  2. Templateid- 8c919c05-ee1f-42c4-b521-861c5f2949b Роли: Emp

  3. Templateid- 6b57ea78-5923-4c54-b4c1-15c8d5313e71 Роли: Emp, Mgr (последовательность входа включена)

Успех при отправке с последовательностью ниже:

  1. Templateid- 6b57ea78-5923-4c54-b4c1-15c8d5313e71 Роли: Emp, Mgr (последовательность входа включена)

  2. Templateid- f09dc354-efd6-437e-9410-5270b181a1f1 Роли: Emp, Mgr (последовательность входа включена)

  3. Templateid- 8c919c05-ee1f-42c4-b521-861c5f2949b Роли: Emp

Ошибка запроса запроса:

    {
      "emailSubject": "DocuSign API - Composite Templates",
      "emailBlurb": "Composite Templates Sample 1",
      "status": "sent",
      "compositeTemplates": [
        {
          "serverTemplates": [
            {
              "sequence": "1",
              "templateId": "f09dc354-efd6-437e-9410-5270b181a1f1"
            }
          ],
          "inlineTemplates": [
            {
              "sequence": "2",
              "recipients": {
                "signers": [
                  {
                    "email": "ranjesh+emp@enboarder.com",
                    "name": "Enbemp Enbemp",
                    "roleName": "Talent",
                    "recipientId": "1",
                    "tabs": {}
                  },
                  {
                    "email": "ranjesh+mgr@enboarder.com",
                    "name": "Enbmgr Enbmgr",
                    "roleName": "OM",
                    "recipientId": "2",
                    "tabs": {}
                  }
                ]
              }
            }
          ]
        },
        {
          "serverTemplates": [
            {
              "sequence": "3",
              "templateId": "8c919c05-ee1f-42c4-b521-861c5f2949bf"
            }
          ],
          "inlineTemplates": [
            {
              "sequence": "4",
              "recipients": {
                "signers": [
                  {
                    "email": "ranjesh+emp@enboarder.com",
                    "name": "Enbemp Enbemp",
                    "roleName": "Talent",
                    "recipientId": "1",
                    "tabs": {
                      "textTabs": [
                        {
                          "tabLabel": "\\*Market",
                          "value": " "
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        },
        {
          "serverTemplates": [
            {
              "sequence": "5",
              "templateId": "6b57ea78-5923-4c54-b4c1-15c8d5313e71"
            }
          ],
          "inlineTemplates": [
            {
              "sequence": "6",
              "recipients": {
                "signers": [
                  {
                    "email": "ranjesh+emp@enboarder.com",
                    "name": "Enbemp Enbemp",
                    "roleName": "Talent",
                    "recipientId": "1",
                    "tabs": {}
                  },
                  {
                    "email": "ranjesh+mgr@enboarder.com",
                    "name": "Enbmgr Enbmgr",
                    "roleName": "OM",
                    "recipientId": "2",
                    "tabs": {}
                  }
                ]
              }
            }
          ]
        }
      ]
    }

Запрос дает успех:

    {
      "emailSubject": "DocuSign API - Composite Templates",
      "emailBlurb": "Composite Templates Sample 1",
      "status": "sent",
      "compositeTemplates": [
        {
          "serverTemplates": [
            {
              "sequence": "1",
              "templateId": "6b57ea78-5923-4c54-b4c1-15c8d5313e71"
            }
          ],
          "inlineTemplates": [
            {
              "sequence": "2",
              "recipients": {
                "signers": [
                  {
                    "email": "ranjesh+emp@enboarder.com",
                    "name": "Enbemp Enbemp",
                    "roleName": "Talent",
                    "recipientId": "1",
                    "tabs": {}
                  },
                  {
                    "email": "ranjesh+mgr@enboarder.com",
                    "name": "Enbmgr Enbmgr",
                    "roleName": "OM",
                    "recipientId": "2",
                    "tabs": {}
                  }
                ]
              }
            }
          ]
        },
        {
          "serverTemplates": [
            {
              "sequence": "3",
              "templateId": "f09dc354-efd6-437e-9410-5270b181a1f1"
            }
          ],
          "inlineTemplates": [
            {
              "sequence": "4",
              "recipients": {
                "signers": [
                  {
                    "email": "ranjesh+emp@enboarder.com",
                    "name": "Enbemp Enbemp",
                    "roleName": "Talent",
                    "recipientId": "1",
                    "tabs": {}
                  },
                  {
                    "email": "ranjesh+mgr@enboarder.com",
                    "name": "Enbmgr Enbmgr",
                    "roleName": "OM",
                    "recipientId": "2",
                    "tabs": {}
                  }
                ]
              }
            }
          ]
        },
        {
          "serverTemplates": [
            {
              "sequence": "5",
              "templateId": "8c919c05-ee1f-42c4-b521-861c5f2949bf"
            }
          ],
          "inlineTemplates": [
            {
              "sequence": "6",
              "recipients": {
                "signers": [
                  {
                    "email": "ranjesh+emp@enboarder.com",
                    "name": "Enbemp Enbemp",
                    "roleName": "Talent",
                    "recipientId": "1",
                    "tabs": {
                      "textTabs": [
                        {
                          "tabLabel": "\\*Market",
                          "value": " "
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }

Я обнаружил, что последний шаблон выглядит так Определение шаблона с исключенными документами для подписавшего

Как исключаются документы для настройки подписантов в приложении Docusign?

1 Ответ

0 голосов
/ 25 апреля 2018

Я подозреваю, что распределение ролей и вкладок имеет значение, но я не вижу ваш шаблон или API, отправленный Json.

  1. Вы можете получить запись журнала API точного запроса JSON / SOAP, отправленного вашими вызовами API через Java в DocuSign, выполнив шаги, описанные в этой статье поддержки DocuSign https://support.docusign.com/guides/ndse-user-guide-api-request-logging

  2. Вот часть того, что вам нужно понять о порядковых номерах и физическом порядке. В составных шаблонах физический порядок отменяет «индекс / последовательность» для узла составного шаблона. Индекс является внутренним связующим звеном, но не совсем порядком строк в модели в памяти. Я подозреваю, что вы действительно хотите перезапустить порядковый номер в каждом узле «составного шаблона», так как вы говорите, что у меня есть «три» документа и x количество функций и ролей на документ, так как они работают и не работают, сворачиваются в следующие составные узлы структуры структура, за исключением того, что похоже, что у вас есть (исправлено) дополнительная "[" группировка массива:

(исправлено в обновленном вопросе) enter image description here

"compositeTemplates": [{
"serverTemplates": [{
"inlineTemplates": [{
"document": ....

или в соответствии с вашим:

"compositeTemplates": [
    {},
    {},
    {}
    ]

Все это предполагает, что вам нужно три документа, если вам нужен один документ, то вы сохраняете шаблоны серверов в одной коллекции массивов внутри составного узла, которая будет применяться к сопутствующему документу, один с наименьшим порядковым номером. Помните, в JSON / REST, если JSON искажен, то есть включает в себя больше, чем нужно, API просто игнорирует его как «комментарии клиента» и принимает то, что он может использовать.

  1. Чем ниже последовательность: узел документа (не документы) между сервером, встроенным и документом, равным 0, - это то, как определяются «байты PDF / DOC», и чем выше порядковый номер, то функция, которая выигрывает aka doc vis in один шаблон, другой или число дней уведомления.

  2. Мне, вероятно, придется подождать журналы, однако я думаю, что ключ к проблеме с ошибкой doc vis - "tabLabel": "\ * Market", который идет от середины к последней между двумя примерами. Якорные строки имеют широкую оболочку, поэтому я подозреваю, что они «соответствуют» необходимым критериям для функции для этой роли, которая, вероятно, требуется для шаблона. Вы можете поместить все роли в последний узел составного шаблона последнего узла встроенного шаблона, и он будет применять их ко всем предыдущим узлам составного шаблона, если они не предоставлены встроенным шаблоном.

Итак, есть документ с передовой практикой, который я собираюсь опубликовать с объяснением этого по сложной сборке шаблонов в конвертах, однако, надеюсь, это пока поможет.

Пожалуйста, приложите свои журналы, чтобы мы могли увидеть реальный пример и определить, какие из них сыграли в результатах, которые вы описываете.

...