Le moniteur d’API multi-étapes est composé d' étapes. Pour chaque étape, vous pouvez configurer les détails de la requête et de la réponse HTTP. Cet article vous explique comment fonctionnent les requêtes et comment faire pour configurer une définition de requête HTTP.
Requête
Chaque étape contient l’onglet Requête. Vous pouvez spécifier l’endpoint de l’API et définir des informations spécifiques pour l’envoi d’une requête au serveur.
Méthode et URL
Au minimum, vous devez préciser la méthode HTTP et l’URL à utiliser pour commencer à surveiller votre API.
Les méthode HTTP suivantes sont disponibles :
GET
HEAD
POST
PUT
PATCH
DELETE
OPTIONS
L’URL est une URL complète qui comprend le protocole (“https://” ou “http://"), le nom de domaine et le chemin d’accès à votre API. Vous pouvez également utiliser des paramètres de requête pour filtrer, trier ou personnaliser les données renvoyées par votre requête.
Voici quelques exemples d’URL :
https://galacticresorts.com/api/Destinations
https://galacticresorts.com/api/Destinations?name=AlphaCygnusIX
- Vous pouvez aussi utiliser une
variable prédéfinie pour stocker une valeur issue de l’URL et l’ajouter sous la forme
{{BaseUrl}}/api/Destinations
ouhttps://galacticresorts.com/api/Destinations/{{ProductId}}
.
En-têtes de requête
Une requête HTTP contient des en-têtes de requête, qui sont des paires clé-valeur envoyées avec la requête pour fournir des informations supplémentaires au serveur. Ces en-têtes définissent les paramètres de la requête, comme le type de contenu, l’autorisation et toute instruction spéciale sur la façon dont le serveur doit traiter la requête.
Lors de la configuration d’une étape de requête, vous remarquerez que certains en-têtes sont ajoutés par défaut. Vous pouvez ajouter un nouvel en-tête de requête, remplacer l’en-tête par défaut ou utiliser des éléments de coffre-fort.
L’image ci-dessus montre un exemple d’étape de requête GET
vers https://www.galacticresorts.com/api/Destinations
. Par défaut, la requête inclut des en-têtes tels que Host
, Accept-Encoding
et Content-Length
. Les valeurs des en-têtes Host
et Content-Length
seront déterminées lors de l’envoi de la requête. Par ailleurs, l’en-tête Accept
est défini sur application/json
et l’en-tête Accept-Encoding
par défaut a été remplacé.
Vous pouvez aussi ajouter d’autres en-têtes comme Content-Type
. Les types de contenu les plus courants sont application/json
pour les données JSON, text/xml
pour les données XML et application/x-www-form-urlencoded
pour les données webform. De même, si votre API exige une authentification, ajoutez un en-tête Authorization
avec les données appropriées dans le champ Valeur.
Ajouter de nouveaux en-têtes
Voici comment ajouter un nouvel en-tête :
- Cliquez sur Ajouter un request header.
- Précisez le nom de l’en-tête. Par exemple,
Content-Type
. - Précisez la valeur de l’en-tête. Par exemple,
application/json
.
Remplacer un en-tête par défaut
Pour remplacer un en-tête par défaut :
- Cliquez sur Ajouter un request header.
- Renseignez un nom d’en-tête existant. Par exemple,
Accept-Encoding
. - Indiquez une nouvelle valeur d’en-tête. Par exemple,
gzip, compress
. L’en-tête par défaut est désormais barré, ce qui vous confirme qu’il a été remplacé.
Corps de requête
Lorsque vous configurez une requête POST
, PUT
, PATCH
, HEAD
, OPTIONS
ou DELETE
, le corps de la requête contient les données ou le contenu à envoyer.
Vous avez le choix entre différents formats de corps de requête pour envoyer des données :
- Texte brut : ce format vous permet d’envoyer du texte brut sans mise en forme.
- Télécharger un fichier (en tant que données de formulaire) : ce format vous permet d’envoyer un fichier (comme des images et des documents provenant du coffre-fort sous format form-data.
- Télécharger un fichier (en tant que binaire) : ce format vous permet d’envoyer un fichier (comme des images et des documents provenant du coffre-fort sous format de données binaires brutes.
- Multi-part form : ce format vous permet d’envoyer plusieurs types de contenu dans différents formats. Par exemple, vous pouvez envoyer simultanément des textes bruts ou des fichiers récupérés dans le coffre-fort.
Pour utiliser des éléments de coffre-fort dans le corps de requête, reportez-vous à la section Utiliser des éléments de coffre-fort comme fichiers à télécharger.
Authentification
Si votre API est protégée et nécessite une authentification lors de l’envoi de la requête au serveur, vous pouvez choisir parmi les options d’authentification ci-dessous :
- Authentification de base : vous permet de spécifier le nom d’utilisateur et le mot de passe, qui sont encodés avec le format Base-64 et envoyés au serveur API.
- Authentification NTLM (Windows) : vous permet de spécifier le nom d’utilisateur et le mot de passe à utiliser pour vous authentifier avec des serveurs ou des domaines Windows.
- Authentification (méthode digest) : vous permet de spécifier le nom d’utilisateur et le mot de passe, qui sont hachés en MD5 et envoyés au serveur de l’API.
- Authentification basée sur OAuth : vous permet d’utiliser une authentification personnalisée, en particulier OAuth 2.0.
Si vous souhaitez utiliser vos éléments de coffre-fort pour configurer une authentification pour votre requête, reportez-vous à la section Utiliser des éléments de coffre-fort ci-dessous. Pour en savoir plus, vous pouvez lire notre article Authentification lors de la surveillance multi-étapes.
Certificats clients
Si votre API nécessite que les clients s’identifient au moyen d’un certificat client, vous pouvez utiliser l’une de ces options :
- Certificat client Uptrends : un certificat appartenant à Uptrends sera fourni lors de l’envoi de la requête HTTP.
- Certificat client personnalisé : votre propre certificat client stocké dans le coffre-fort sera fourni lors de l’envoi de la requête HTTP.
Pour en savoir plus, vous pouvez lire notre article Certificats clients pour le monitoring multi-étapes.
Versions HTTP et TLS
Pour mieux maîtriser vos appels d’API, vous pouvez préciser les versions HTTP et TLS à utiliser. Pour en savoir plus, vous pouvez lire notre article sur les versions HTTP et TLS.
Connexion HTTP
Pour chaque appel d’API, votre serveur vérifie automatiquement le certificat TLS ou SSL par défaut. Si vous souhaitez désactiver toute validation des certificats et ignorer les erreurs associées, il vous suffit de sélectionner cette option.
Gestion des erreurs
Dans l’onglet Requête, l’option Gestion des erreurs vous permet d’ignorer les erreurs qui surviennent pendant l’étape. Si le moniteur trouve une forme d’erreur dans une étape, il ignore simplement cette étape. Il exécute ensuite les étapes suivantes les unes après les autres. Pour en savoir plus, vous pouvez lire notre article sur la gestion des erreurs.
Utiliser des éléments de coffre-fort
Le coffre-fort est un espace centralisé qui vous permet de stocker et de gérer vos identifiants et d’autres informations sensibles pour ensuite les utiliser lors de la configuration de votre moniteur.
Par exemple, si vous voulez configurer une authentification avec un nom d’utilisateur ou un mot de passe spécifique lors de l’envoi d’une requête au serveur, il vous suffit d’utiliser un élément de coffre-fort tel qu’un jeu d’identification de coffre-fort dans le corps et l’en-tête de la requête. Vous pouvez aussi utiliser le champ Authentification présenté ci-dessus.
Pour utiliser un jeu d’identification de coffre-fort, vous utiliserez la syntaxe suivante selon la valeur requise :
- Nom d’utilisateur :
{{@VaultItem.<itemGuid>.Username}}
- Mot de passe :
{{@VaultItem.<itemGuid>.Password}}
Pour trouver la valeur <itemGuid>
, passez par le menu et sélectionnez l’élément de coffre-fort qui vous intéresse. Dans l’URL, copiez la valeur qui se trouve après VaultItemGuid=
. Par exemple, 91303546-79e1-4f62-9b62-8973323dfe3b
dans https://app.uptrends.com/report/VaultItem?VaultItemGuid=91303546-79e1-4f62-9b62-8973323dfe3b
.
Comme indiqué dans l’image, le nom d’utilisateur et le mot de passe ont été récupérés sous la forme d’un jeu d’identification de coffre-fort. Tous deux ont été utilisés dans l’URL, l’en-tête de requête et le corps de requête.
Utiliser des éléments de coffre-fort comme fichiers à télécharger
Les moniteurs d’API multi-étapes vous permettent de charger des fichiers depuis le coffre-fort dans le cadre de la définition de la requête.
Pour charger un fichier depuis le coffre-fort, suivez ces étapes :
- Dans l’onglet Requête > Corps de requête, sélectionnez l’une des options suivantes :
- Télécharger un fichier (en tant que données de formulaire)
- Télécharger un fichier (en tant que binaire)
- Multi-part form
- Cliquez sur Ajouter un fichier à partir du coffre-fort.
- Choisissez le fichier approprié stocké dans le coffre-fort.
- Cliquez sur pour ajouter le fichier.
Le fichier a été ajouté. Vous n’avez pas besoin de spécifier d’en-têtes de requête, car certains en-têtes comme Content-Type: multipart/form-data
ont été ajoutés automatiquement et définis avec la valeur correcte.
Vous pouvez vérifier si le chargement du fichier a réussi en effectuant un test dans le moniteur. Vous verrez les résultats dans les en-têtes et le contenu de la requête :
Personnalisation de scripts
La requête et la réponse d’une étape peuvent toutes deux être enrichies en personnalisant les scripts dans les onglets Pré-Requête et Post-Réponse. Cette fonctionnalité vous permet d’exécuter des scripts écrits en langage JavaScript pour exécuter une logique personnalisée et des tests fonctionnels approfondis. En plus des capacités offertes par le langage JavaScript, vous pouvez aussi utiliser les extraits de code, qui sont des scripts prédéfinis fournis par Uptrends pour vous permettre de vérifier le fonctionnement et le comportement de vos API.