QuickBooks (QBD) SyncActivity inconsistent behavior? - quickbooks

I am using QuickBooks (QBD) SyncActivity API to get the information about Quickbooks Desktop synchronizations.But sometime when I call SyncActivity API I didn't get response and sometimes I get response.
Is there any connectivity issue with cloud or Is there anyting I'm missing to specify to get details from cloud, below is Request and code for more details,
//Sync Activity details
Intuit.Ipp.Data.Qbd.SyncActivityRequest syncActivityRequest = new SyncActivityRequest();
var syncStatuses = dataServices.GetSyncActivity(syncActivityRequest);
syncActivity Request,
<?xml version="1.0" encoding="utf-8"?>
<SyncActivityRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.intuit.com/sb/cdm/v2" />
Please share your views and suggessions.
Thanks,
Reshma D.

You pass in a begin and end time stamp and you will get a response if there was any sync activity within the time span that you specified. There may or may not be something to return
<?xml version="1.0"?>
<SyncActivityRequest xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.intuit.com/sb/cdm/v2 RestDataFilter.xsd ">
<OfferingId>ipp</OfferingId>
<StartCreatedTMS>2011-06-02T08:31:25.0Z</StartCreatedTMS>
<EndCreatedTMS>2011-06-02T08:31:28.0Z</EndCreatedTMS>
</SyncActivityRequest>
Thanks
Jarred

Related

Sending a SOAP request using Postman

I'm trying to send a SOAP request to the Loqate services following their API documentation found here.
The documentation says the SOAP end point is
https://api.addressy.com/Capture/Interactive/Find/v1.1/wsdlnew.ws
and the sample request is:
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Find
xmlns="http://api.addressy.com/">
<Key>AA11-AA11-AA11-AA11</Key>
<Text>wr5 3da</Text>
<IsMiddleware>True</IsMiddleware>
<Container>GB|RM|ENG|3DA-WR5</Container>
<Origin>52.182,-2.222</Origin>
<Countries>GB,US,CA</Countries>
<Limit>10</Limit>
<Language />
<Bias />
<Filters />
<GeoFence />
</Find>
</soap:Body>
</soap:Envelope>
So I load up Postman and make these steps, following the Postman guide from their blog.
When I send the request, I just get back this page . I'm not sure why it's not working.
How can I make a SOAP request to this API? What am I missing?
That's not the service endpoint, it's an address where you can get the WSDL. Inside that WSDL you will find the service endpoint:
<soap:address location="http://services.postcodeanywhere.co.uk/Capture/Interactive/Find/v1.10/soapnew.ws"/>
Send your request there. The endpoint is over http, but the https seems to be working on the same address: https://services.postcodeanywhere.co.uk/Capture/Interactive/Find/v1.10/soapnew.ws
One other thing. If you want a more specific client than Postman, you could try SoapUI.

Get taxonomy term store in iOS SharePoint client

I couldn't get any lead info on how to retrieve a taxonomy term store using REST API in an iOS app.
Any information will be highly appreciated. Thanks.
EDIT
According to this article, managed taxonomy data cannot be consumed from REST.
Though, this can be done using JSOM (sp.taxonomy.js), so it seems reasonable to ask if the same stuff can be ported to iOS or other platforms.
I managed to get taxonomy terms by POSTing this SOAP message to _vti_bin/TaxonomyClientService.asmx:
<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Body>
<GetKeywordTermsByGuids xmlns='http://schemas.microsoft.com/sharepoint/taxonomy/soap/'>
<termIds><id>64d031b6-76bb-49ec-a3b3-cb42b8f0953b</id></termIds>
</GetKeywordTermsByGuids>
</soap:Body>
</soap:Envelope>
If you need to include more than one guid in the termIds node, you must post it in an XML format like this:
<set>
<id>guid1</id>
<id>guid2</id>
...
</set>
and, of course, HTML escaped.

Quickbooks error message: something has been deleted

When we sent some data to Quickbooks Online to sync up, the following error was returned. The values looked fine. How to further investigate this problem?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FaultInfo xmlns="http://www.intuit.com/sb/cdm/baseexceptionmodel/xsd">
<Message>Something you're trying to use has been deleted. Check the fields with accounts, customers, items, vendors or employees.</Message>
<ErrorCode>-20403</ErrorCode>
<Cause>SERVER</Cause>
</FaultInfo>
<?xml version="1.0" encoding="UTF-8"?>
<Bill xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:ns2="http://www.intuit.com/sb/cdm/qbo">
<Header>
<DocNumber>D968866A85B</DocNumber>
<TxnDate>2014-05-18</TxnDate>
<Note>April Home Based Expenses</Note>
<VendorId>2014</VendorId>
<TotalAmt>-150.00</TotalAmt>
</Header>
<Line>
<Desc>Internet/Online Fees:Home Based Expenses:Troy Cable</Desc>
<Amount>50.00</Amount>
<ClassId idDomain="QBO">3000000000000299133</ClassId>
<AccountId idDomain="QBO">51</AccountId>
</Line>
<Line>
<Desc>Mobile/Cellular Phone:Home Based Expenses:Verizon Wireless</Desc>
<Amount>100.00</Amount>
<ClassId idDomain="QBO">3000000000000299133</ClassId>
<AccountId idDomain="QBO">51</AccountId>
</Line>
</Bill>
I searched online and found that could be a bad bank account. But no bank account is in this XML string we sent.
Either your vendor, 2014, or account, 51, reference has been deleted. Check each manually on QBO or with an API call.

