API DocuSign Заменить шаблон документа, но сохранить поля
Я хочу использовать существующие поля из шаблона сервера поверх другого документа.
Сначала я попытался прикрепить документ на том же уровне, что и inline/server. Если я определил подписавшего, это дает мне 400 ошибок, если я оставлю это (сделал случайно), он полностью уничтожит поля и покажет прикрепленный документ.
Во-вторых, я попытался прикрепить документ к встроенному шаблону, но в результате прикрепленный документ не появился, он просто работает как обычно.
Обновить
После добавления дополнительной отладки и исследований теперь я знаю, что прикрепление его к встроенному шаблону было некорректным. После добавления отладки, чтобы прочитать ответ 400, я получаю эту ошибку:
"DocumentId, указанный в элементе tab, не ссылается на документ в этом конверте. Tab ссылается на DocumentId 32475214, которого нет".
DocumentId устанавливается в 1, что, по-видимому, неправильно.
Что привело меня к этому вопросу на SO. В котором в комментарии упоминается, что следует использовать идентификатор, отскочивший от 400. После того, как я жестко закодировал этот идентификатор, я вижу, что операция замены прошла успешно!
Однако теперь мне нужно найти способ найти и подключить это значение программно.
подробность
Я использую DocuSign php SDK, чтобы помочь мне построить структуру данных и получить доступ к API.
1 ответ
Используйте API listTemplateDocuments, чтобы получить идентификатор документа для шаблона.
DocumentId, полученный на предыдущем шаге, должен использоваться в CompositeTemplate запроса CreateEnvelope
{
"emailSubject": "Tabs should remain from the Server Template",
"status": "sent",
"compositeTemplates": [
{
"document": {
"documentId": "<document Id>", //Use the documentId retrieved using the listTemplateDocuments api
"name": "Replaced Document",
"fileExtension": "txt",
"documentBase64": "RG9jIFRXTyBUV08gVFdP"
},
"serverTemplates": [
{
"sequence": "1",
"templateId": "<Server Template Id Here>"
}
]
}
]
}