Xero API - 请求包含有效和无效元素时的响应

Xero API - response when request has valid and invalid elements

我正在使用 Xero API post 向 Xero 开具多张发票。

如果所有发票都有效​​,这就可以正常工作。我收到带有新创建发票的 GUID 的 HTTP 200 响应。

但是,如果其中一张发票有错误,我会收到带有 ValidationException 的 BadRequest 响应。

我希望 xero 系统能够以交易方式工作,如果任何发票有验证错误,那么将创建 none 个。但是,我观察到我的请求中的有效发票仍会在系统中创建,即使请求中存在无效发票也是如此。

问题是来自 Xero API 的响应只有验证错误的详细信息。我在响应中的任何地方都没有得到新创建的有效发票的详细信息。所以我无法知道这些新发票的 GUID 是什么。

有没有其他人遇到过这样的问题,他们是如何克服的?

我不愿意单独发送发票,因为他们自己的指南建议同时 post 发送多个实体以避免超过 API 的速率限制。

默认情况下,当 PUT/POST 请求中的一个或多个资源无效时,Xero API returns 一个 "summarized" 错误视图。

如果您查看 this page of our docs 上的 创建许多资源 部分,您将看到一个示例,说明如何使用查询参数 ?SummarizeErrors=false.

干杯, 马特