0

當我向QBO V2 API發送更新請求時,我收到了'內部服務器錯誤'響應。這些請求曾用於工作;我甚至有一個沒有改變的單元測試,專門針對這個不再起作用的請求。QBO Api上的「內部服務器錯誤」更新調用

我所有的其他請求類型似乎仍然有效。通常情況下,如果QBO與請求混淆,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>[email protected]</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> 
+0

它什麼時候開始發生,它還在繼續? –

+0

由於我沒有儘可能多的涉及更新客戶的用例,所以在過去幾天我只注意到它。我剛剛做了一次更新估計狀態的測試,但仍然有效。所以我的基本更新請求代碼應該沒問題,這只是嘗試更新客戶時出現的問題。 – shader

回答

3

能不能請你在ApiExplorer以下XML。它爲我工作得很好。 ApiExplorer - https://developer.intuit.com/apiexplorer?apiname=V2QBO

請用正確的測試數據更改Id和Synctoken,Name等。

PN - 更新QBO Customer時不支持post body中的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>[email protected]</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> 

請讓我知道它是否適合您。

謝謝

+0

謝謝,那正是問題所在。現在我只是在發佈前刪除CustomFields,並且更新功能正常。關於這個令人討厭的部分是我從來沒有真正自己添加這些自定義字段;它們是來自客戶「GET」請求的響應的一部分。 – shader