WebHookSpy permet de surveiller les paramètres envoyés à un webhook sur le portail. L'exemple suivant décrit son utilisation dans un script associé à un webhook.
Étape 1 : Créer un script à partir du portail Conception | Cloud Code | Scripts
Définissez les paramètres de la requête que vous souhaitez afficher dans le script de connexion au portail.
// Certains services (comme Facebook !) envoient des paramètres contenant des points.
// MongoDB ne les aime pas - nous devons donc remplacer les points par "_"
// avant de les enregistrer dans l'entité globale.
function safeMap(aMap) {
var newMap = {};
var newKey = "";
for (var key in aMap) {
newKey = key.replace(/\./g, "_");
newMap[newKey] = aMap[key];
}
return newMap;
}
// Cloner les paramètres de la requête
var webHookParms = JSON.parse(JSON.stringify(data));
// Rendre les arguments et les paramètres sûrs pour mongoDB
webHookParms.headers = safeMap(data.headers);
webHookParms.parameters = safeMap(data.parameters);
var response = {};
bridge.logInfoJson("Received the webhook start...", data);
continuer à écrire la partie principale du script (varie selon l'intention de l'utilisateur).
définir le journal pour enregistrer le paramètre de requête.
// Consigner la version sécurisée des paramètres reçus
var logService = bridge.getLogServiceProxy();
logService.logInfo("Webhook [ " + webHookParms.requestUrl + " ] - dumping parameters...", JSON.stringify(webHookParms));
// Construire une réponse
response.jsonResponse = {};
response.message = "Webhook received";
response.jsonResponse.receivedInCCdata = data;
Étape 2 : Accédez au portail Conception | Cloud Code | Web Hooks , créez un nouveau webhook, liez-le au script de cloud code que vous venez de créer et enregistrez-le, copiez l'URL générée pour le test.
Remarque : lorsque le WebHook a été configuré pour exiger un header secret, un header nommé "x-bc-secret" doit être inclus dans l'appel HTTP depuis le site appelant.
Étape 3 : Testez-le depuis Postman.
Étape 4 : Surveillez le journal d’informations à partir du portail dans Global | Journaux | Erreurs récentes .