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:

  1. Login als Admin van de Integratie.

  2. Voor de homepage, uitgezochte Webhooks > voeg Webhook toe.


    voeg een webhook toe

  3. Typ de Naam en Beschrijving van de Webhook.

  4. Typ de luisteraar URL als a Doel URL waar u de gebeurtenisgegevens wilt overgaan.

  5. 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.
  6. 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.
  7. 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.

NOTE
U kunt maximaal vijf webhooks maken en beheren.

Webhooks bewerken - integratiebeheerder

Ga als volgt te werk om Webhooks uit Adobe Learning Manager te bewerken:

  1. Login als Admin van de Integratie.

  2. Selecteer Webhooks op de homepage.

  3. Selecteer de webhook die u wilt bewerken.


    geef webhook uit

  4. 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:

  1. Login als Admin van de Integratie.
  2. Selecteer Webhooks op de homepage.
  3. Selecteer de webhook die u wilt verwijderen.
  4. Selecteer Schrapping om de webhooks te verwijderen.


verwijder webhook

Webhooks van Adobe - integratiebeheerder

Ga als volgt te werk om de webhooks te archiveren:

  1. Login als Admin van de Integratie.
  2. Selecteer Webhooks op de homepage.
  3. Selecteer de webhook die u wilt bewerken.
  4. 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

  • accountId identificeert het ALM-account.
  • events is een array van gebeurtenisobjecten.
  • eventId komt overeen met de oorspronkelijke id van de asynchrone aanvraag.
  • eventName verwijst naar een bewerking toevoegen of verwijderen.
  • In timestamp wordt de voltooiingstijd weergegeven.
  • data.status meldt momenteel "SUCCESS" voor geslaagde batches.
  • data.request bevat 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.

recommendation-more-help
d5e5961a-141b-4c77-820e-8453ddef913d