无法使用JSON API创建发票(但XML工作正常)

时间:2015-11-26 14:13:59

标签: json quickbooks intuit-partner-platform quickbooks-online intuit

我可以使用XML V3 QBO API创建新发票:

<Invoice xmlns="http://schema.intuit.com/finance/v3">
       <Line>
            <Description>Installation labor</Description>
            <Amount>420.00</Amount>
            <DetailType>SalesItemLineDetail</DetailType>
            <SalesItemLineDetail>
                <ItemRef>1</ItemRef>
            </SalesItemLineDetail>
        </Line>
      <CustomerRef>58</CustomerRef>
</Invoice>

但我无法使用JSON API执行相同的操作。 JSON有效负载是:

{
  "Line": [
    {
      "Amount": 100.00,
      "DetailType": "SalesItemLineDetail",
      "SalesItemLineDetail": {
        "ItemRef": {
          "value": "1",
          "name": "Services"
        }
      }
    }
  ],
  "CustomerRef": {
    "value": "58"
  }
}

JSON示例返回以下错误:

{"Fault":{"Error":[{"Message":"An application error has occurred while processing your request","Detail":"System Failure Error: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.","code":"10000"}],"type":"SystemFault"},"time":"2015-11-26T06:09:56.540-08:00"}

我正在使用Intuit的开发者控制台执行这两项操作。

由于

2 个答案:

答案 0 :(得分:2)

我不熟悉Intuit的开发者控制台,但在你的xml中你有一个名为&#34; Invoice&#34;的对象,它没有特别出现在JSON对象中,也许:{"Invoice": {"Line":{...}}}

答案 1 :(得分:1)

在测试Invoice json请求时,请在API资源管理器中将内容类型更改为JSON