INVALID_REQUEST_BODY в EnvelopeRecipients :: update - PullRequest
0 голосов
/ 22 мая 2019

Получаю конверты получателям, используя конечную точку GET envelopes/{envelope_id}/recipients.

После этого я добавляю поле clientUserId и пытаюсь обновить конверт, используя конечную точку POST envelopes / {envelope_id} / получателей с тем же массивом, который я получил в результате возврата из метода GET в качестве тела.

Но возвращается следующая ошибка:

"Тело запроса отсутствует или неправильно отформатировано. Невозможно десериализовать текущий массив JSON (например, [1,2,3]) в тип 'API_REST.Models.v2.recipientIdentityVerification', поскольку для типа требуется объект JSON (например, { "name": "value"}) для правильной десериализации.

Чтобы исправить эту ошибку, либо измените JSON на объект JSON (например, {"name": "value"}), либо измените десериализованный тип на массив или тип, который реализует интерфейс коллекции (например, ICollection, IList), например Список, который можно десериализовать из массива JSON. JsonArrayAttribute также можно добавить к типу, чтобы принудительно десериализовать его из массива JSON.

Path 'signers [0] .identityVerification', строка 1, позиция 120. "

Obs: это работало в последний раз, когда я тестировал (декабрь / 2018)

UPDATE:

Я включил журнал, но кажется, что ошибка не регистрируется, как вы можете видеть, все запросы в журнале "ОК", и я не нашел конверты POST / {envelope_id} /recipients.

Вот файлы журналов:

LOGs Files

Содержимое 07_OK_GetEnvelopeRecipients.txt :

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Наконец, я выясняю причину проблемы:

По-видимому, JSON, возвращаемый из GET envelopes/{envelope_id}/recipients, возвращает поле "identityVerification" в виде массива.Но POST работает только в том случае, если «identityVerification» является объектом.

this is the problem

Чтобы обойти эту проблему, перед выполнением вызова POST я сделал следующее:

$recipients['signers'][$i]['identityVerification'] = new stdClass();
0 голосов
/ 01 июня 2019

Поскольку вы не видите ошибку в журналах DocuSign, а также в формулировке ошибки, я подозреваю, что проблема происходит на вашем компьютере до отправки запроса в DocuSign.

Таким образом, решение заключается в отладке в вашем приложении. Для получения дополнительной помощи, пожалуйста, предоставьте свой код, который вызывает ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...