Vérifications API multi-étapes

Qu'est-ce qu'une vérification API multi-étapes

Une vérification API multi-étapes exécute une séquence ordonnée de requêtes HTTP en une seule vérification, en transmettant les données des réponses précédentes vers les requêtes suivantes. Au lieu de surveiller un point de terminaison de manière isolée, vous pouvez reproduire un véritable flux de travail, par exemple : se connecter, capturer un jeton d'authentification, puis appeler un point de terminaison authentifié et valider sa réponse.

C'est le type de vérification approprié dès qu'une seule requête ne peut pas prouver que votre API fonctionne réellement de bout en bout :

  • S'authentifier, extraire un jeton, puis appeler un point de terminaison protégé avec celui-ci.
  • Créer une ressource, capturer son id, puis la lire ou la supprimer.
  • Enchaîner une requête de recherche vers une requête de détail.
  • Parcourir un court parcours utilisateur à travers plusieurs points de terminaison dans l'ordre.

Créer une vérification API multi-étapes

Les vérifications multi-étapes ne sont disponibles que sur les forfaits payants. Une vérification peut comporter jusqu'à 10 étapes, et chaque exécution est facturée par étape et par emplacement.

  1. Ouvrez la page Nouvelle vérification API.
  2. Choisissez le type de vérification Multistep API.
  3. Donnez un nom convivial à la vérification (utilisé dans les alertes et les rapports).
  4. Ajoutez vos étapes dans l'ordre où elles doivent s'exécuter.

Pour les paramètres partagés (fréquence, emplacements, canaux d'alerte, activer/mettre en sourdine) consultez Comment créer une nouvelle vérification API ; une vérification multi-étapes utilise les mêmes options.

Ajouter des étapes ordonnées

Chaque étape est sa propre requête HTTP avec :

  • Un nom d'étape.
  • Une méthode HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS).
  • Une URL.
  • Des en-têtes et un corps de requête, derrière le bouton Headers / Body.
  • Une ou plusieurs assertions.

Les étapes s'exécutent dans l'ordre, de haut en bas. La première étape s'exécute, puis la deuxième, et ainsi de suite. Vous pouvez réorganiser les étapes à mesure que votre flux de travail évolue.

Transmettre des données entre les étapes

La puissance d'une vérification multi-étapes réside dans le déplacement des données d'une réponse vers la requête suivante.

Extraire une valeur de la réponse d'une étape

Sur une étape, cliquez sur Add extract rule, saisissez un Variable name et choisissez d'où vient la valeur :

  • Body (JSON) : saisissez un chemin JSON comme user.id ou data.token. Utilisez des points pour les champs imbriqués et un nombre pour la position dans un tableau, par exemple items.0.id.
  • Header : saisissez le nom de l'en-tête, par exemple Location ou Set-Cookie.
  • Status code.

La valeur est stockée dans la variable que vous avez nommée. Une règle ne s'exécute que si son étape a réussi.

Référencer la variable dans une étape ultérieure

Utilisez un espace réservé {{variable}} n'importe où dans l'URL, les en-têtes ou le corps d'une étape ultérieure. Au moment de l'exécution, LoadFocus substitue la valeur capturée.

Par exemple, capturez un jeton de l'étape 1 dans une variable nommée token, puis envoyez-le à l'étape 2 :

Authorization: Bearer {{token}}

Les variables sont résolues dans l'ordre des étapes, donc une étape ne peut utiliser que les valeurs déjà extraites par les étapes précédentes. Un espace réservé dont la variable n'a jamais été définie est remplacé par du texte vide, sans erreur : vérifiez donc le nom de la variable si une étape suivante se comporte bizarrement.

Assertions et réussite/échec

Chaque étape possède ses propres assertions sur le code de statut, le temps de réponse ou le corps. Les étapes se combinent en un seul résultat global :

  • Si chaque étape réussit, la vérification réussit.
  • Si une étape échoue (la requête est en erreur ou une assertion échoue), la chaîne s'arrête à cette étape et l'ensemble de la vérification est marqué comme échoué, et les étapes suivantes ne s'exécutent pas.

Ce comportement d'arrêt rapide reflète un véritable flux de travail : si la connexion échoue, il est inutile d'appeler le point de terminaison authentifié.

Résultats par étape dans le rapport

Le rapport de vérification affiche les résultats par étape afin que vous puissiez voir exactement où une séquence s'est interrompue : le nom, le code de statut et la durée de chaque étape, quelles assertions ont réussi ou échoué, et les valeurs extraites. Un graphique Duration over time se trouve sous les étapes. Cela permet d'identifier facilement si un échec s'est produit lors de l'authentification, dans l'appel en aval ou dans une assertion.

Vous pouvez trouver toutes vos vérifications sur la page des moniteurs API.