如何使用QuickBooks Online Plus更新手头数量的项目

时间:2015-12-02 18:46:47

标签: json quickbooks-online

我正在使用QuickBooks Online Plus,这意味着我可以编辑该项目。我想使用API​​来改变项目的#手头。我通过QuickBooks Online Plus创建了一个“test1”项。当我从API读取项目时,我在附加的json文件中得到以下内容。事情看起来很棒,如下:

{
  "QueryResponse": {
    "Item": [
      {
        "Name": "test1",
        "Active": true,
        "FullyQualifiedName": "test1",
        "Taxable": false,
        "UnitPrice": 3,
        "Type": "Inventory",
        "IncomeAccountRef": {
          "value": "60",
          "name": "Sales of Product Income"
        },
        "PurchaseCost": 1,
        "ExpenseAccountRef": {
          "value": "61",
          "name": "Cost of Goods Sold"
        },
        "AssetAccountRef": {
          "value": "62",
          "name": "Inventory Asset"
        },
        "TrackQtyOnHand": true,
        "QtyOnHand": 6,
        "InvStartDate": "2015-12-02",
        "domain": "QBO",
        "sparse": false,
        "Id": "19",
        "SyncToken": "1",
        "MetaData": {
          "CreateTime": "2015-12-01T14:38:23-08:00",
          "LastUpdatedTime": "2015-12-01T14:38:42-08:00"
        }
      }
    ],
    "startPosition": 1,
    "maxResults": 1
  },
  "time": "2015-12-02T09:59:29.936-08:00"
}

但是当我尝试使用下面的json对象更新该项时:

{
        "Name": "test1",
        "Active": true,
        "Taxable": false,
        "UnitPrice": 3,
        "Type": "Inventory",
        "IncomeAccountRef": {
          "value": "60",
          "name": "Sales of Product Income"
        },
        "PurchaseCost": 1,
        "ExpenseAccountRef": {
          "value": "61",
          "name": "Cost of Goods Sold"
        },
        "AssetAccountRef": {
          "value": "62",
          "name": "Inventory Asset"
        },
        "TrackQtyOnHand": true,
        "QtyOnHand": 16,
        "InvStartDate": "2015-12-02",
        "domain": "QBO",
        "sparse": false,
        "Id": "19",
        "SyncToken": "2"
}

,我收到了这样的错误:

{"Fault":{"Error":[{"Message":"Stale Object Error","Detail":"Stale Object Error : You and seven.li@hotschedules.com were working on this at the same time. seven.li@hotschedules.com finished before you did, so your work was not saved.","code":"5010","element":""}],"type":"ValidationFault"},"time":"2015-12-02T10:42:52.466-08:00"}

我想更新现有数量。有谁知道什么是错的,怎么做?谢谢。

1 个答案:

答案 0 :(得分:0)

问题在于" SyncToken"。我相信当你尝试更新新项目时,你不应该增加" SyncToken",你应该保持相同。 QBO将更新" SyncToken"为了你。