我在我的网站上集成了快速手册。我正在通过 XML 发送请求以在 Quickbook 中添加发票。
长期以来它工作正常。现在我想通过 Quickbook API 检查重复发票,因为有时我们无法从 Quickbook 获得添加发票的响应,所以我们再次发送添加发票的请求,以便它获取重复发票,所以如果 Quickbook 的任何 API 有助于检查重复发票之前通过 api 添加任何发票。
我在快速手册文档上找不到任何用于检查重复发票的 api。
谢谢
我在我的网站上集成了快速手册。我正在通过 XML 发送请求以在 Quickbook 中添加发票。
长期以来它工作正常。现在我想通过 Quickbook API 检查重复发票,因为有时我们无法从 Quickbook 获得添加发票的响应,所以我们再次发送添加发票的请求,以便它获取重复发票,所以如果 Quickbook 的任何 API 有助于检查重复发票之前通过 api 添加任何发票。
我在快速手册文档上找不到任何用于检查重复发票的 api。
谢谢
如果您没有 TxnID,则确实无法在 QuickBooks 中检测“重复”发票。
您可以获得的最接近的是通过 RefNumber 进行查询(QuickBooks qbXML 用于通过 RefNumber 进行查询),但是因为 QuickBooks 允许重复的 RefNumbers(即在 QuickBooks 中拥有两个或多个 Invoice #1234 是完全有效的),因此无法保证您收到的发票来自该查询的是您创建的发票。
综上所述,听起来您正在尝试解决错误的问题。您正在尝试解决此问题:
现在我想通过 Quickbook API 检查重复发票
当您应该尝试解决此问题时:
有时我们无法从 quickbook 获得添加发票的回复
如果您在谈论 QuickBooks Online
您应该始终从 QuickBooks Online 服务器获得某种 HTTP 响应。如果您没有收到回复,可能是您等待响应的时间不够长,或者您的代码中有错误,无法正确处理响应。
您可以发布您的 cURL curl_getinfo($curl) 输出,以及代码中 ->lastRequest() 和 ->lastResponse() 的结果吗?
如果您正在谈论适用于 Windows 的 QuickBooks
重要的是要认识到 QuickBooks 和 Web 连接器将始终尝试向您发送响应(QuickBooks Web 连接器文档)。总是。您可能完全错过响应的唯一方法是如果您失去了互联网连接,即使那样您至少应该知道请求是否已发送到 QuickBooks,因此知道不要再次发送它。
如果您没有收到回复,那么您有 99.9% 的可能性是您做错了事情,导致您没有收到回复。
底线:
You should focus on why you're not getting the responses in your program and fix the source of this problem, rather than trying to fix a symptom.