0

当我向 QBO V2 api 发送更新请求时,我收到“内部服务器错误”响应。这些请求曾经奏效;我什至有一个未更改的单元测试,专门针对这个不再有效的请求。

我所有的其他请求类型似乎仍在工作。通常,如果我弄乱了请求,QBO 会给出相当不错的错误消息。

最近有没有其他人遇到过类似的问题,或者对我可以做什么不会导致正常错误消息有任何想法?

这是其中一个请求的副本:

POST /resource/customer/v2/682571780/1?oauth_version=1.0&oauth_token=*token*&oauth_nonce=*nonce*&oauth_timestamp=1372345998&oauth_signature=*signature*&oauth_consumer_key=*key*&oauth_signature_method=HMAC-SHA1 HTTP/1.1
Host: qbo.sbfinance.intuit.com
Content-Length: 1368
content-type: application/xml
Accept-Encoding: gzip, deflate, compress
Accept: */*
User-Agent: python-requests/1.2.3 CPython/2.7.3 Linux/3.5.0-17-generic

<?xml version='1.0' encoding='ASCII' standalone='yes'?>
<Customer xmlns="http://www.intuit.com/sb/cdm/v2">
  <Id idDomain="QBO">1</Id>
  <SyncToken>49</SyncToken>
  <MetaData>
    <CreateTime>2013-04-10T14:07:41-07:00</CreateTime>
    <LastUpdatedTime>2013-04-25T09:40:40-07:00</LastUpdatedTime>
  </MetaData>
  <Name>Test A. User</Name>
  <Address>
    <Line1>123 Test Drive</Line1>
    <City>Smallville</City>
    <Country>United States of America</Country>
    <CountrySubDivisionCode>WY</CountrySubDivisionCode>
    <PostalCode>12345</PostalCode>
    <GeoCode>LAT=42.8142432,LNG=-73.9395687</GeoCode>
    <Tag>Billing</Tag>
  </Address>
  <Phone>
    <DeviceType>Primary</DeviceType>
    <FreeFormNumber>(123) 456-7890</FreeFormNumber>
  </Phone>
  <WebSite/>
  <Email>
    <Address>test-user@mailinator.com</Address>
  </Email>
  <GivenName>Test</GivenName>
  <MiddleName>A</MiddleName>
  <FamilyName>User</FamilyName>
  <DBAName>Emerging Threats</DBAName>
  <CustomField>
    <DefinitionId>Preferred Delivery Method</DefinitionId>
    <Value>PRINT</Value>
  </CustomField>
  <CustomField>
    <DefinitionId>Resale Number</DefinitionId>
  </CustomField>
  <CustomField>
    <DefinitionId>Bill With Parent</DefinitionId>
    <Value>false</Value>
  </CustomField>
  <ShowAs>Test User</ShowAs>
  <OpenBalance>
    <Amount>20.00</Amount>
  </OpenBalance>
</Customer>
4

1 回答 1

3

您能否在 ApiExplorer 中尝试以下 XML。它对我来说很好。ApiExplorer - https://developer.intuit.com/apiexplorer?apiname=V2QBO

请使用正确的测试数据更改 Id 和 Synctoken、Name 等。

PN - 更新 QBO 客户时,似乎不支持帖子正文中的 customeFields。https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0400_quickbooks_online/customer

<?xml version="1.0" encoding="utf-8"?>
<Customer xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://www.intuit.com/sb/cdm/v2">
    <Id>4</Id>
    <SyncToken>6</SyncToken>
    <MetaData>
        <CreateTime>2013-04-10T14:07:41-07:00</CreateTime>
        <LastUpdatedTime>2013-04-25T09:40:40-07:00</LastUpdatedTime>
    </MetaData>
    <TypeOf>Person</TypeOf>
    <Name>John Doe NEW 2</Name>
    <Address>
        <Line1>123 Test Drive</Line1>
        <City>Smallville</City>
        <Country>United States of America</Country>
        <CountrySubDivisionCode>WY</CountrySubDivisionCode>
        <PostalCode>12345</PostalCode>
        <GeoCode>LAT=42.8142432,LNG=-73.9395687</GeoCode>
        <Tag>Billing</Tag>
    </Address>
    <Phone>
        <DeviceType>Primary</DeviceType>
        <FreeFormNumber>(123) 456-7890</FreeFormNumber>
    </Phone>
    <WebSite/>
    <Email>
        <Address>test-user@mailinator.com</Address>
    </Email>
    <GivenName>Test</GivenName>
    <MiddleName>A</MiddleName>
    <FamilyName>User</FamilyName>
    <DBAName>Emerging Threats</DBAName>
    <ShowAs>Test User</ShowAs>
    <OpenBalance>
        <Amount>20.00</Amount>
    </OpenBalance>
</Customer>

请让我知道它是否适合您。

谢谢

于 2013-06-27T19:16:29.013 回答