Webhooks
Introduction
It’s possible to retrieve change-events of calculated totals with webhooks.
Caution
Read the Webhooks page. There is important information on required implementation!
Tip
Check the Swagger page for more technical information on the endpoints.
Endpoint details
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/webhooks
Body properties
This list of properties is applicable for this endpoint.
| Property | Type | Description |
|---|---|---|
destinationUrl |
string | The URL where webhook notifications will be sent. |
collectionName |
string | The name of the collection to subscribe to (calculated-totals). |
Event properties
This list of properties is posted to your consumer endpoint.
| Property | Type | Description |
|---|---|---|
changeVersion |
string | Property to indicate the order of changes. |
id |
integer | Unique identifier for the calculated totals record. |
person.id |
integer | Internal ID the person whom these totals belong to. |
date |
string | Date for which the totals are calculated (YYYY-MM-DD). |
normalTimeDurationInMinutes |
integer | Normal working time in minutes for the date, configured on a schedule. |
timePresentDurationInMinutes |
integer | Minutes the person was present on that date. |
calculatedPresenceDurationInMinutes |
integer | Calculated presence duration in minutes (after rules/corrections). |
weeklyHours1DurationInMinutes |
integer | Weekly hours (type 1) in minutes. The type depends on the configuration in myProtime |
weeklyHours2DurationInMinutes |
integer | Weekly hours (type 2) in minutes. The type depends on the configuration in myProtime |
weeklyHours3DurationInMinutes |
integer | Weekly hours (type 3) in minutes. The type depends on the configuration in myProtime |
payPeriodHoursDurationInMinutes |
integer | Pay period hours in minutes. |
flextimeDurationInMinutes |
integer | Flextime accumulated for the date in minutes. |
flextimeBalanceInMinutes |
integer | Flextime balance in minutes after this date’s totals are applied. |
shiftDefinition.id |
integer | Internal ID of a linked shift definition. |
External references
It’s possible to use predefined external references and custom external references. More information can be found on the External References Page
For a list of predefined external references, see the external reference options section.
Note
Check the query options below the endpoint on the Swagger page for the relevant external references.
Good to know
Shift definition behaviour
The shift definition shown in the calculated totals response is determined by a priority waterfall. This waterfall defines where the system retrieves the shift information from, in the following order:
-
Schedule
The default shift assigned in the day program for that specific date. -
Shift adjustments via rules or calculations
If the shift is modified by if…then rules or other calculation logic (e.g., based on conditions like overtime, exceptions), this updated shift takes precedence over the day program.
Important
The calculated totals response does not distinguish the exact origin of the shift (e.g., whether it came from the day program or a rule). It simply reflects the result after applying the first two levels of the waterfall.
Examples
Creating a webhook for calculated totals
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/webhooks
{
"destinationUrl": "https://www.fictional-customer.com/protime/calculated-totals",
"collectionName": "calculated-totals"
}