Добавление HTML-документов в составные шаблоны в Docusign REST API v2.1

Я пытаюсь использовать составные шаблоны для отправки конверта для подписей из Salesforce. У меня есть 3 шаблона серверов, на которые я ссылаюсь в своем запросе. Я могу без проблем отправить три шаблона сервера на подпись. Недавно у нас появилось требование отправить еще один документ, в котором была бы таблица с данными от отдела продаж. Эта таблица не статична и время от времени меняется в зависимости от количества доступных строк в Salesforce.

Поэтому я решил использовать свойство htmlDefinition в объекте document для отправки HTML-разметки, которую я подготовил из Salesforce.

Когда я отправляю запрос, он не загружает мой документ htmlDefinition и говорит: «У вас нет документов». Пожалуйста, найдите ниже мой файл запроса. Любая помощь приветствуется, так как я занимаюсь этим уже почти неделю! :(

ЧТО Я ПРОБОВАЛ: Я могу отправить документ htmlDefinition, используя обычный метод отправки, но он не работает с составными шаблонами.

{
  "status": null,
  "enforceSignerVisibility": "true",
  "emailSubject": "EMAIL_SUBJECT",
  "emailBlurb": "EMAIL_BLURB",
  "compositeTemplates": [
    {
      "serverTemplates": null,<**NOT PASSING ANY serverTemplates, I want the html document below to be rendered instead**>
      "inlineTemplates": [
        {
          "sequence": "1",
          "recipients": {
            "signers": [
              {
                "tabs": {
                  "textTabs": null,
                  "signHereTabs": null,
                  "fullNameTabs": null,
                  "dateSignedTabs": null
                },
                "signerRole": "Signer",
                "routingOrder": "1",
                "roleName": null,
                "recipientId": "1",
                "name": "PuppySaturation",
                "excludedDocuments": null,
                "email": "[email protected]"
              }
            ]
          },
          "customFields": null
        }
      ],
      "document": {
        "name": "Contract",
        "htmlDefinition": {
          "source": "<html>HTML markup to create a table data. This table data is dynamically generated on salesforce apex side, I verified the markup, It was clean and had no issues in it. The markup also has ds-signature data-ds-role='Signer' to match the signer role of 1st recipient</html>"
        },
        "documentId": "1",
        "documentBase64": null<**NOT PASSING base64, I want html source to render. Could this be the issue?**>
      },
      "compositeTemplateId": "1"
    }
  ]
}

ОБНОВЛЕНИЕ: Согласно ответу Ларри К., сработала приведенная ниже модификация объекта документа:

"document": {
    "name": "Contract",
    "documentId": "1",
    "documentBase64": <base64EncodedHTML>,
    "fileExtension" : "html"
  }
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
88
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В вашем демо-аккаунте, вероятно, не включен API адаптивной подписи. Обратитесь в службу поддержки разработчиков DocuSign — https://support.docusign.com/s/contactSupport — форма внизу. Дайте им идентификатор своего демо-аккаунта и сообщите, что вам нужно включить «умные разделы/API для адаптивного подписания».

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

PuppySaturation 04.03.2024 05:42
Ответ принят как подходящий

Существует два способа использования HTML-документов в качестве источника документа.

В этой живой демонстрации показаны обе техники.

  1. Отправляйте HTML вместо PDF. В этом случае base64 кодирует html:
"document": {
    "name": "Contract",
    "documentId": "1",
    "documentBase64": html_base64_encoded,
    "fileExtension": "html" // VERY important!
},

Используя этот метод, вам НЕ нужна адаптивная поддержка подписи.

  1. Отправьте HTML, включите адаптивную подпись и, возможно, также «умные разделы». Это позволяет вам кодировать расположение вкладок в вашем HTML. Это также позволяет вашему HTML включать разделы, которые будут сворачиваться/разворачиваться для просмотра подписывающему лицу. Документация

Здесь вы используете атрибут определения HTML.

Вы, сэр, спасаете жизни!!!!! В моем запросе мне не хватало «fileExtension»: «html». Я не могу отблагодарить вас достаточно.

PuppySaturation 04.03.2024 12:50

Другие вопросы по теме