Met de generieke koppeling krijg je de mogelijkheid behaalde resultaten van cursisten terug te sturen naar Coachview. |
Werkwijze: |
Coachview biedt een URL aan waarop een XML-bericht kan worden gepost (methode: POST). Voorbeeld URL: 'https://secure.coachview.net/elearning/result.aspx?plugin=IEvhlecMtCbKh4sdNoKr5g' |
Voorwaarden: |
Meer weten hoe dit via verschillende e-learning systeem wordt geregeld? Klik hier. |
Beveiliging: |
In een HTTP-header (naam ‘X-WebHook-Signature’) dient een signature/hash te worden opgenomen om te controleren of deze gegevens daadwerkelijk van de zender afkomstig zijn. Over het gehele XML-bericht in de body wordt een SHA512 HMAC berekend. Coachview berekent ook de SHA512 HMAC over het bericht. Deze moet overeenkomen met wat door de zender in de HTTP-header wordt meegestuurd. LET OP: Deze signature dient een base64 string te zijn. |
Statusmeldingen: |
Coachview retourneert status 200 als het bericht succesvol is verwerkt. Indien een andere statuscode wordt geretourneerd, dan is er een fout opgetreden. |
Code | Technische naam | Omschrijving |
405 | HttpStatusCode.MethodNotAllowed | Request methode niet ondersteund. Bijvoorbeeld geen ‘POST’ gebruikt maar iets anders. Komt vrijwel niet voor. |
403 | HttpStatusCode.Forbidden | Webhook validatie niet gelukt, geen hash in HTTP-header of hashing komt niet overeen. Waarschijnlijk komen de secret-keys o.i.d. niet overeen. |
400 | HttpStatusCode.BadRequest | Geen data in de HTTP-body ontvangen, het kan niet naar XML worden geconverteerd of XML voldoet niet aan XSD-schema. Zie message voor de foutmelding. |
404 | HttpStatusCode.NotFound | Persoon en/of inschrijving kan niet worden gevonden in Coachview. |
503 | HttpStatusCode.ServerUnavailable | Coachview is op dit moment niet bereikbaar. Probeer later opnieuw. |
500 | HttpStatusCode.InternalServerError | Fout opgetreden in de afhandeling. Neem contact op met Coachview met de meegestuurde foutmelding. |
200 | HttpStatusCode.OK | Als het goed is gegaan wordt deze status-code teruggegeven. |
Opbouw van het XML-bericht: |
Hieronder vind je de data die meegestuurd moet of kan worden in je XML-bestand. |
Element | Attribuut | Datatype | V/O* | Omschrijving |
CoachviewResultaat | ||||
Elearningcode | String | V | Id / code van de opleiding/e-learning Max. 50 karakters | |
PersoonExternId | String | V | Id / code van de deelnemer Max. 50 karakters | |
Opmerking | String | O | Opmerking bij het registreren van geslaagd. Max. 255 karakters | |
Datum | Date | O | Afrondings- of slagingsdatum. Indien leeg, dan wordt huidige datum gebruikt. | |
Geslaagd | boolean | V | true / false | |
Resultaat | String | O | XML bevat Resultaat óf ResultaatDecimaal. Beide attributen in één bericht wordt niet ondersteund. | |
ResultaatDecimaal | Decimal | O | XML bevat Resultaat óf ResultaatDecimaal. Beide attributen in één bericht wordt niet ondersteund. Max. 2 decimalen | |
Opmerking | String | O | Opmerking bij het registeren van de aanwezigheid Max. 255 karakters | |
Datum | Date | O | Aanwezigheidsdatum. Indien leeg, dan wordt huidige datum gebruikt. |
* V/O = Verplicht / Optioneel
Voorbeelden: |
Hieronder vind je twee voorbeelden die de werking weergeven: |
Voorbeeld 1: |
<?xml version="1.0" encoding="UTF-8"?> <CoachviewResultaat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Datum="2019-01-03" Opmerking="Opmerking" Elearningcode="e12345" PersoonExterneId="p12345"> <Geslaagd Resultaat="67%" Datum="2019-03-01" Opmerking="Voldoende">true</Geslaagd> </CoachviewResultaat> |
Voorbeeld 2: |
<?xml version="1.0" encoding="UTF-8"?> <CoachviewResultaat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Datum="2019-01-03" Opmerking="Opmerking" Elearningcode="e12345" PersoonExterneId="p12345"> <Geslaagd ResultaatDecimaal="6.7" Datum="2019-03-01" Opmerking="Voldoende">true</Geslaagd> </CoachviewResultaat> |