DocuSign API Встроенная интеграция подписи

Я работаю над процессом регистрации, который требует от нового пользователя подписывать документы. Я использую DocuSign для встраивания рабочего процесса подписи для этого

Я создал шаблон с PDF документом в админ панели docusign и добавил 1 тестовый маршрут: введите описание изображения здесь

и в бэкэнде я выполняю следующие вызовы API:

  1. ШАГ 1 - вызов API входа в систему (используется для получения вашего baseUrl) - restapi/v2/login_information
  2. ШАГ 2 - Создать конверт из шаблона и отправить - baseURL + "/envelopes"
  3. ШАГ 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

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