Jobsite Last Updated Field?

Hi there,

We are looking to do a somewhat event-driven integration of Jobsites from Quantify into our homegrown accounting system.

I am fairly far down the line with getting things stood up, but we would like to have this be an integration that runs every few minutes and checks if there are any updated jobs whose updated data needs to be brought over to the accounting system (so not quite event-driven integration, but fairly close).

To do this, I will need the ‘audit log’ data for Jobsites - where is this located? I.e. last updated date/created date, and updated by user/created by user? Currently I am most familiar with the StockingLocationList class and do not see any fields that jump out at me there.

Please let me know if you need more information from me on this, and thanks so much for the assistance.

Cheers,
Alex

Hi Alex.

StockingLocation object may be used to retrieve Jobsite information from Quantify as below -

StockingLocation jobsite = StockingLocation.GetStockingLocation(“Jobsite-Name”, false);

Each StockingLocation has a VersionStamp property which may be used to identify if details of the Jobsite has been updated by comparing it against a saved copy of the VersionStamp

jobsite.VersionStamp

However, when it comes to Billing & Invoicing, the details of Billing Method can be found in the StockingLocation while invoice data are available in Invoice objects.

Hello,

Thanks so much for the timely response. I was able to get at the VersionStamp field just fine.

A couple follow-up questions now that I understand how it works:

Question 1:

Do you have a code example of a method that takes in an array (or xml document/flat file) as a parameter that contains (1) Jobsite numbers and (2) their respective VersionStamps (from a database where we are logging the VersionStamps from past integrations), and returns an xml document (or other file type) of all of the jobs that have VersionStamps different from when the process last ran?

I am struggling a bit with how to pass in that list of Jobsites/VersionStamps and process the list to return that list of updated jobsites. I am using VB.NET as my language for the web service I am creating to call the API, but if the example is in C# I can convert.

Question 2:

Is this the recommended way for going about an integration like this (i.e. a ‘poll’/‘pull’ methodology)? Or does Quantify have the ability to generate a ‘push’ integration, where I can configure my web service to run anytime a user makes a change to a record in the Quantify client, and only send the record through the integration individually?

This would be most optimal in terms of performance obviously, but I am curious if that is the recommended approach (or even possible) in this context. My first thought is to create a listener on my web service’s side but that would still leave the piece of Quantify pinging the web service.

Please let me know if anything I said above does not make sense; thanks so much again for your assistance.

Best,
Alex

Hello,

Just checking in on this - I realize the questions above are a bit open-ended so please let me know if you’d like me to be more specific or give more details about what I’m asking.

Thanks so much,
Alex

Question 1

At this moment, we can only fetch Jobsite/Location collection from API filtered by the available criteria, which does not include passing in array of Jobsite Numbers or VersionStamps. At this point, this may need to be achieved through an API application.

Question 2

Quantify currently does not support “push” for external integration nor has a option to ping external services. At this moment, this may need to be achieved through an API application or service.