Using the API to sync data for programs and services
These are some common ways for you to utilize the API to sync data for programs and services.
Near real-time updates
Adobe Workfront uses “Event Subscriptions” (also commonly referred to as webhooks) to send near real-time updates about supported objects and actions, via the API, to your desired endpoint(s). You can expect to receive an update regarding new objects and actions within 5 seconds, but on average updates arrive in approximately 1 second. For additional information about what type of objects are supported, what types of actions are supported, technical details, and examples for how to set up event subscriptions see Event Subscription API and Event Subscription delivery requirements.
Batch updates
Batch updates are a way to configure your system for updates by making periodic requests to Workfront servers. There are a lot of ways to do this, but generally the process consists of having your service make a request to the Workfront API servers and searching for objects that have been created or modified since the last request call. For information about potential requests calls and helpful parameters please see the GET Behavior section from the API basics article.
As you are setting up your service for batch updates here are a few important things to keep in mind:
Entry Dates
Entry dates are stored utilizing ISO 8601 formatting. This standard includes date, time, and timezone infromation.
Example: ISO 8601 date format
2020-05-18T17:00:00:000-0600
Both the date that an object is created and the last date that the object was modified are stored as “entryDate” and “lastUpdateDate”, respectively. For in depth information about Workfront objects, their associated fields, and field names, please see the API Explorer. Notice that the entryDate for any given Workfront object doesn’t change, where as the lastUpdatedDate changes each time the object is modified.
Example: GET reqeust for an issue object, utilizing the lastUpdateDate field. This request would return all issues updated since that specified date.
GET
https://<domain>.my.workfront.com/attask/api/v15.0/OPTASK/search?fields=ID,name,lastUpdateDate&$$LIMIT=200&lastUpdateDate=2020-05-13T18:18:37.255Z&lastUpdateDate_Mod=gte
Journal Entry Object
If you are interested in obtaining changes regarding a specific field on an object then you can query the “Journal Entry” object. The Workfront Journal Entry object can be set up to log information about specific object fields any time those fields are modified, see Configure system updates for additional details.
When a field is setup to be logged as a part of the Journal Entry object a corresponding Journal Entry will be created every time that field is modified. Then, you can query the Journal Entry object using an API call similar to the following:
GET https://{{domain}}.my.workfront.com/attask/api/v15.0/JRNLE/search?fields=newTextVal,oldTextVal,newDateVal,oldDateVal,newNumberVal,oldNumberVal,entryDate,objObjCode,objID,fieldName&fieldName=name&objObjCode=OPTASK&entryDate=2020-05-13T18:18:37.255Z&entryDate_Mod=gte