Webhooks

Subscribes to change events for the clockings collection.

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

POST
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/webhooks

Headers: Authorization: Bearer {token}, User-Agent: {agent} Scope: connector-protimeapi-webhooks.write and connector-protimeapi-clockings.read

Body properties

Field Type Required Writable Description
destinationUrl string Yes Yes The URL where webhook notifications will be sent.
collectionName string Yes Yes The name of the collection to subscribe to (clockings).

Event properties

Field Type Required Writable Description
changeVersion string — Read-only Property to indicate the order of changes.
id integer — Read-only Unique identifier for the clocking.
calculatedTimeOfDayInMinutes integer — Read-only The time of day in minutes after any corrections or calculations.
isGenerated boolean — Read-only Indicates if the clocking was generated by the system.
originalTimeOfDayInMinutes integer — Read-only Original time of the clocking as registered by the terminal or input source. Only present if the clocking has been edited.
status string — Read-only Status of the clocking (Unknown, Active, Deleted).
person.id integer — Read-only Internal ID of the person who performed the clocking.
date string — Read-only Date of the clocking (YYYY-MM-DD).
timeOfDayInMinutes integer — Read-only Minutes since midnight (-1440 and 2880) representing the time of the clocking on the specified date.
terminal.id integer — Read-only Internal ID of the terminal on which the clocking occurred.
geolocation.longitude number — Read-only Longitude coordinate where the clocking was registered.
geolocation.latitude number — Read-only Latitude coordinate where the clocking was registered.
reason.id integer — Read-only Internal ID of the reason for the clocking (only present if kind is Reason).
isOpen boolean — Read-only Indicates if the reason clocking is open (only present if kind is Reason).
activityLevels array — Read-only Array of activity levels, each with a level and an activityDefinition.id (only present if kind is Activity).
kind string — Read-only Type of clocking (InOut, Reason, Activity, ActivityEnd, or NotSupported for a clocking type that the API does not expose).

Important

A soft-deleted clocking is sent as an event with "changeType": "InsertOrUpdate" and "status": "Deleted", not with "changeType": "Delete". Check both fields to detect every deletion. See Soft-deleted clockings.

External references

The endpoint supports predefined and custom external references. See the external references page for details and the predefined options list.

The following collections are supported for this endpoint:

Collection Predefined Custom
people @badge-number, @employee-number Supported
terminals @external-code Supported
activity-definitions @data-entry-code, @external-reference Supported
absence-definitions @absence-code Supported

Error responses

Status Condition
400 Invalid destination URL or unknown collection name
401 Missing or invalid access token, or insufficient scope

Success response

201 Created with webhookKey and validUntil in the response body.

Examples

A webhook for clockings

Example for creating a webhook for clockings:

POST
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/webhooks

{
    "destinationUrl": "https://www.fictional-customer.com/protime/clockings",
    "collectionName": "clockings"
}