Die imc Learning Suite bietet die Möglichkeit, über eine Event Queue Echtzeitinformationen zu bestimmten Events zu erhalten, wodurch Integrationsszenarien mit Drittsystemen ermöglicht werden. Die folgende Dokumentation beschreibt die aktuell verfügbaren Events. Bei On-Premises-Installationen enthält das imc Learning Suite-Paket eine Apache-ActiveMQ-Artemis-Installation (https://artemis.apache.org/components/artemis/documentation/ ). Bei von Scheer IMC gehosteten Cloud-Installationen wird der Azure Service Bus als Event Queue verwendet (https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview ).
Die Nachrichten/Events werden als AMQP-Nachrichten gesendet, wobei die eigentliche Information im JSON-Body enthalten ist. Dieser JSON-Body wird hier für die einzelnen Nachrichten dokumentiert. Die Nachrichten/Events werden an separate Topics für die jeweiligen Event-Typen gesendet. Die folgenden Topics werden für die jeweiligen Event-Typen verwendet:
|
Topic-Name |
Event-Typ |
|---|---|
|
de.imc.ils_login |
Login-Events |
|
de.imc.ils_course-changes |
Course-Events – Kursänderungen |
|
de.imc.ils_registrations |
Registration-Events – alle |
|
de.imc.ils_completions |
Registration-Events – nur Abschlüsse |
|
de.imc.ils_cancellations |
Registration-Events – nur Stornierungen |
|
de.imc.ils_recert-due-date-changes |
Recertification-Due-Date-Events |
Login-Events
Die Login-Events werden bei jeder Anmeldung eines Nutzers ausgelöst und liefern zusätzlich Informationen zu vorherigen fehlgeschlagenen Anmeldeversuchen.
Anmeldeversuch (erfolgreich)
{
"login":"imc_super",
"identifier":2,
"result":"success",
"failedCount":0,
"timestamp":1603666208487,
"summary": "Login attempt for imc_super"
}
Anmeldeversuch (fehlgeschlagen)
{
"login":"imc_super",
"identifier":2,
"result":"failed",
"failedCount":4,
"timestamp":1603666208487,
"summary": "Login attempt for imc_super"
}
|
Parameter |
Erklärung |
|---|---|
|
login |
Für den Anmeldeversuch verwendeter Login-Name |
|
identifier |
Interne ID des Nutzers |
|
result |
Ergebnis des Anmeldeversuchs, entweder "success" oder "failed" |
|
failedCount |
Anzahl fehlgeschlagener Versuche |
|
timestamp |
Zeitstempel des Event-Versands in Sekunden seit Epoch |
|
summary |
Kurze Zusammenfassung des Events/der Nachricht |
Course-Events
Die Course-Events liefern Informationen zu Kursen bei deren Erstellung oder Änderung und enthalten grundlegende Informationen zum Kurs und seinen Inhalten.
Course Change Event
{
"external-id":"ce77b12d-4119-3390-92e6-000000001517",
"object-id":517282,
"component-id":517281,
"syllabus-link":"https://achievemore.im-c.com/ilp/pages/course.jsf?courseId=517281&pollingMode=on#!/courseroom/course",
"title":"Course Name",
"description":"<strong>Course Description</strong></br> Descriptiontext",
"start-date":"2021-05-19T00:00:00+0200",
"end-date":"2021-05-19T23:59:59+0200",
"duration-of-use":"",
"learning-form":"classroom",
"lastupdated":"2020-10-25T23:50:08+0100",
"lastupdater-external-id":"",
"lastupdater-person-id":0,
"metadata":[],
"contents":[],
"catalog-assignment":[],
"timestamp":1603666208487,
"summary":"Update for course 517281 | 517282 | ce77b12d-4119-3390-92e6-000000001517",
"planning-status":"CANCELLED",
"location-name":"Building A Singapore",
"price":2000.00,
"currency":"EUR"
}
|
Parameter |
Erklärung |
|---|---|
|
external-id |
Externe ID des Kurses, falls vorhanden |
|
component-id |
Interne versionsspezifische ID des Kurses |
|
object-id |
Interne versionsunabhängige ID des Kurses |
|
syllabus-link |
Link zum Kursraum/Syllabus im System |
|
title |
Name des Kurses |
|
description |
Beschreibung des Kurses inklusive HTML-Formatierung |
|
start-date |
Startdatum des Kurses, falls datumsabhängig |
|
end-date |
Enddatum des Kurses, falls datumsabhängig |
|
duration-of-use |
Dauer des Kurses, falls nutzungsdauerabhängig |
|
learning-form |
Lernform des Kurses |
|
lastupdated |
Datum der letzten Aktualisierung |
|
lastupdater-external-id |
Externe ID der Person, die den Kurs zuletzt aktualisiert hat |
|
lastupdater-person-id |
Interne ID der Person, die den Kurs zuletzt aktualisiert hat |
|
metadata |
Zusätzliche Metadaten für den Kurs (d. h. alle Metatags) |
|
contents |
Liste der Inhalte und ihrer Metadaten (Name, Link, Daten, …) |
|
catalog-assignment |
Liste der Katalogknoten, denen der Kurs zugewiesen ist |
|
timestamp |
Zeitstempel des Event-Versands in Sekunden seit Epoch |
|
summary |
Kurze Zusammenfassung des Events/der Nachricht |
|
planning-status |
Planungsstatus des Kurses |
|
price |
Preis für die Buchung, entweder Kurspreis oder Stornogebühr |
|
currency |
Währung für den Preis |
Registration-Events
Registration-Events werden bei jeder Änderung an einer Buchung ausgelöst, von der ursprünglichen Buchung über die Stornierung bis zum Abschluss. Für die Registration-Events stehen drei Topics zur Verfügung: eines, das alle Events abdeckt, und zwei, die ausdrücklich Stornierungen bzw. Abschlüsse enthalten.
Registration Change Event
{
"external-id":"ce77b12d-fa54-3353-8e4d-000000000213",
"identifier":121150,
"course-external-id":"ce77b12d-4119-3390-92e6-0000000004ac",
"course-component-id":555791,
"course-object-id":555792,
"initial-status":"BOOKED",
"status":"CANCELLED",
"due-date":"2020-12-31",
"expiration-of-qualification": "2021-12-31",
"price":0.0,
"currency":"EUR",
"orderer":2,
"cancellation-reason": 1,
"timestamp":1603698662089,
"summary":"Update for registration for course 555791 | 555792 | ce77b12d-4119-3390-92e6-0000000004ac and user 121150 | ce77b12d-fa54-3353-8e4d-000000000213",
"portfolio-id":"12345",
"personal-startdate":"2020-10-25T23:50:08+0100",
"personal-enddate":"2020-10-25T23:50:08+0100",
"client_id":"1234"
}
Parametererklärung
|
Parameter |
Erklärung |
|---|---|
|
external-id |
Externe ID des Nutzers, falls vorhanden |
|
identifier |
Interne ID des Nutzers |
|
course-external-id |
Externe ID des Kurses, falls vorhanden |
|
course-component-id |
Interne versionsspezifische ID des Kurses |
|
course-object-id |
Interne versionsunabhängige ID des Kurses |
|
initial-status |
Buchungsstatus vor der Änderung |
|
status |
Buchungsstatus nach der Änderung |
|
due-date |
Fälligkeitsdatum für den Kurs |
|
expiration-of-qualification |
Ablaufwert der Qualifikation, sofern vom Kurs vorgegeben |
|
price |
Preis für die Buchung, entweder Kurspreis oder Stornogebühr |
|
currency |
Währung für den Preis |
|
orderer |
Nutzer, der die Änderung ausgelöst hat |
|
cancellation-reason |
ID des Stornierungsgrundes, falls Status "cancelled" |
|
timestamp |
Zeitstempel des Event-Versands in Sekunden seit Epoch |
|
summary |
Kurze Zusammenfassung des Events/der Nachricht |
|
portfolio-id |
Portfolio-ID |
|
personal-startdate |
Startdatum und Zeitstempel des Kurses für den Lernenden |
|
personal-enddate |
Enddatum und Zeitstempel des Kurses für den Lernenden |
|
client_id |
Mandanten-ID |
Status-Mapping für Buchungen
Status für Kurse/Lernpfade:
|
Status String (Event) |
ID |
Status |
|---|---|---|
|
NULL |
0 |
Kein Bezug |
|
SELECTED |
1 |
Auf der Wunschliste |
|
ORDERED |
2 |
Beantragt |
|
AGREED |
3 |
Bestätigt |
|
NOTIFIED |
4 |
Benachrichtigt |
|
REFUSED |
4 |
Nicht bestätigt |
|
WAITING |
6 |
Wartend |
|
CANCELED |
7 |
Storniert |
|
BOOKED |
8 |
Gebucht |
|
STARTED |
9 |
In Bearbeitung |
|
FINISHED |
10 |
Beendet |
|
PASSED |
11 |
Bestanden |
|
FAILED |
12 |
Nicht bestanden |
|
INDIVIDUAL_LEARNING_PLAN |
17 |
Lernvorgabe |
|
RESERVED_ON_PARTICIPANT_LIST |
18 |
Reserviert |
|
RESERVED_ON_WAITING_LIST |
19 |
Auf der Warteliste reserviert |
|
DELETE |
13 |
Gelöscht |
Status für Kursvorlagen
|
Status String (Event) |
ID |
Status |
|---|---|---|
|
PREBOOKED |
16 |
Vorgebucht |
|
SUCCESSFULLY_COMPLETED |
20 |
Rezertifizierung: Kurs bestanden |
|
NOT_SUCCESSFULLY_COMPLETED |
21 |
Rezertifizierung: Kurs nicht bestanden |
Recertification-Events
Die Recertification-Events liefern zusätzliche Informationen zu Fälligkeitsdaten innerhalb eines Rezertifizierungsprozesses. Immer wenn innerhalb des Rezertifizierungsprozesses ein neues Fälligkeitsdatum berechnet wird, das noch keiner bestimmten Kursbuchung zugeordnet ist, wird ein zusätzliches Event ausgelöst.
Recertification Due Date Change Event
{
"external-id":"ce77b12d-fa54-3353-8e4d-000000000213",
"identifier":121150,
"template-external-id":"ce77b12d-4119-3390-92e6-0000000004ac",
"template-component-id":555791,
"template-object-id":555792,
"due-date":"2020-12-31",
"timestamp":1603698662089,
"summary":"Update for recertification 555792 | 121150 | 2020-12-31"
}
Parametererklärung
|
Parameter |
Erklärung |
|---|---|
|
external-id |
Externe ID des Nutzers, falls vorhanden |
|
identifier |
Interne ID des Nutzers |
|
template-external-id |
Externe ID der Vorlage, falls vorhanden |
|
template-component-id |
Interne versionsspezifische ID der Vorlage |
|
template-object-id |
Interne versionsunabhängige ID der Vorlage |
|
due-date |
Fälligkeitsdatum für die nächste Rezertifizierung. Dieses wird beim Abschluss eines Kurses der Vorlage gesetzt, bevor der nächste Kurs in einem Rezertifizierungsszenario gebucht wird. Es wird gelöscht, sobald der nächste Kurs verfügbar ist und ein Nutzer dafür angemeldet/gebucht wird. Das Fälligkeitsdatum wird auf den Kurs übertragen und auch im Registration Change Event bereitgestellt. |
Skill-Change-Events
Die Skill-Change-Events liefern zusätzliche Informationen zu Änderungen eines Skillwerts für einen Nutzer. Immer wenn der Wert eines Skills neu berechnet oder aktualisiert wird, etwa durch eine Beurteilung, eine manuelle Anpassung oder einen automatisierten Prozess, wird ein Event mit dem vorherigen und dem neuen Wert, der verwendeten Skala (falls vorhanden) sowie dem Zuweisungs- und Ablaufdatum des aktualisierten Werts ausgelöst.
{
"type":"assessment",
"skill-external-id":null,
"timestamp":1784204759500,
"summary":"Thu Jul 16 14:25:59 CEST 2026skill value event type: assessment - for user:951964 and skill:1171706",
"personId":951964,
"clientId":911366,
"skillId":1171706,
"skillName":"#FC #SuperCONF #Accum",
"initialValue":5,
"initialScaleName":null,
"currentValue":10,
"currentScaleName":null,
"allocationDate":"2026-07-16 14:25:33.019",
"expirationDate":null,
"lastUpdaterId":952014,
"lastUpdaterExternalId":null
}
Parametererklärung
|
Parameter |
Erklärung |
|---|---|
|
type |
Event-Typ-Kennung für diese Event-Kategorie, z. B. "assessment" – zeigt an, dass eine Änderung eines Skillwerts erfasst wurde. |
|
skill-external-id |
Externe ID des Skills, falls vorhanden (aus einem externen System zugeordnet). Null, falls keine externe ID konfiguriert ist. |
|
timestamp |
Unix-Zeitstempel (Millisekunden), zu dem das Event ausgelöst wurde. |
|
summary |
Menschenlesbare Zusammenfassung des Events – enthält Event-Typ, Nutzer und Skill zur schnellen Log-Prüfung. |
|
personId |
Interne ID des Nutzers, dessen Skillwert sich geändert hat. |
|
clientId |
Interne ID des Mandanten, zu dem der Nutzer gehört. |
|
skillId |
Interne ID des betroffenen Skills/der betroffenen Kompetenz. |
|
skillName |
Anzeigename des Skills. |
|
initialValue |
Der Skillwert vor dieser Änderung. |
|
initialScaleName |
Name der für den ursprünglichen Wert verwendeten Skala (falls der Skill eine benannte statt einer rein numerischen Skala verwendet). Null, falls nicht zutreffend. |
|
currentValue |
Der neue/aktualisierte Skillwert nach dieser Änderung. |
|
currentScaleName |
Name der für den aktuellen Wert verwendeten Skala. Null, falls nicht zutreffend. |
|
allocationDate |
Datum/Uhrzeit, zu dem der (neue) Skillwert dem Nutzer zugewiesen wurde. |
|
expirationDate |
Datum/Uhrzeit, zu dem der Skillwert abläuft, sofern für den Skill ein Ablauf konfiguriert ist. Null, falls der Wert nicht abläuft. |
|
lastUpdaterId |
Interne ID des Nutzers (oder Systemkontos), der diese Aktualisierung des Skillwerts ausgelöst hat. |
|
lastUpdaterExternalId |
Externe ID des Aktualisierenden, falls vorhanden. Null, falls keine externe ID konfiguriert ist. |
Global Functions and Related Topics
https://doc-de.scheer-imc.com/FunkRef/configuration-manager-event-queue