DocuSign API Встроенная интеграция подписи
Я работаю над процессом регистрации, который требует от нового пользователя подписывать документы. Я использую DocuSign для встраивания рабочего процесса подписи для этого
Я создал шаблон с PDF документом в админ панели docusign и добавил 1 тестовый маршрут:
и в бэкэнде я выполняю следующие вызовы API:
- ШАГ 1 - вызов API входа в систему (используется для получения вашего baseUrl) - restapi/v2/login_information
- ШАГ 2 - Создать конверт из шаблона и отправить - baseURL + "/envelopes"
- ШАГ 3 - Запустите представление Embedded Signing (также известное как получатель) - baseURL + uri + "/views/receient"
и в качестве параметров для электронной почты, имя пользователя, если я отправляю test@mail.com, test2 (как в маршруте), а затем, когда я перехожу к полученному URL-адресу представления получателя, я вижу, что форма уже имеет заполнитель для знака и инициалов, так как я добавил эти Теги для пользователя test2 в админ-панели и форме выглядят так:
Что здорово!
Но не в том случае, если я отправлю test3 и test3@mail.com в качестве имени пользователя и параметров электронной почты, в этом случае я получу следующую форму:
Здесь пользователь может разместить свой знак и другие элементы там, где он хочет (что ПЛОХО)
Мне нужно такое поведение для всех имен пользователей и электронных писем новых пользователей, которые будут регистрироваться (как все пользователи увидят эти теги для подписи и инициализации). Я не могу добавить их в админ-панель для маршрутизации, поскольку не знаю писем новых пользователей, которые Уилл пришел на сайт.
Есть ли способ сделать это?
RequestBody для STEP 2 по запросу @AndrewWilson
"<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">" +
"<status>sent</status>" +
"<emailSubject>DocuSign API - Embedded Signing example</emailSubject>" +
"<templateId>" + TEMPLATE_ID + "</templateId>" +
"<templateRoles>" +
"<templateRole>" +
"<email>" + recipientEmail + "</email>" +
"<name>" + recipientName + "</name>" +
"<roleName>test2</roleName>" +
"<clientUserId>1</clientUserId>"
"</templateRole>" +
"</templateRoles>" +
"</envelopeDefinition>";
получатель-почта, получатель-имя-имя будет динамическим, константа шаблона для документа
1 ответ
Вот пример вызова, в котором информация о получателе будет указана в шаблоне с roleName of Awesome Role, а адрес электронной почты и имя будут пустыми
{
"emailSubject": "Super Awesome DocuSign Integration",
"templateId": "{templateId}",
"status": "sent",
"templateRoles": [
{
"email": "person@email.com",
"name": "First Last",
"roleName": "Awesome Role",
"clientUserId": 123456
}
]
}
Если вы хотите начать динамическое добавление дополнительных тегов, вам нужно начать использовать составные шаблоны, это увеличивает сложность вызова, но вот пример вызова с использованием того же шаблона, но с добавлением тега подписи для получателя.
{
"emailSubject": "Super Awesome DocuSign Integration",
"status": "sent",
"templateId": "{templateId}",
"templateRoles": [
{
"email": "person@email.com",
"name": "First Last",
"roleName": "Awesome Role",
"clientUserId":123456
}
],
"compositeTemplates": [
{
"inlineTemplates": [
{
"sequence": "1",
"recipients": {
"signers": [
{
"email": "person@email.com",
"name": "First Last",
"clientUserId":123456,
"recipientId": "1",
"defaultRecipient": "true",
"tabs": {
"signHereTabs": [
{
"xPosition": "200",
"yPosition": "200",
"documentId": "1",
"pageNumber": "1"
}
]
}
}
]
}
}
]
}
]
}
Подробнее о составных шаблонах в Руководстве по API REST DocuSign