Passer au contenu principal

Conception > Cloud Code > Points d'encrage d'API

Point d'encrage d'API, pré-hook, post-hook

Jason Liang avatar
Écrit par Jason Liang
Mis à jour il y a plus d’une semaine

Cet écran vous permet de configurer des scripts Cloud Code personnalisés pour qu'ils s'exécutent immédiatement avant (pré) ou après (post) les méthodes principales de l'API client.

Pour voir et modifier les points d'encrage d'API existants, accédez à la page Points d'encrage d'API sur le tableau de bord.

Cliquez sur [+ Nouveau Point d'Encrage d'API] pour ouvrir l’interface Créer Point d'encrage d'API et sélectionnez/remplissez les éléments essentiels.

Note:

  • Les points d'encrage d'API sont destinés uniquement aux API clientes et ne sont pas conçus pour les API s2s.

  • Il existe deux types de points d'encrage d'API : les pré-hooks et les post-hooks. Les scripts pré-hook sont exécutés avant l'appel d'API auquel ils sont rattachés. Ils permettent de prétraiter les données transmises à l'appel d'API, voire de renvoyer une erreur immédiatement et d'ignorer l'appel d'API. Les scripts post-hook sont appelés après l'exécution d'un appel d'API spécifique. Ils peuvent effectuer un post-traitement d'un appel d'API et, éventuellement, modifier les données retournées au client.

  • Les points d'encrage d'API autorisés à accéder aux données et à les renvoyer sont définis côté serveur d'API, ce qui diffère légèrement entre les points d'encrage pré et post. Assurez-vous d'utiliser les champs appropriés dans votre script. Consultez notre tutoriel sur le code cloud pour plus d'informations sur l'accès aux données et leur renvoi conventionnels.

Une fois le point d'encrage créé, il apparaîtra dans la liste des points d'encrage :

Exemple de code

Un exemple de script de pré-hook : ajoutez des données d’événement supplémentaires à l’API sendEvent() :

message = data.message; // obtenir les paramètres d'API transmis 
hookParms = data.parms; // obtenir les paramètres de hook personnalisés
bridge.logInfoJson("running from prehook_sendevent_addvalue hookparms: ", hookParms);
Object.assign(message.eventData, hookParms.extradata); // ajouter une valeur de données JSON supplémentaire à eventdata qui a été transmise
bridge.logInfoJson("running from prehook_sendevent_adevalue message: ", message);
var retval = {}; // préparer l'objet de retour
retval.status = 200;
retval.messageOverride = message;
retval;

Note pour le script :

  • Les paramètres transmis au point d'encrage sont accessibles via le champ "data" de l'objet. Les paramètres de l'API hookée sont accessibles via le champ "message" .

  • Le paramètre modifié est transmis à l'API hookée via l'objet défini par le script avec le champ messageOverride . Dans l'exemple de script, pour modifier définitivement les paramètres de l'API hookée, ajoutez ce champ à l'objet de retour.

  • Le champ status représente l'indicateur de traitement du script. Lorsqu'il est défini sur une valeur autre que 200, l'appel d'API sera interrompu avec un retour d'erreur au lieu d'appel.

Appelez l'API hookée sendEvent() :

Vérifiez le résultat en appelant getEvents() à partir du destinataire de l'événement, notez que le paramètre du point d'encrage est ajouté en tant qu'eventData supplémentaire :

Avez-vous trouvé la réponse à votre question ?