Я пытаюсь использовать составные шаблоны для отправки конверта для подписей из 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"
}





В вашем демо-аккаунте, вероятно, не включен API адаптивной подписи. Обратитесь в службу поддержки разработчиков DocuSign — https://support.docusign.com/s/contactSupport — форма внизу. Дайте им идентификатор своего демо-аккаунта и сообщите, что вам нужно включить «умные разделы/API для адаптивного подписания».
Существует два способа использования HTML-документов в качестве источника документа.
В этой живой демонстрации показаны обе техники.
"document": {
"name": "Contract",
"documentId": "1",
"documentBase64": html_base64_encoded,
"fileExtension": "html" // VERY important!
},
Используя этот метод, вам НЕ нужна адаптивная поддержка подписи.
Здесь вы используете атрибут определения HTML.
Вы, сэр, спасаете жизни!!!!! В моем запросе мне не хватало «fileExtension»: «html». Я не могу отблагодарить вас достаточно.
Спасибо за ответ! Я сразу с ними поговорю. Я отмечу правильный ответ после того, как рассмотрю его в службе поддержки.