猿问

EnvelopeRecipients::update 中的 INVALID_REQUEST_BODY

我使用 GETenvelopes/{envelope_id}/recipients端点获取信封收件人。

之后,我添加该字段clientUserId并尝试更新信封,使用 POST 信封/{envelope_id}/recipients 端点和我从 GET 方法返回的数组作为主体。

但返回以下错误:

“请求正文丢失或格式不正确。无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型 'API_REST.Models.v2.recipientIdentityVerification',因为该类型需要 JSON 对象(例如 {"name" :"value"}) 正确反序列化。

要修复此错误,请将 JSON 更改为 JSON 对象(例如 {"name":"value"})或将反序列化类型更改为数组或实现集合接口的类型(例如 ICollection、IList),例如可以从 JSON 数组反序列化。JsonArrayAttribute 也可以添加到类型以强制它从 JSON 数组反序列化。

路径 'signers[0].identityVerification',第 1 行,位置 120。”

Obs:这是我上次测试时有效(2018 年 12 月)

更新:

我启用了日志,但似乎没有记录错误,如您所见,日志中的所有请求都“正常”,并且我没有找到 POST 信封/{envelope_id}/recipients。

以下是日志文件:

FFIVE
浏览 170回答 2
2回答

繁星点点滴滴

最后我找出了导致问题的原因:显然,从 GETenvelopes/{envelope_id}/recipients返回的 JSON将字段“identityVerification”作为数组返回。但是 POST 仅在“identityVerification”是一个对象时才有效。为了解决这个问题,我在进行 POST 调用之前执行了以下操作:$recipients['signers'][$i]['identityVerification'] = new stdClass();

摇曳的蔷薇

由于您没有在 DocuSign 日志中看到错误,而且从错误的措辞来看,我怀疑问题发生在您的机器内,然后再将请求发送到 DocuSign。因此,解决方案是在您的应用程序中进行调试。如需更多帮助,请提供导致错误出现的代码。
随时随地看视频慕课网APP
我要回答