Пользовательские поля шаблона с docusign_rest - PullRequest
0 голосов
/ 30 ноября 2018

Я использую docusign gem отдыха для создания и отправки конвертов DocuSign.Но у меня возникают проблемы с настраиваемыми полями, которые я установил в своем шаблоне для отображения.У меня есть 2 подписывающих лица в моем шаблоне, которые имеют общие поля для них обоих, поэтому мне пришлось настроить каждое настраиваемое поле дважды, так как DocuSign, по-видимому, не допускает использование общих полей.

enter image description here

enter image description here

Это вызов API, который я выполняю при настройке конверта в соответствии с документацией DocuSign API:

custom_fields = {
      textCustomFields: [
        {
          name: "host_address",
          value: "Testing Host Address",
          required: "true",
          show: "true",
        },
        {
          name: "host_civil_status",
          value: "Host Civil Status",
          required: "true",
          show: "true",
        },
        {
          name: "host_id_number",
          value: "123HOSTID",
          required: "true",
          show: "true",
        },
        {
          name: "host_tax_number",
          value: "123HOSTTAX",
          required: "true",
          show: "true",
        },
        {
          name: "nomad_address",
          value: "Testing Nomad Address",
          required: "true",
          show: "true",
        },
        {
          name: "nomad_civil_status",
          value: "Nomad Civil Status",
          required: "true",
          show: "true",
        },
        {
          name: "nomad_id_number",
          value: "123NOMADID",
          required: "true",
          show: "true",
        },
        {
          name: "nomad_tax_number",
          value: "123NOMADTAX",
          required: "true",
          show: "true",
        },
        {
          name: "property_addres",
          value: booking.listing.property.full_address,
          required: "true",
          show: "true",
        },
        {
          name: "property_address",
          value: booking.listing.property.full_address,
          required: "true",
          show: "true",
        },
        {
          name: "property_deposit",
          value: (booking.deposit * booking.price).to_s,
          required: "true",
          show: "true",
        },
        {
          name: "property_description",
          value: "Property Description",
          required: "true",
          show: "true",
        },
        {
          name: "property_start_date",
          value: booking.start_date.strftime("%d/%m/%Y"),
          required: "true",
          show: "true",
        },
        {
          name: "property_end_date",
          value: booking.end_date.strftime("%d/%m/%Y"),
          required: "true",
          show: "true",
        },
        {
          name: "property_stay_length",
          value: distance_of_time_in_words(booking.start_date, booking.end_date),
          required: "true",
          show: "true",
        },
        {
          name: "property_montly_rent",
          value: booking.price.to_s,
          required: "true",
          show: "true",
        },
      ]

    }
    @envelope = client.create_envelope_from_template(
      status: 'sent',
      email: {
        subject: "The test email subject envelope",
        body: "Envelope body content here"
      },
      template_id: "77xxxxxxxxxxxxxxxxxxxxxxxxxx",
      signers: [
        {
          embedded: true,
          name: booking.listing.user.name,
          email: booking.listing.user.email,
          role_name: 'Host',
        },
        {
          embedded: true,
          name: booking.user.name,
          email: booking.user.email,
          role_name: 'Nomad',
        }
      ],
      custom_fields: custom_fields
    )

1 Ответ

0 голосов
/ 03 декабря 2018

К сожалению, в системе DocuSign есть два разных объекта, которые по сути имеют одно и то же имя «настраиваемое поле».Вы используете неправильный.

Два объекта:

1.Поля пользовательских данных метаданных

Эти объекты бывают двух видов: textCustomFields и listCustomFields.

Эти объекты могут быть установлены на уровне учетной записи, чтобы требовать, чтобы каждый (или некоторые) конверты отправлялись включает дополнительные метаданные на уровне конверта.

Объекты также могут быть установлены программно на уровне конверта.

Эти "пользовательские поля" не видны подписывающему лицу.Они не являются полями (вкладками), видимыми в документах.Они связаны с конвертом как дополнительные метаданные.Это тип пользовательских полей, которые использует ваш пример кода.

Добавление / перечисление настраиваемых полей, установленных на уровне учетной записи: документы.

Добавление настраиваемого поля метаданных в конверт: используйте атрибут customFields конвертаопределение.

2.Настраиваемые вкладки (поля)

Настраиваемая вкладка (называемая «полем» в веб-инструменте DocuSign) является версией настраиваемой вкладки DocuSign (вкладка «Текст», «Знак здесь», «Дата» и т. Д.),Затем, позже, вместо перенастройки другого экземпляра вкладки, настраиваемую вкладку можно использовать повторно.

Это то, что вы хотите использовать.

Чтобы использовать API для их перечисления, обновите их и т. Д .: документы.

Чтобы использовать их в документе

Отказ от ответственности: я читаю документы, у меня естьне пробовал это. Пожалуйста, добавьте комментарий после того, как попробуете:

  1. Вам понадобится customTabId для настраиваемой вкладки.Используйте CustomTabs :: list вызов API.
  2. Вам также необходимо знать базовый тип вкладки: текст и т. Д. Используйте значение type, которое также возвращается CustomTabs :: list Вызов API.
  3. Затем при создании документа для каждого получателя, который получает настраиваемую вкладку, создайте вкладку как обычно, но включите customTabId как часть вкладок.определение.Например, см. Определение объекта вкладки text в вызове API Envelopes :: create .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...