Webhooks
Met een webhook kan een entiteit automatisch realtime gegevens of meldingen naar een andere entiteit verzenden wanneer een specifieke gebeurtenis plaatsvindt. Zo kan een toepassing andere toepassingen informatie verschaffen zonder er voortdurend om te vragen. Als een gebruiker bijvoorbeeld een cursus LMS (Learning Management System) voltooit, kan een webhook die informatie automatisch naar een ander platform verzenden, zoals een CRM- of rapportagetool. Webhooks worden vaak gebruikt in integraties om processen te automatiseren en de behoefte aan handmatige updates tussen systemen te verminderen. Stel webhooks in door een callback-URL op te geven waarnaar u de gegevens wilt verzenden.
Webhooks vs API's
Webhooks en API's helpen beide systemen met elkaar te communiceren, maar ze werken op verschillende manieren. Met API's wordt de informatie alleen gedeeld wanneer de gebruiker hierom verzoekt. Als een student bijvoorbeeld voortgangsgegevens van een cursus nodig heeft, stuurt hij of zij een aanvraag naar de API, die de informatie vervolgens verstrekt. Webhooks daarentegen verzenden automatisch gegevens onmiddellijk wanneer een gebeurtenis plaatsvindt. Als een student bijvoorbeeld een cursus voltooit, stuurt hij de gegevens onmiddellijk naar de URL van de listener zonder handmatig verzoeken.
Wat zijn real-time API’s?
Met real-time API's kunnen toepassingen direct gegevens uitwisselen wanneer een gebeurtenis plaatsvindt. In tegenstelling tot traditionele API's, die wachten tot een gebruiker informatie aanvraagt, delen real-time API's gegevens op het moment dat het gebeurt. Webhooks fungeren als een real-time API en helpen de gegevens direct te delen wanneer de opgegeven gebeurtenis plaatsvindt. De real-time API zorgt ervoor dat deze gegevensoverdracht onmiddellijk plaatsvindt zonder dat een handmatig verzoek nodig is, zodat systemen onmiddellijk kunnen worden bijgewerkt.
Webhook-gebeurtenissen
Webhookgebeurtenissen zijn specifieke acties die plaatsvinden in een systeem dat automatisch gegevens verzendt naar een listener-URL. Wanneer een student zich bijvoorbeeld voor een cursus inschrijft, wordt een webhookgebeurtenis getriggerd en worden de inschrijvingsgegevens naar de URL van de listener gestuurd.
Webhookgebeurtenissen zijn geclassificeerd in twee categorieën:
- Real-time gebeurtenissen: De gebeurtenissen worden verwerkt en in real time verzonden naar een doel URL
- niet gebeurtenissen in real time: De gebeurtenissen worden verwerkt in partijen en verzonden op gespecificeerde tijden in plaats van in real time
Listener-URL
Een URL van de Listener is een eindpunt of een doel dat gegevensinformatie ontvangt wanneer een gebeurtenis plaatsvindt. Wanneer een specifieke gebeurtenis plaatsvindt, zoals een gebruiker die zich voor een cursus inschrijft, stuurt het systeem automatisch de gegevens naar deze URL zonder handmatig verzoek. De listener-URL is het adres waar al deze updates worden geleverd.
Webhook verzendt de relevante informatie in JSON-indeling. Hier volgt een voorbeeld van een lading voor een gebeurtenis die in Adobe Learning Manager wordt geactiveerd:
{
"accountId": 1010,
"events": [
{
"eventId": "d5fb7071-10a9-46b2-9f9e-79dde346c052",
"eventName": "COURSE_ENROLLMENT_BATCH",
"timestamp": 1727414643000,
"eventInfo": "1727414643000-047210-84242-0",
"data": {
"userId": 4279332,
"loId": "course:7374992",
"loInstanceId": "course:7376092_10250977",
"loType": "course",
"enrollmentSource": "ADMIN_ENROLL",
"dateEnrolled": 1727414643
}
}
]
}
Webhooks maken en beheren - integratiebeheerder
Volg de onderstaande stappen om Webhooks-integratie te maken in Adobe Learning Manager:
-
Login als Admin van de Integratie.
-
Voor de homepage, uitgezochte Webhooks > voeg Webhook toe.
voeg een webhook toe -
Typ de Naam en Beschrijving van de Webhook.
-
Typ de luisteraar URL als a Doel URL waar u de gebeurtenisgegevens wilt overgaan.
-
Selecteer een van de verificatiemethoden:
Verificatie in Webhooks is een beveiligingsmethode om ervoor te zorgen dat de gegevens die naar een listener-URL worden verzonden, afkomstig zijn van een vertrouwde bron.- niets: Geen vereiste authentificatie.
- Basis: Dit is op referentie-gebaseerde authentificatie. Voer de gebruikersnaam en het wachtwoord in.
- Handtekening: Het systeem leidt tot een speciale handtekening en voegt het aan de webhookgegevens toe. De ontvangende server controleert deze code om ervoor te zorgen dat de gegevens echt zijn en niet zijn veranderd. Genereer een handtekening en gebruik deze voor verificatie. Download de handtekening als JSON.
-
Selecteer de gebeurtenissen Webhook van de gebeurtenissen van de Trekker dropdown.
note note NOTE U kunt de webhooks ook testen door de optie Webhooks testen te selecteren op de pagina Webhook toevoegen. -
Selecteer de knevel van de Status van de Activering om webhook toe te laten. Als deze optie is ingeschakeld, worden gegevens doorgegeven wanneer de geselecteerde gebeurtenissen plaatsvinden.
Webhooks bewerken - integratiebeheerder
Ga als volgt te werk om Webhooks uit Adobe Learning Manager te bewerken:
-
Login als Admin van de Integratie.
-
Selecteer Webhooks op de homepage.
-
Selecteer de webhook die u wilt bewerken.
geef webhook uit -
Selecteer uitgeven om de details van webhook te wijzigen en sparen te selecteren.
Webhooks verwijderen - integratiebeheerder
Ga als volgt te werk om Webhooks uit Adobe Learning Manager te bewerken:
- Login als Admin van de Integratie.
- Selecteer Webhooks op de homepage.
- Selecteer de webhook die u wilt verwijderen.
- Selecteer Schrapping om de webhooks te verwijderen.
verwijder webhook
Webhooks van Adobe - integratiebeheerder
Ga als volgt te werk om de webhooks te archiveren:
- Login als Admin van de Integratie.
- Selecteer Webhooks op de homepage.
- Selecteer de webhook die u wilt bewerken.
- Selecteer uitgeven en maak de Status van de Activering onbruikbaar om webhook te archiveren.
band webhook
Webhooks voor alternatieven webhooks-for-alternates
ALM biedt speciale webhookgebeurtenissen voor alternatieve voltooiing ter ondersteuning van automatisering, integraties en synchronisatie met externe systemen.
Deze gebeurtenissen stellen externe consumenten in staat op een betrouwbare manier onderscheid te maken tussen directe voltooiing en voltooiing via alternatieve relaties.
Overzicht
Wanneer een student een cursus voltooit via een alternatieve of relatie, activeert ALM een webhook-gebeurtenis die los staat van de webhook voor standaardvoltooiing van de cursus. Dit zorgt ervoor dat integraties waar nodig anders kunnen reageren op alternatieve voltooide bewerkingen.
Webhook-gebeurtenissen worden ook geactiveerd wanneer de bewerking met terugwerkende kracht wordt voltooid of terugwerkende kracht wordt voltooid. Dit betreft zowel historische updates als relatiewijzigingen.
Gebeurtenis webhook
- Er wordt een afzonderlijke webhookgebeurtenis geactiveerd wanneer een student de status Voltooid via alternatief ontvangt voor een doelcursus.
- De gebeurtenis wordt gegenereerd wanneer de student een geconfigureerde broncursus voltooit die voldoet aan het doel via een alternatieve relatie.
- Deze webhook wordt niet geactiveerd voor directe voltooiing van de cursus.
- Wanneer retroactief afronden of retroactief voltooien is ingeschakeld, worden webhookgebeurtenissen uitgezonden voor elke betrokken student en doelcursus.
Details webhook-lading
De webhook-lading voor alternatieve voltooiing bevat de volgende sleutelkenmerken:
- Student-id
Hiermee wordt aangegeven welke student de alternatieve voltooiing heeft ontvangen. - Broncursus
De cursus of het leerpad dat de leerling rechtstreeks heeft voltooid. - Doelcursus
De cursus die als voltooid is gemarkeerd via de alternatieve relatie. - Voltooiingsmethode
Geeft aan dat de voltooiingsmethode alternatief is. - Voltooiingsdatum
Voortgekomen uit de voltooiingsdatum van de broncursus. - Relatietype
Geeft aan of de relatie alternatief is.
Voor scenario's met terugwerkende kracht geven webhookgebeurtenissen aan dat een bestaande alternatieve voltooiing is ingetrokken.
Integratieoverwegingen
Externe systemen kunnen deze webhookgebeurtenissen gebruiken om:
- Studentrecords bijwerken
- Voltooiingsstatus synchroniseren
- Meldingen activeren of workflows stroomafwaarts
- Audittrails onderhouden voor nalevingsdoeleinden
Webhookconsumenten moeten expliciet onderscheid maken tussen directe en alternatieve voltooide bewerkingen.
Alternatieve voltooiingen geven geen beloningen voor vaardigheden, badges en gamification. Feedback moet dienovereenkomstig worden verwerkt in downstreamsystemen.
Webhooks voor adaptieve leerpaden
Inleiding
Adobe Learning Manager verstrekt webhookgebeurtenissen die externe systemen meedelen wanneer de voltooiingsstatus van a het leren weg (het leren programma) wordt verfrist. Zo kunt u downstreamsystemen (zoals HR-, rapportage- of analyticsplatforms) synchroniseren wanneer de voltooiingsrecord van een student wordt teruggedraaid of opnieuw berekend.
Er zijn twee nieuwe webhookgebeurtenistypen beschikbaar:
LEARNING_PATH_COMPLETION_ROLLBACK - teweeggebracht wanneer a student de voltooiingsstatus van een het leren weg voor zich vernieuwt.
LEARNING_PATH_COMPLETION_ROLLBACK_BATCH - teweeggebracht wanneer een beheerder de voltooiingsstatus van een het leren weg voor één of meerdere studenten (bijvoorbeeld, via bulkverrichtingen) vernieuwt.
Deze gebeurtenissen gebruiken a gemeenschappelijke ladingsstructuur en kunnen door uw webhook eindpunt worden verbruikt om voltooiingsgegevens op uw kant bij te werken of opnieuw te verwerken.
Gemeenschappelijke ladingstructuur
Elke webhookaanvraag bevat de volgende structuur op hoofdniveau:
{
"accountId": 69735,
"events": [
{
"eventId": "757b9d58-048c-4ae2-9fff-35f9def7ef29",
"eventName": "LEARNING_PATH_COMPLETION_ROLLBACK",
"timestamp": "2026-01-20T05:48:10.000Z",
"eventInfo": "1768888090000-197513-137581-0",
"data": {
"userId": 13446697,
"loId": "learningProgram:157165",
"loInstanceId": "learningProgram:157165_148769",
"loType": "learningProgram",
"enrollmentSource": "SELF_ENROLL",
"dateEnrolled": "2026-01-20T05:44:05.000Z"
}
}
]
}
De zelfde structuur wordt gebruikt voor beide gebeurtenistypen; slechts de eventName en de waarden binnen gegevens (bijvoorbeeld, userId, loId, enrollmentSource) verschillen.
Voorbeeld: vernieuwen door student
Wanneer een student de voltooiingsstatus van zijn of haar eigen leerpad vernieuwt, verzendt de webhook de gebeurtenis LEARNING_PATH_COMPLETION_ROLLBACK:
{
"accountId": 69735,
"events": [
{
"eventId": "757b9d58-048c-4ae2-9fff-35f9def7ef29",
"eventName": "LEARNING_PATH_COMPLETION_ROLLBACK",
"timestamp": "2026-01-20T05:48:10.000Z",
"eventInfo": "1768888090000-197513-137581-0",
"data": {
"userId": 13446697,
"loId": "learningProgram:157165",
"loInstanceId": "learningProgram:157165_148769",
"loType": "learningProgram",
"enrollmentSource": "SELF_ENROLL",
"dateEnrolled": "2026-01-20T05:44:05.000Z"
}
}
]
}
Gebruik deze gebeurtenis om de gegevens van de studentvoltooiing in uw externe systemen opnieuw te berekenen of terug te stellen wanneer de student uitdrukkelijk om verfrist.
Voorbeeld: batchgewijze vernieuwing door beheerder
Wanneer een beheerder de voltooiing vernieuwt voor een of meer studenten (bijvoorbeeld het corrigeren van historische voltooiingen voor een groep), geeft de webhook een LEARNING_PATH_COMPLETION_ROLLBACK_BATCH-gebeurtenis uit:
{
"accountId": 69735,
"events": [
{
"eventId": "757b9d58-048c-4ae2-9fff-35f9def7ef29",
"eventName": "LEARNING_PATH_COMPLETION_ROLLBACK_BATCH",
"timestamp": "2026-01-20T05:48:10.000Z",
"eventInfo": "1768888090000-197513-137581-0",
"data": {
"userId": 13446698,
"loId": "learningProgram:157166",
"loInstanceId": "learningProgram:157166_148770",
"loType": "learningProgram",
"enrollmentSource": "ADMIN_ENROLL",
"dateEnrolled": "2026-01-21T05:44:05.000Z"
}
}
]
}
In partijverrichtingen, kan uw webhookeindpunt veelvoudige gebeurtenisvoorwerpen in één enkel verzoek ontvangen, één per student de waarvan voltooiing is verfrist. Uw integratie moet de gebeurtenissenarray doorlopen en elke gebeurtenis onafhankelijk verwerken.
Hoe deze gebeurtenissen te gebruiken in integraties
U kunt deze webhookgebeurtenissen gebruiken om:
Synchroniseer voltooiingsverslagen met externe LMS/LRS, u, of het melden van systemen wanneer een voltooiing wordt teruggedraaid of herberekend.
de stroomafwaartse workflows van de Trigger zoals opdrachten, berichten, of herberekening van certificatie en badges.
handhaaf controlesporen door eventId, timestamp, en eventInfo samen met de student en het leren wegherkenningstekens te registreren.
De webhookhandler moet ten minste:
Bevestig de lading en ontleed gebeurtenissen [].
Gebruik eventName om te bepalen of de verandering cursist in werking stelde of admin/batchin was.
Gebruik userId, loId en loInstanceId om de corresponderende record in uw systeem te zoeken en bij te werken.
Gebruik eventId om dubbele verwerking te voorkomen wanneer dezelfde gebeurtenis meerdere keren wordt geleverd.
Webhooks voor het toevoegen en verwijderen van gebruikersgroeplidmaatschap
Twee nieuwe webhook-gebeurtenistypen hebben de uiteindelijke status:
- RESPONSE :ASYNCAPI_USERGROUP_USER_ADDED
- RESPONSE :ASYNCAPI_USERGROUP_USER_REMOVED
Voorbeeld van lading
{
"accountId": 69735,
"events": [
{
"eventId": "cd2972c8-cb15-47a0-a23f-e4a16cb720f5",
"eventName": "RESPONSE:ASYNCAPI_USERGROUP_USER_REMOVED",
"timestamp": "2026-03-18T13:38:12.000Z",
"eventInfo": "cd2972c8-cb15-47a0-a23f-e4a16cb720f5",
"data": {
"status": "SUCCESS",
"request": {
"metadata": { "event_id": "cd2972c8-cb15-47a0-a23f-e4a16cb720f5" },
"data": [ { "type": "user", "id": "13446641" } ]
}
}
}
]
}
Belangrijkste elementen
accountIdidentificeert het ALM-account.eventsis een array van gebeurtenisobjecten.eventIdkomt overeen met de oorspronkelijke id van de asynchrone aanvraag.eventNameverwijst naar een bewerking toevoegen of verwijderen.- In
timestampwordt de voltooiingstijd weergegeven. data.statusmeldt momenteel "SUCCESS" voor geslaagde batches.data.requestbevat de exacte aanvraag die u hebt verzonden.
Uw integratie moet vooral afhaken op eventId (of metadata.event_id ) en status .
Voorbeelden
Gebruikers asynchroon toevoegen
Stap 1. Maak de asynchrone vraag
POST /primeapi/v2/async/userGroups/12345/users
{
"metadata": {
"event_id": "sync-2026-03-30T10:15:00Z-ug-12345",
"sourceSystem": "HRIS",
"batchId": "hr_2026_03_30_0001"
},
"data": [
{ "type": "user", "id": "11101219" },
{ "type": "user", "id": "11101220" }
]
}
Stap 2. Lees de directe reactie
{ "event_id": "sync-2026-03-30T10:15:00Z-ug-12345" }
U kunt deze taak nu markeren als verzonden in uw systeem.
Stap 3. Handvat de Webhook
Voorbeeld van webhookcallback:
{
"accountId": 69735,
"events": [
{
"eventId": "sync-2026-03-30T10:15:00Z-ug-12345",
"eventName": "RESPONSE:ASYNCAPI_USERGROUP_USER_ADDED",
"timestamp": "2026-03-30T10:15:43.000Z",
"data": {
"status": "SUCCESS",
"request": {
"metadata": {
"event_id": "sync-2026-03-30T10:15:00Z-ug-12345",
"sourceSystem": "HRIS",
"batchId": "hr_2026_03_30_0001"
},
"data": [
{ "type": "user", "id": "11101219" },
{ "type": "user", "id": "11101220" }
]
}
}
}
]
}
Een typische consument wil:
- Zoek de interne taak.
- Verifieer naar keuze lidmaatschap gebruikend GET /userGroups/{id}/users.
- De taak als voltooid markeren.
Gebruikers asynchroon verwijderen
Verwijderen is symmetrisch, waarbij DELETE wordt gebruikt met dezelfde lichaamsstructuur.
{
"metadata": {
"event_id": "sync-2026-03-30T11:00:00Z-ug-12345",
"sourceSystem": "HRIS",
"batchId": "hr_2026_03_30_0002"
},
"data": [ { "type": "user", "id": "11101219" } ]
}
Onmiddellijke respons:
{ "event_id": "sync-2026-03-30T11:00:00Z-ug-12345" }
Later, komt een RESPONSE :ASYNCAPI_USERGROUP_USER_REMOVED Webhook met zelfde eventId aan.
De mening Asynchrone openbare API voor het lidmaatschap van de gebruikersgroep voor meer informatie.