在创建信封 API 和在表单数据 API 中读取复选框复选框的方式不一致



我正在使用预定义的模板。模板具有复选框,用于使用以下数据标签捕获用户的通信首选项 -

COMMUNICATION_PREF-FAX
COMMUNICATION_PREF-EMAIL
COMMUNICATION_PREF-PHONE

在创建信封 API 调用中,如果我想选择一个特定的 checbox,例如电子邮件,那么我必须在请求正文中传递以下内容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与我尝试在创建信封 api 中传递value = "X"value = "X"的回读方式不一致,但它不起作用。

这种不一致是调用应用程序的问题。它是否应该将复选框状态存储为真/假或 X/空。

无法应用转换逻辑(例如将 X 视为选定状态(,因为在读取表单数据时,字段类型信息(无论是否为复选框(不可用。

任何建议都非常感谢。

与其尝试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",  
...
}

如果您执意要使用formData API,请继续阅读:

该表单数据 API 应在name属性中返回字段类型信息。基本的字符串操作将使您能够识别类型。下面是我创建的信封中的示例响应对象...

{
"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": "..."
}
]
}

最新更新