When I send an update request to the QBO V2 api, I get back an 'internal server error' response. These requests used to work; I even have an unchanged unit test from before specifically for this request that no longer works.
All of my other request types seem to still be working. Normally QBO gives pretty decent error messages if it's something I messed up with the request.
Has anyone else run into a similar issue recently, or have any ideas on what I could be doing that wouldn't result in a normal error message?
Here's a copy of one of the requests:
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>
Can you please try the following XML in ApiExplorer. It worked fine for me. ApiExplorer - https://developer.intuit.com/apiexplorer?apiname=V2QBO
Please change the Id and Synctoken, Name etc with correct test data.
PN - Looks like customeFields in the post body are not supported while updating QBO Customer. https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0400_quickbooks_online/customer
Please let me know if it works for you.
Thanks