L'API Postmessage sert à envoyer des informations supplémentaires à la page sur laquelle nos Examens sont intégrés.
Documentation de l’API POST message
L’API Postmessage enverra un message à la page sur laquelle votre examen est intégré. Ce message ressemblera à ceci :
{
status: 'ranking',
ranking: {
score: 50, // Nombre, la note de l’examen. 100 signifie 100 % de réponses correctes, 0 signifie 0 % de réponses correctes
answered: 2, // Nombre : nombre de questions auxquelles il a été répondu lors de cette session
correct: 1, // Nombre, le nombre de questions auxquelles il a été répondu (partiellement) correctement
incorrect: 1, // Nombre, le nombre de questions auxquelles il a été répondu de manière erronée
points: 2, // Nombre, le nombre de points obtenus pour cette session
maximum: 4, // Nombre : nombre maximal de points possibles pour cette session
category : {
title : 'Échec' // Chaîne de caractères,
}
}
}
Pour vous faciliter la tâche, nous avons ajouté ci-dessous un exemple de code JavaScript que vous pouvez utiliser sur votre page d’intégration. Il utilise la bibliothèque jQuery, mais cette dépendance peut être facilement supprimée si nécessaire.
<script type="text/javascript>
// Exemple d’implémentation des événements. Utilisation de jQuery v1.7 ou supérieure
// Devrait fonctionner sur les navigateurs suivants : [http://caniuse.com/#feat=x-doc-messaging](http://caniuse.com/#feat=x-doc-messaging)
jQuery(window).on("message onmessage", function(event) {
var origin = event.originalEvent.origin;
var allowedDomains = [
'[https://www.onlinequizcreator.com]([https://www.onlinequizcreator.com/](https://www.onlinequizcreator.com/))',
'[https://www.onlineassessmenttool.com]([https://www.onlineassessmenttool.com/](https://www.onlineassessmenttool.com/))',
'[https://www.onlineexambuilder.com]([https://www.onlineexambuilder.com/](https://www.onlineexambuilder.com/))',
'[https://www.easy-lms.com]([https://www.easy-lms.com/fr/404/))'
];
try {
var data = (typeof event.originalEvent.data === "string") ? JSON.parse(event.originalEvent.data) || event.originalEvent.data;
}
catch (e) {
return;
}
if (allowedDomains.indexOf(origin) !== -1 && data.status && data.ranking) {
// Votre script personnalisé....
// Les variables suivantes sont disponibles
data.ranking.score; // La note en (%) pour cet examen. Par exemple : 100 si toutes les réponses sont correctes et 0 si toutes les réponses sont fausses
data.ranking.answered; // Le nombre total de questions auxquelles le participant a répondu
data.ranking.correct; // Nombre de questions auxquelles le participant a répondu correctement
data.ranking.incorrect; // Nombre de questions auxquelles le participant a mal répondu
data.ranking.points; // Le nombre de points obtenus par le participant lors de cette session
data.ranking.maximum; // Le nombre maximal de points possibles pour cet examen
data.ranking.category.title; // Le nom de la catégorie à laquelle appartient le participant. Probablement « Réussi » ou « Échoué »
}
});
</script>
