我使用 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。以下是日志文件:
2 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
最后我找出了导致问题的原因:
显然,从 GETenvelopes/{envelope_id}/recipients
返回的 JSON将字段“identityVerification”作为数组返回。但是 POST 仅在“identityVerification”是一个对象时才有效。
为了解决这个问题,我在进行 POST 调用之前执行了以下操作:
$recipients['signers'][$i]['identityVerification'] = new stdClass();
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
由于您没有在 DocuSign 日志中看到错误,而且从错误的措辞来看,我怀疑问题发生在您的机器内,然后再将请求发送到 DocuSign。
因此,解决方案是在您的应用程序中进行调试。如需更多帮助,请提供导致错误出现的代码。
- 2 回答
- 0 关注
- 169 浏览
添加回答
举报
0/150
提交
取消