С Adobe EchoSign, можно ли использовать библиотечный документ в качестве шаблона? - PullRequest
4 голосов
/ 23 марта 2012

В соответствии с разделом Создать документ библиотеки их API:

createLibraryDocument используется для создания документа в пользователе библиотека документов. Библиотека может быть использована для отправки того же документа для подписи несколько раз, либо через веб-приложение или через API.

Неясно, можете ли вы поместить что-то вроде% ProductName% в документ и найти / заменить его при распространении, или вам нужно каждый раз загружать новый документ. Я планирую использовать API для отправки идентичных соглашений, но с разными названиями продуктов и компаний.

Есть идеи, если это возможно?

1 Ответ

3 голосов
/ 14 мая 2013

Вопрос довольно старый, поэтому я добавляю его для дальнейшего использования.

Я имел дело с той же проблемой, и я нашел решение. Вернее взломать. Вместо createLibraryDocument я использую напрямую sendDocument. У него есть свойство mergeFieldsInfo, которое, согласно документации, нельзя использовать с документами библиотеки, но будет работать, если вы передадите URL файла. Я попробовал вариант с URL, и он работает, у меня есть поля, предварительно заполненные в тестовом документе.

Пример тела запроса, которое у меня сработало:

<?xml version="1.0"?>
<sendDocument>
  <apiKey>XXXXX</apiKey>
  <senderInfo nil="true"/>
  <documentCreationInfo>
    <fileInfos>
      <FileInfo>
        <fileName>Merchant Agreement.pdf</fileName>
        <url>https://my.public.host.com/GetFinancing%20Merchant.pdf</url>
      </FileInfo>
    </fileInfos>
    <mergeFieldInfo>
      <mergeFields>
        <MergeField>
          <defaultValue>test</defaultValue>
          <fieldName>companyName</fieldName>
        </MergeField>
        <MergeField>
          <defaultValue>test</defaultValue>
          <fieldName>companyAddress</fieldName>
        </MergeField>
        <MergeField>
          <defaultValue>0123456789</defaultValue>
          <fieldName>companyPhone</fieldName>
        </MergeField>
      </mergeFields>
    </mergeFieldInfo>
    <name>Merchant Agreement</name>
    <recipients>
      <RecipientInfo>
        <email>kowalski0123@gmail.com</email>
        <role>SIGNER</role>
      </RecipientInfo>
    </recipients>
    <reminderFrequency>NEVER</reminderFrequency>
    <signatureFlow>SENDER_SIGNATURE_NOT_REQUIRED</signatureFlow>
    <signatureType>ESIGN</signatureType>
  </documentCreationInfo>
</sendDocument>
...