Cannot get records for particular meeting

Cannot figure out how to properly send request to get all records, which are corresponding to the meeting.
From this request mysite.adobeconnect.com/api/xml?action=sco-info&sco-id=1087877981
I get such response:
<?xml version="1.0" encoding="utf-8"?>
<results>
<status code="ok"/>
<sco account-id="1051298934" disabled="" display-seq="0" folder-id="1057190786" icon="meeting" lang="en" max-retries="" sco-id="1087877981" source-sco-id="1051270965" type="meeting" version="3">
<date-begin>2013-08-20T03:15:00.000-07:00</date-begin>
<date-created>2013-08-20T03:30:04.200-07:00</date-created>
<date-end>2013-08-20T04:15:00.000-07:00</date-end>
<date-modified>2013-08-20T06:39:45.927-07:00</date-modified>
<name>DevTeam Meeting 2</name>
<url-path>/devmeeting2/</url-path>
<update-linked-item>true</update-linked-item>
</sco>
<source-sco>
<source-sco account-id="1051298934" disabled="" display-seq="0" folder-id="1051270964" icon="meeting" lang="en" max-retries="" sco-id="1051270965" source-sco-id="-8888" type="meeting" version="1">
<date-created>2012-05-15T14:09:07.453-07:00</date-created>
<date-modified>2013-08-13T16:33:57.600-07:00</date-modified>
<name>Default Meeting Template</name>
<url-path>/defaultmeetingtemplate/</url-path>
</source-sco></source-sco>
</results>
Where I see folder-id="1057190786" and sco-id="1087877981", but when I'm trying to get records for this meeting, using folder-id or sco-id according to documentation with requests
mysite.adobeconnect.com/api/xml?action=list-recordings&folder-id=1057190786
or
mysite.adobeconnect.com/api/xml?action=list-recordings&folder-id=1087877981
I receive:
<?xml version="1.0" encoding="utf-8"?>
<results>
<status code="invalid">
<invalid field="action" type="enum" subcode="no-such-item"/>
</status>
</results>
You should use another API method to get the recordings. They listed in the "scos" container, "url-path" element is what you need.
You should try the sco-contents method...
/api/xml?action=sco-contents&filter-icon=archive&sco-id=1087877981
Get your meeting contents calling sco-contents
You will find your records in those sco with icon="archive"
Don't use "list-recordings" as is not available anymore.
Reference (Sep. 20, 2016)
Provides a list of recordings (FLV and MP4) for a specified folder. The service and hence the API is no longer available.
Docs here.

Intuit anywhere API telling me that a field is required when it's already specified

I am trying to create an invoice in QB for windows. Here is the XML:
<?xml version='1.0' encoding='utf-8'?>
<Add xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.intuit.com/sb/cdm/v2" xsi:schemaLocation="http://www.intuit.com/sb/cdm/V2./RestDataFilter.xsd " RequestId="1836474224e142c9ad9b7dd6cb0eaa41" FullResponse="true">
<OfferingId>ipp</OfferingId>
<ExternalRealmId>596059545</ExternalRealmId>
<Invoice>
<Header>
<TxnDate>2013-01-30</TxnDate>
<DiscountAmt>0</DiscountAmt>
<ARAccountName>Sales - Support and Maintenance</ARAccountName>
<DiscountAccountName>Discounts/Refunds</DiscountAccountName>
<DueDate>2013-02-17</DueDate>
<Currency>USD</Currency>
<CustomerId>4</CustomerId>
</Header>
<Line>
<Qty>1</Qty>
<UnitPrice>7.00</UnitPrice>
<Desc>Follow-up Test, Instant for Person138-Org3 Person138-Org3</Desc>
</Line>
</Invoice>
</Add>
Here's the response:
-2001: cvc-complex-type.2.4.a: Invalid content was found starting with element 'ARAccountName'. One of '{"http://www.intuit.com/sb/cdm/v2":DiscountAccountId, "http://www.intuit.com/sb/cdm/v2":DiscountAccountName, "http://www.intuit.com/sb/cdm/v2":DiscountTaxable, "http://www.intuit.com/sb/cdm/v2":TxnId}' is expected.
I don't understand, as I already have DiscountAccountName specified. I also tried to go with something more like the create example (same as above but with ARAccountName and DiscountAccountName removed) and got a similar response. Thanks in advance for your help.
The Intuit XML requests are validated by an XSD, and with XML validated by XSDs the order of the tags you provide matters.
That means that if the documentation (https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/0500_QuickBooks_Windows/0600_Object_Reference/Invoice) dictates that ARAccountName comes before DiscountAmt, then you must put ARAccountName before DiscountAmt.
Switch the order of your XML tags to match the order shown in the docs, and you'll be all set.

Resources