查询和导入请求之间的区别是什么?

时间:2015-02-06 05:15:07

标签: php quickbooks quickbooks-online

使用QuickBooks PHP DevKit,我注意到有很多类型的请求,其中大部分都映射到qbXML API中的特定请求。然而,有两个要求脱颖而出,我不确定有什么区别。这是一个例子:

QUICKBOOKS_QUERY_INVOICE
QUICKBOOKS_IMPORT_INVOICE

另一个

QUICKBOOKS_QUERY_DELETEDTXNS
QUICKBOOKS_IMPORT_DELETEDTXNS

这两者有什么区别?它们分别映射到qbXML中的InvoiceQueryTxnDeletedQuery ...为什么要区分它们?

1 个答案:

答案 0 :(得分:1)

如果您需要区分批量导入数据和查询特定记录/记录集,它们只是作为方便常量提供的。

例如,考虑一个场景,您正在使用您的应用程序对QuickBooks客户进行完全双向同步 - 无论何时QuickBooks中的某些内容发生变化,您都会获得更改,并且每当应用中的某些内容发生变化时,您都会推动更改到QuickBooks。

这要求您能够:

  1. 每隔一段时间轮询QuickBooks以更改所有内容("导入"来自QuickBooks的数据)
  2. 要在QuickBooks中修改客户,首先需要查询该客户,以获取最新的QuickBooks EditSequence值("查询"为该特定客户获取{{1} })
  3. 因此,为方便起见,我们提供了两个单独的常量,以便您可以区分这两种不同类型的请求。

    意识到所有的常量都只是为了方便 - 你使用的是什么值/常数并不重要,只要你在$ map中拥有的内容与你排队的{匹配'相同{1}} 的。例如,这也可以正常工作:

    EditSequence

    所有框架都将$Queue->enqueue($action, $id, ...)参数与$map = array( 'YourMommyWearsArmyBoots' => array( 'your_request_callback', 'your_response_callback' ) ); ... $Queue->enqueue('YourMommyWearsArmyBoots', $id); 匹配到$action中的相应键。