Quickbooks Desktop通过REST API发送信息

时间:2013-12-12 19:52:50

标签: php api rest quickbooks intuit-partner-platform

很快我将需要在Quickbooks Desktop和PHP网站之间进行集成。我知道存在一个PHP QuickBooks类,它有助于集成,但据我所知,只有在PHP站点启动与桌面应用程序联系时才有效。我需要在QuickBooks上创建采购订单和/或产品时,它会自动(并立即)使用REST API将信息发送到我的网站。考虑到将连接多个QuickBooks Desktop实例(我们将允许客户使用我们将构建的QuickBooks应用程序),不得不经常检查所有这些QuickBooks Desktop实例是否有任何新的采购订单是不切实际的。或自我们上次检查后创建的产品。

有没有办法以某种方式向QuickBooks添加代码,以便使用REST API将采购订单和产品(创建时)发送到我的网站?

谢谢

1 个答案:

答案 0 :(得分:2)

QuickBooks本身并没有任何可靠的方法来捕获您正在谈论的事件,也没有任何方法可以将这些事件转发到外部REST API。所以,你不会找到完全你正在寻找什么 - 这是不可能的。

通过上述,您可以通过让外部应用程序定期轮询QuickBooks(通常每隔几秒钟)从中获取新数据来关闭,并且然后将数据传递到REST API。

最简单的方法是通过Web连接器。它可以频繁地轮询1分钟,并且能够完全按照你所说的去做。如果您想使用Web连接器,最好的选择可能是this open-source QuickBooks PHP DevKit(免责声明:我是作者)。你可以开始with the Web Connector quick-start guide

更难方式,但更灵活的方式是编写与QuickBooks并排的自定义QuickBooks SDK应用程序,定期轮询QuickBooks,并将数据传递到您的应用程序。如果你想这样做,你应该看看the QuickBooks SDK - 它里面有一些C#和VB.NET例子,这些例子应该证明是有用的。

一些具体的说明:

  

但据我所知,仅当PHP站点是启动与桌面应用程序联系的站点时才有效。

实际上没有 - 它仅在 Web连接器(与QuickBooks一起运行)启动通信时才有效。但您可以将其设置为每1分钟运行一次,这使得它几乎不断运行并将数据推送到您的应用程序。

  

会自动

使用Web连接器或自定义SDK应用程序即可轻松实现。

  

(即时)

这不可行。 QuickBooks甚至没有足够快的性能来即时中继数据。您永远不会从QuickBooks获得即时数据传输,所以现在就忘了它。 (当你意识到QuickBooks中有很多东西可以完全锁定甚至连接到数据文件的集成应用程序时,这是尤其的情况 - 单用户模式,QuickBooks自动更新,QuickBooks没有正在运行,QuickBooks中的用户太多等。)

  

使用REST API将信息发送到我的网站。

如果使用Web连接器,您的网站会收到数据,然后您可以对其进行转换并将其发送到REST API。

如果使用自定义SDK应用,您可以编写自定义代码来做到这一点没问题。

  

不得不经常检查所有这些QuickBooks Desktop实例是否有自我们上次检查以来创建的任何新的采购订单或产品。

你确定吗?我们每天都会为成千上万的人提供可靠的功能不足的硬件。