2017-01-17 4 views
0

У меня возникли проблемы при попытке delete a tab с помощью REST API, который терпит неудачу по следующему адресу:Ошибка при удалении вкладки в конверте

https://demo.docusign.net/restapi/2/accounts/ {ACCOUNTID}/конверты/{envelopeID}/получателей/1/Вкладки

УДАЛЕНИЕ с телом {"checkboxTabs":[{"tabId":"168229c3-d717-436f-b6a9-5f014d1817bb"}]} получает:

{ 
    "checkboxTabs": [ 
    { 
     "selected": "false", 
     "requireInitialOnSharedChange": "false", 
     "recipientId": "1", 
     "tabId": "168229c3-d717-436f-b6a9-5f014d1817bb", 
     "errorDetails": { 
     "errorCode": "INVALID_TAB_OPERATION", 
     "message": "The Tab specified is not valid for the requested operation." 
     } 
    } 
    ] 
} 

неясно, в чем проблема, и я не могу найти хороший пример правильного использования. Возможно ли, что вкладка не найдена для удаления?

UPDATE

Я также попробовал UPDATE вместо DELETE, и я получил следующее тело ответа (интересно ответ показывает textTabs вместо checkboxTabs):

{ 
    "textTabs": [ 
    { 
     "requireAll": "false", 
     "concealValueOnDocument": "false", 
     "disableAutoSize": "false", 
     "documentId": "1", 
     "recipientId": "1", 
     "tabId": "00000000-0000-0000-0000-000000000000", 
     "errorDetails": { 
     "errorCode": "INVALID_TAB_OPERATION", 
     "message": "The Tab specified is not valid for the requested operation. The Tab specified is not valid for the requested operation. Recipient not in state that allows correction." 
     } 
    } 
    ] 
} 

Однако на этот раз ошибка сообщение также содержало «Получатель не в состоянии, который допускает коррекцию», что означает, что я пытаюсь выполнить недопустимую операцию, поскольку получатель уже подписал? Если кто-то может уточнить, что поможет моему пониманию.

Было бы очень полезно, если метод DELETE также содержал аналогичное сообщение.

ответ

1

Эта ошибка должна появиться, если tabID не существует. Я бы рекомендовал дважды проверить tabID, выполнив GET против того же URL.

+0

Спасибо, я подтвердил табетический правильно, позвонив по GET же URL. Я нашел аналогичную проблему на http://stackoverflow.com/questions/18020052, которая была связана с ошибкой, но это было несколько лет назад. Расширенное сообщение об ошибке будет очень полезно, если он не сможет найти tabID. –

0

Я считаю, что вы получите эту ошибку, если ЛЮБЫЕ из свойств вкладки, которые вы указали, неверны. Например, вы можете ссылаться на правильный , но если соответствующая вкладка находится на документе 2 (например), и вы ссылаетесь на documentId = 1 в свой запрос, вы получите эту ошибку.

Я рекомендую вам прямо перед отправкой запроса DELETE, чтобы сначала сделать GET на вкладке, а затем проверить все возвращенные свойства и убедиться, что все они соответствуют тому, что вы отправляете в своем запросе на удаление.


UPDATE

Я просто понял, что вы, вероятно, работает в. Запрос API EnvelopeTabs: delete, который вы пытаетесь сделать, говорит об этом

«Удаляет одну или несколько вкладок, связанных с получателем в черновом конверте».

Я считаю, что это только для конвертов DRAFT. После того, как вы отправили конверт, вам нужно сделать коррекцию конверта, если вы хотите изменить его аспекты. Ваше сообщение об ошибке также ссылки на этот

«Получатель не в состоянии, что позволяет коррекции»

+0

Спасибо, это имело бы смысл, и я сделал GET заранее, чтобы проверить.Тем не менее, я считаю, что основная ошибка: «Получатель не в состоянии, которое позволяет исправление». Означает ли это, что я пытаюсь выполнить недопустимую операцию, поскольку получатель уже подписал? –

+0

О, это интересно, я действительно пропустил эту часть ошибки при первом чтении. Хорошо, в этом случае сначала позвольте мне спросить конверт в 'created' или' sent' состоянии? Если «отправлено», тогда порядок маршрутизации конверта сделал его получателю, о котором идет речь, но кто табу, которую вы пытаетесь удалить? Если это так, это может быть вашей проблемой. – Ergin

+0

На самом деле мой последний ответ помог мне понять, что это, вероятно, связано с тем, что вы уже отправили конверт. Я обновил свой ответ. – Ergin