2
votes

We are trying to populate an existing empty list on a DocuSign Template with some contact methods. The list needs to be populated on the fly since the number and default selected contact method varies with each recipient.

Here is our JSON request we PUT to https://demo.docusign.net/restapi/v2/accounts/:accountId/envelopes/:envelopeId/recipients/:recipientId/tabs (we have confirmed at the necessary variables in the URL have been filled in).

{
"accountId":"163051",
"checkboxTabs":[],
"companyTabs":[],
"dateTabs":[],
"emailTabs":[],
"envelopeId":"048f9ee2-df6e-482d-9e04-abb5e630bf83",
"fullNameTabs":[],
"initialHereTabs":[],
"listTabs":[{
    "documentId":"1",
    "locked":"False",
    "name":"Preferred Contact Method",
    "pageNumber":"1",
    "tabId":"661499f2-4dda-419d-82ad-f943871407e9",
    "tabLabel":"Preferred Contact Method",
    "value":"Any",
    "listItems":[{
        "selected":"True",
        "text":"Any",
        "value":"1"},{

        "selected":"False",
        "text":"E-mail",
        "value":"2"},{

        "selected":"False",
        "text":"Phone",
        "value":"3"},{

        "selected":"False",
        "text":"Fax",
        "value":"4"},{

        "selected":"False",
        "text":"Mail",
        "value":"5"},{

        "selected":"False",
        "text":"Home Phone",
        "value":"6"},{

        "selected":"False",
        "text":"Mobile Phone",
        "value":"7"},{

        "selected":"False",
        "text":"Text",
        "value":"8"},{

        "selected":"False",
        "text":"Facebook",
        "value":"9"}]
    }],
"noteTabs":[],
"radioGroupTabs":[],
"recipientId":"1",
"signHereTabs":[],
"textTabs":[],
"titleTabs":[],
"zipTabs":[]
}

And the response we are getting back:

