DocuSign: возможно ли отправить пользовательскую полезную нагрузку по ссылке PowerForm и вернуть ее через webhook?
Я интегрируюсь с API DocuSign и мне интересно, возможно ли реализовать следующий сценарий:
- ПОЛУЧИТЕ PowerForm, чтобы получить его URL
- Прикрепите пользовательскую полезную нагрузку к URL-адресу (например, некоторые строковые и кодированные в формате JSON)
- Отправить URL пользователю
- Попросите пользователя подписать документы, прикрепленные к шаблону PowerForm
- Получите обратный звонок на моем веб-крюке
- Восстановить пользовательскую полезную нагрузку как-то
Контекст таков: я хочу отправить конкретному пользователю документ для подписи, а когда он это сделает - распознать его конкретное уведомление. И это будет частью чата через SMS или Skype (чатбот), поэтому обратный URL не очень хороший вариант.
Я смотрел в сторону API пользовательских шаблонных полей, потому что вы можете заполнить их, используя URL. Но похоже, что пользовательские поля должны быть видны в документе, пока он подписан, и это создает проблему - иметь что-то вроде dfd84fc1-317f-4939-9dfb-4350d2127d2f
(даже "звездочкой") будет плохим UX для конечного пользователя.
Это первый раз, когда я работаю с API DocuSign, и я надеюсь, что мне просто чего-то не хватает в основных понятиях... Поэтому я публикую этот вопрос.
1 ответ
Вы можете использовать настраиваемое поле шаблона с белым цветом текста, чтобы соответствовать фону. Текст по-прежнему будет "записан" в документ (его можно найти с помощью ctrl-f), но он не будет показан подписавшему.
В качестве альтернативы вы можете использовать настраиваемое поле конверта - они не видны подписывающему лицу, они не записываются в документ, но сохраняются как "метаданные", доступные через API. По https://docs.docusign.com/DocuSignHelp/Content/populate-custom-fields.htm:
Envelope Field: To populate an envelope field in the Web PowerForm, add the following text in the URL:
EnvelopeField_<EnvelopeFieldName>=<value>
Where <EnvelopeFieldName> is the name of the envelope field in the Web PowerForm and the <value> is the value you want in the field.
Example: EnvelopeField_Region=Northwest
Вы можете получить эту информацию с помощью вызова
GET /v2/accounts/{accountId}/envelopes/{envelopeId}/custom_fields
согласно https://developers.docusign.com/esign-rest-api/reference/Envelopes/EnvelopeCustomFields/list
Пользовательские поля конвертов также включены в публикацию Connect