Pluvo supports webhooks that send you notifications for important events, such as changes in users, trainings, groups, progress, or portfolio items. These are sent as POST requests to an endpoint you have configured.
Each webhook contains two headers:
X-SignatureX-Signature-SaltYou can use these to verify if the request is valid. The verification works as follows:
X-Signature-Salt header with your Pluvo Webhook Key.X-Signature header.Pluvo sends webhooks for the following events. The payloads are JSON objects, sent via a POST.
Events:
TRAINING_CREATEDTRAINING_UPDATEDTRAINING_DELETEDExample payload
{
"id": "uuid",
"ref": "training-ref",
"event": "TRAINING_CREATED",
"title": "Training X",
"subtitle": "Subtitel Training X",
"introduction": "Introductie text",
"startDate": "2020-02-01",
"endDate": "2021-02-01",
"isActive": true,
"showParticipants": true,
"showSharedFiles": true,
"enableChat": true,
"sentDate": "2020-01-01T10:15:00.000Z",
"extraFields": {
"subject": "Development"
}
} Events:
USER_CREATEDUSER_UPDATEDUSER_DELETEDExample payload
{
"id": "uuid",
"ref": "user-ref",
"event": "USER_CREATED",
"name": "User X",
"email": "test@example.com",
"isActive": true,
"afas_person_id": null,
"afas_employee_id": null,
"extraFields": {
"Afdeling": "Marketing"
},
"sentDate": "2020-01-01T10:15:00.000Z"
} Events:
GROUP_CREATEDGROUP_UPDATEDGROUP_DELETEDExample payload
{
"id": "uuid",
"ref": "group-ref",
"event": "GROUP_CREATED",
"name": "Group X",
"enableChat": true,
"sentDate": "2020-01-01T10:15:00.000Z"
} Events:
EVENT_CONDITIONS_FULFILLEDEVENT_FILE_UPLOADEDEVENT_CERTIFICATE_ACHIEVEDUsage: These events come from learning paths when a module group is unlocked, a file is uploaded, or a certificate is achieved.
Example payload
{
"id": "uuid",
"ref": "module-group-ref",
"event": "EVENT_CONDITIONS_FULFILLED",
"training": { ... },
"user": { ... },
"conditions": [ ... ],
"file": "https://files.pluvo.co/..."
} Events:
PORTFOLIO_ITEM_CREATEDPORTFOLIO_ITEM_UPDATEDPORTFOLIO_ITEM_DELETEDExample payload
{
"id": "uuid",
"user": { ... },
"title": "Portfolio item title",
"description": "Portfolio item description",
"start_date": "2023-08-05T00:00:00+02:00",
"end_date": "2023-08-17T00:00:00+02:00",
"files": [ "https://files.pluvo.co/..." ],
"sentDate": "2023-08-07T10:52:28.819Z",
"event": "PORTFOLIO_ITEM_CREATED"
} Event:
COURSE_FINISHEDExample payload
{
"id": "uuid",
"score": 0,
"time_spent": {
"days": 0,
"microseconds": 0,
"seconds": 0
},
"user": { ... },
"course": { ... },
"lti": { ... },
"type": "COURSE",
"sentDate": "2023-08-07T12:06:02.178Z",
"event": "COURSE_FINISHED"
} Event:
TRAINING_FINISHEDExample payload
{
"id": "uuid",
"score": null,
"start_date": "2023-08-07T14:38:08+02:00",
"user": { ... },
"training": { ... },
"sentDate": "2023-08-07T12:43:00.976Z",
"event": "TRAINING_FINISHED"
} Event:
ASSIGNMENT_GRADE_UPDATEExample payload
{
"id": "uuid",
"score": 0.1,
"fulfilled": null,
"state": "open",
"user": { ... },
"assignment": {
"id": "uuid",
"event": { ... },
"assignment_type": "participant",
"score_type": "numeral",
"weight": 0
},
"sentDate": "2023-08-07T12:49:07.442Z",
"event": "ASSIGNMENT_GRADE_UPDATE"
}