The remote server returned an error: (500) Internal Server Error. { "errorCode": "INVALID_TAB_OPERATION", "message": "The Tab specified is not valid for the requested operation. Attempt to create 'text' tab from invalid tab type. }

There are no text tabs in our request. There is a tab with ID 661499f2-4dda-419d-82ad-f943871407e9 of type List on the template. We were able to get this working a few months ago but fear a new version may have broken this functionality.

In case it is needed here is the "Get Recipient Tabs" response for the same envelope we are trying to modify. The list tab in question is at the bottom.

    {
  "signHereTabs": [
    {
      "name": "Sign Here",
      "tabLabel": "Signature 12",
      "scaleValue": 1,
      "optional": "false",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "106",
      "yPosition": "270",
      "tabId": "00de6704-729d-4726-b102-829f914fda56"
    }
  ],
  "dateSignedTabs": [
    {
      "name": "Date Signed",
      "value": "",
      "tabLabel": "Date Signed",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "385",
      "yPosition": "303",
      "tabId": "6236a6cc-2d13-452e-af9b-6fe9706ff500"
    }
  ],
  "textTabs": [
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Last Name",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "36",
      "yPosition": "146",
      "tabId": "5aaee6db-a26a-4102-b77e-2eb4fb6e0c5b"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "First Name",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "224",
      "yPosition": "147",
      "tabId": "999d3f04-99b5-4fae-b69f-bd3e6b27e30d"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "false",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "maxLength": 1,
      "tabLabel": "Middle Initial",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "368",
      "yPosition": "145",
      "tabId": "fdb77bb3-bbe0-4a0c-bf66-ac9fbaa4bb26"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "false",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Maiden Name",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "427",
      "yPosition": "145",
      "tabId": "ae99f579-0016-4839-b179-444fae166f71"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Address Street",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "36",
      "yPosition": "175",
      "tabId": "506abe87-b144-4d93-8576-b33a2abc4d85"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "false",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Apt",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "367",
      "yPosition": "173",
      "tabId": "7eaa32ef-b9b3-40e5-a5d3-5975134fb90d"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "DOB",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "429",
      "yPosition": "175",
      "tabId": "8f895bec-4f7a-4040-be77-f17374b30765"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Address City",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "36",
      "yPosition": "202",
      "tabId": "af6cbd27-072f-494d-8cb0-f60578b5e6c9"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Address State",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "212",
      "yPosition": "202",
      "tabId": "1ecc4a85-5252-4f4f-97d8-22238f46aae5"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Address Zip",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "368",
      "yPosition": "202",
      "tabId": "0dfb3731-7ce4-4c10-81f2-784428427ee7"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "false",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Data Field 17",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "446",
      "yPosition": "256",
      "tabId": "cb9a86c5-6ecf-4593-8c54-4b7e7d08ffb8"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "false",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Data Field 18",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "497",
      "yPosition": "270",
      "tabId": "0fc2dc21-7916-431f-aa38-a3b4df6c7bcf"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "",
      "width": 42,
      "required": "false",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Data Field 19",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "498",
      "yPosition": "283",
      "tabId": "e0f8676f-6f98-43ee-81db-63734bfe3155"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "I am willing to travel.",
      "width": 162,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Data Field 49",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "5",
      "xPosition": "55",
      "yPosition": "15",
      "tabId": "5c3ddd45-c36c-4214-8b80-d800e0fa5b61"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "I am NOT willing to travel.",
      "width": 162,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Data Field 50",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "5",
      "xPosition": "56",
      "yPosition": "41",
      "tabId": "47d7d2ff-2a4f-4de7-9f67-311cd0b172c8"
    },
    {
      "height": 11,
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "Text",
      "value": "Preferred Contact Method",
      "width": 138,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "Data Field 52",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "1",
      "xPosition": "81",
      "yPosition": "21",
      "tabId": "75b83aa1-c906-4827-9fc2-6cc4177843c6"
    }
  ],
  "ssnTabs": [
    {
      "validationPattern": "",
      "validationMessage": "",
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "name": "SSNTOOLTIP",
      "value": "",
      "width": 48,
      "required": "true",
      "locked": "false",
      "concealValueOnDocument": "false",
      "disableAutoSize": "false",
      "tabLabel": "SSN",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "4",
      "xPosition": "429",
      "yPosition": "204",
      "tabId": "11b62284-7613-48df-8498-fa019f3a42a3"
    }
  ],
  "radioGroupTabs": [
    {
      "documentId": "1",
      "recipientId": "1",
      "groupName": "Radio Button 13",
      "radios": [
        {
          "pageNumber": "4",
          "xPosition": "297",
          "yPosition": "229",
          "value": "Radio",
          "selected": "false",
          "tabId": "2b2312d2-3ed6-469e-8aeb-8de588ae16d3"
        },
        {
          "pageNumber": "4",
          "xPosition": "297",
          "yPosition": "243",
          "value": "Radio",
          "selected": "false",
          "tabId": "1a997301-f5d8-4e86-8ead-9d706490faf2"
        },
        {
          "pageNumber": "4",
          "xPosition": "297",
          "yPosition": "256",
          "value": "Radio",
          "selected": "false",
          "tabId": "705df9df-9e1d-478b-b991-9b31e919c85c"
        },
        {
          "pageNumber": "4",
          "xPosition": "297",
          "yPosition": "271",
          "value": "Radio",
          "selected": "false",
          "tabId": "d74742c2-742e-43d5-b1c5-04854ec8a7c5"
        }
      ]
    },
    {
      "groupName": "Radio Button Group Test",
      "radios": [
        {
          "pageNumber": "5",
          "xPosition": "28",
          "yPosition": "15",
          "value": "TravelYes",
          "selected": "false",
          "tabId": "30962105-0337-4d98-b4dd-058ae736d6fb"
        },
        {
          "pageNumber": "5",
          "xPosition": "27",
          "yPosition": "40",
          "value": "TravelNo",
          "selected": "false",
          "tabId": "351ba656-80dd-43ea-936a-fd322d63c0c0"
        }
      ]
    }
  ],
  "listTabs": [
    {
      "listItems": [
        {
          "text": "",
          "value": "",
          "selected": "true"
        },
        {
          "text": "",
          "value": "",
          "selected": "true"
        }
      ],
      "value": "",
      "width": 77,
      "shared": "false",
      "requireInitialOnSharedChange": "false",
      "tabLabel": "Preferred Contact Method",
      "documentId": "1",
      "recipientId": "1",
      "pageNumber": "1",
      "xPosition": "220",
      "yPosition": "20",
      "tabId": "661499f2-4dda-419d-82ad-f943871407e9"
    }
  ]
}
1
Are you saving an empty drop down (listTabs) list with your template, or are you giving it at least one value then? I'm seeing a different bug here in that when I save an empty drop down list in my template, then create a draft envelope from that template through the api, then do a GET Recipient Tabs api call, I don't get the listTabs back, only my one signature tab. Are these the same steps you are following?Ergin
Interestingly, I get different results depending on whether the Draft envelope is created via the web console or via the API. If I add an empty drop-down when creating my Template, & then create a Draft envelope from the template using the API, & then do a "GET recipient tabs" API call -- listTabs is NOT returned in the response. However, if I add an empty drop-down when creating my Template, & then create a Draft envelope from the template using the web console, & then do a "GET recipient tabs" API call -- listTabs IS returned in the response...and from there I can repro John's issue/error.Kim Brandl
Our template is set to have a drop down with nothing but a semicolon separator in the options. If the options are completely blank, we get no list tab at all, much like yourself.John K

1 Answers

0
votes

This is a confirmed bug with DocuSign. I'm hoping this will get fixed in the next release but can't confirm yet. Once fixed I will update this answer to include the elements of a proper api call to modify an existing listTab, which I believe you're currently doing.