{lastSuccessfullSyncDateTime}
).
On your side, the implementation should follow a “delete and replace” logic.
This {lastSuccessfullSyncDateTime}
must be stored on your side, as the date and time of the last synchronization in Central European Time (CET) and
ISO-8601 format, eg: 2021-01-01T08:25:45
. It should be updated to the starting DateTime of your synchronization only if the retrieval of timeentries
was a success. In case of any technical error, do not update the {lastSuccessfullSyncDateTime}
as it will allow you to try again.
Since the maximum precision is the minute, and to avoid forgetting any TimeEntries modified at the same time as the synchronization procedure, it is
recommended to round down {lastSuccessfullSyncDateTime}
to the nearest minute.
{yourDomain}
, eg: “https://myawesomecompany.ilucca.net”.{apiKey}
that has access to the TimeEntries of the users concerned by your integration project.layer=notequal,1
filter in your request in order to exclude theoretical working times (these exist for technical reasons).
Please always set this to “1”, no questions asked.
Then, to avoid asking for all TimeEntries every time, you will need to filter your requests to retrieve only what changed since
your {lastSuccessfullSyncDateTime}
using a modifiedAt=since,{lastSuccessfullSyncDateTime}
.
The synchronization can optionally be done per owner ownerId
or per legal establishment owner.legalEntityId
.
api/v3/timeentries
endpoint is paginated, you cannot retrieve more than 10,000 items in a single GET request. Use the collection.count
field to get the total number of elements that meet the criteria of your query before iterating over pages of content.
?orderby={fieldName},{direction}
query parameters, that takes two comma-separated values:
fieldName
: the name of the ressource’s field to sort on (recommended: id
).direction
: can be either asc
(ascending order) or desc
(descending order).collection.count
field to get the number of items matching your filtering criterion.
archivedAt=notequal,null
.
Or, if you are doing periodic synchronization, archivedAt=since,{lastSuccessfullSyncDateTime}
.
archivedAt
field to a not null value.