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

  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 :

  • Une méthode HTTP (GET, POST, PUT, PATCH, DELETE).
  • Une URL.
  • Des en-têtes.
  • Un corps de requête.
  • 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, ajoutez une règle d'extraction qui récupère une valeur depuis :

  • Le corps de la réponse (par exemple, un champ JSON tel que le jeton d'accès).
  • Un en-tête de réponse (par exemple, une valeur Location ou Set-Cookie).
  • Le statut de la réponse.

Stockez la valeur extraite dans une variable nommée.

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.

Assertions et réussite/échec

Chaque étape possède ses propres assertions (code de statut, corps, en-têtes, temps de réponse), exactement comme une vérification API simple. 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 chaîne s'arrête à cette étape et l'ensemble de la vérification est marqué comme échoué — 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 : la méthode et l'URL de chaque étape, son temps de réponse, quelles assertions ont réussi ou échoué, et où la chaîne s'est arrêtée. 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.