Quickbooks API和检测已删除的项目

use*_*814 2 quickbooks

我正在使用Quickbooks XML API来导入销售人员,项目和客户.一切都很好,但我还没弄清楚如何处理Quickbooks中删除的内容.在我的系统中查询导入的数据不是一种选择,因为我有20,000多个销售人员.我的问题是,Quickbooks是否有删除项目的查询?

Kei*_*Jr. 6

适用于Windows的QuickBooks:

如果您使用的是QuickBooks for Windows,那么您可以TxnDeletedQueryRq请求获取最近删除的事务列表.

例:

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="9.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <TxnDeletedQueryRq>

            <!-- TxnDelType may have one of the following values: ARRefundCreditCard, Bill, BillPaymentCheck, BillPaymentCreditCard, BuildAssembly, Charge, Check, CreditCardCharge, CreditCardCredit, CreditMemo, Deposit, Estimate, InventoryAdjustment, Invoice, ItemReceipt, JournalEntry, PayrollLiabilityAdjustment [PRIVATE], PayrollPriorPayment [PRIVATE], PayrollYearToDateAdjustment [PRIVATE], PurchaseOrder, ReceivePayment, SalesOrder, SalesReceipt, SalesTaxPaymentCheck, TimeTracking, TransferInventory, VehicleMileage, VendorCredit -->

            <TxnDelType>Invoice</TxnDelType>
            <TxnDelType>ReceivePayment</TxnDelType>
        </TxnDeletedQueryRq>
    </QBXMLMsgsRq>
</QBXML>
Run Code Online (Sandbox Code Playgroud)

这里的例子:

可以在QuickBooks OSR中找到可以设置所有选项/标志的完整语法:

在线快速书:

如果您使用的是QuickBooks Online,则可以使用CDC请求轮询最近更改的数据,包括已删除的内容.

https://quickbooks.api.intuit.com/v3/company/1234/cdc?entities=Class,Item,Invoice&changedSince=2012-07-20T22:25:51-07:00
Run Code Online (Sandbox Code Playgroud)

将返回如下内容:

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2013-04-03T10:36:19.393Z">
   <CDCResponse>
    <QueryResponse>
        <Customer>...
        </Customer>
        ...
Run Code Online (Sandbox Code Playgroud)

其中一些可能有一个status="Deleted"属性让你知道它已被删除.