Способ выбора вкладки флажка в API создания конверта и чтения в API данных формы не согласован - PullRequest
0 голосов
/ 27 мая 2020

Я работаю с предопределенным шаблоном. В шаблоне есть флажки для захвата коммуникационных предпочтений пользователя со следующими метками данных -

COMMUNICATION_PREF-FAX
COMMUNICATION_PREF-EMAIL
COMMUNICATION_PREF-PHONE

При вызове API создания конверта, если я хочу выбрать конкретный чекбокс, например EMAIL, тогда я должен передать следующее в теле запроса POST /envelopes

"checkboxTabs": [
    {
        "tabLabel": "COMMUNICATION_PREF-EMAIL",
        "selected": "true"
    }
]

И после завершения подписания, когда я читаю поля формы, используя formdata api /envelopes/{{envelopeId}}/form_data, я получаю следующее

{
    "name": "COMMUNICATION_PREF-EMAIL",
    "value": "X",
    "originalValue": "X"
}

Как вы можете видеть, состояние флажка (отмечено или не отмечено) представлены по-разному в обоих случаях. Установлено значение selected=true не соответствует тому, как было прочитано value = "X" Я попытался передать value = "X" в API создания конверта, но это не сработало.

Это несоответствие является проблемой для вызывающего приложения. Должен ли он сохранять состояние флажка как true / false или X / empty.

Невозможно применить logi перевода c (например, рассматривать X как выбранный), потому что при чтении данных формы информация о типе поля (независимо от того, стоит ли флажок) недоступна.

Любые советы очень ценится.

1 Ответ

1 голос
/ 27 мая 2020

Вместо form_data попробуйте эту конечную точку и включите получателей, вкладки как qp:

GET /accounts/[account_id]/envelopes/[envelope_id]include=recipients,tabs.

Объект ответа будет содержать именно то, что вы ищете. Вот пример:

{
    "status": "completed",
    ...
    "recipients": {
        "signers": [
            {
                "tabs": {
                    "checkboxTabs": [
                        {
                            "name": "",
                            "tabLabel": "Checkbox 105f25...0b2",
                            "selected": "true",
                            "shared": "false",
                            "requireInitialOnSharedChange": "false",  
                             ...

}

Если вы одержимы использованием API formData, продолжайте читать:

Этот API formData должен возвращать информацию о типе поля в свойстве name. Манипуляция строкой Basi c позволит вам различать тип. Вот образец объекта ответа из конверта, который я создал ...

{
    "formData": [...]
    "envelopeId": "7719639c-xxxx-xxxx-xxxx-c847ebebb9c6",
    "status": "completed",
    "sentDateTime": "2020-05-29T00:13:00.0000000Z",
    "recipientFormData": [
        {
            "formData": [
                {
                    "name": "Checkbox 105f257e-xxxx-xxxx-xxxx-03bae25e70b2 | tabGroups: [\"Checkbox Group 9620de9a-xxxx-xxxx-xxxx-dbf6c90e98af\"]",
                    "value": "X"
                },
                ...
            ],
            "recipientId": "85c97d0b-xxxx-xxxx-xxxx-fcc000c6400e",
            "name": "Name",
            "email": "test@test.com",
            "SignedTime": "...",
            "DeliveredTime": "..."
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...