Présentation de API


Résumé

API signifie Interface de programmation d'applications. Il s'agit d'un ensemble de règles et de protocoles qui permet à différentes applications logicielles de communiquer et d'interagir entre elles. Une API définit les méthodes et les formats de données que les applications peuvent utiliser pour demander et échanger des informations.

Les API peuvent être utilisées pour permettre à différents systèmes logiciels, services ou plates-formes d'interagir les uns avec les autres de manière transparente. Ils fournissent aux développeurs un moyen standardisé d'accéder à certaines fonctionnalités ou données d'une application logicielle sans avoir à comprendre les détails de mise en œuvre sous-jacents. En utilisant des API, les développeurs peuvent économiser du temps et des efforts en tirant parti des fonctionnalités existantes plutôt que de tout créer à partir de rien.

Les API peuvent être trouvées dans divers contextes, tels que le développement Web, les systèmes d'exploitation, les bibliothèques et les frameworks. Ils sont couramment utilisés pour récupérer des données à partir de serveurs distants, envoyer des données à des systèmes externes, intégrer des services tiers ou automatiser des tâches.


Requêtes

Les requêtes API (ou requêtes) sont un moyen d'interagir avec une API (Interface de programmation d'application) via des requêtes HTTP. Une API est un ensemble de règles et de protocoles qui permettent à différents systèmes logiciels de communiquer et de partager des informations entre eux.


URL de base

L'URL de base dans une API est la partie fixe de l'URL qui est commune à toutes les requêtes effectuées vers l'API. Elle définit le domaine initial et le chemin d'accès pour accéder aux points de terminaison de l'API. À partir de l'URL de base, vous pouvez ajouter des chemins spécifiques à chaque point de terminaison ou ressource de l'API. Dans notre système, l'URL de base est : http://neopay-master


Verbes HTTP

Les verbes HTTP, également appelés méthodes HTTP, sont les principales méthodes ou actions pouvant être effectuées sur un serveur web. Ils indiquent le type d'opération demandée sur une ressource spécifique. Voici quelques-uns des verbes HTTP les plus courants et leur signification :

Verb Description
GET Le verbe GET est utilisé pour demander des données à une ressource spécifique. Il est utilisé pour récupérer des informations depuis le serveur.
Exemple : GET /api/customers - Récupère la liste des clients de l'API.
POST Le verbe POST est utilisé pour envoyer des données au serveur afin de créer une nouvelle ressource. Il est souvent utilisé pour soumettre des formulaires ou envoyer des données JSON à l'API.
Exemple : POST /api/customers - Crée un nouveau client avec les données fournies.
PUT Le verbe PUT est utilisé pour mettre à jour intégralement une ressource existante sur le serveur. Il envoie toutes les données de la ressource pour remplacer les données existantes.
Exemple : PUT /api/customers/{id} - Met à jour les données du client avec les données fournies.
PATCH Le verbe PATCH est utilisé pour mettre à jour partiellement une ressource existante sur le serveur. Il envoie uniquement les données qui doivent être modifiées, sans affecter le reste des données de la ressource.
Exemple : PATCH /api/customers/{id} - Met à jour partiellement les données du client avec les données fournies.
DELETE Le verbe DELETE est utilisé pour supprimer une ressource du serveur.
Exemple : DELETE /api/customers/{id} - Supprime le client.
---

Paramètres

Les paramètres dans les API sont des informations supplémentaires fournies dans une requête pour ajuster ou filtrer les résultats renvoyés par l'API. Ils sont utilisés pour personnaliser la manière dont l'API répond aux requêtes. Les paramètres sont spécifiés dans l'URL de la requête HTTP et peuvent être classés en deux types principaux : les paramètres de requête et les paramètres de chemin.

GET /api/links?status=active

Dans cet exemple, nous avons un seul paramètre de requête :

  1. status=active: Spécifie que nous voulons uniquement les liens avec le statut = active


Pour les requêtes POST, PUT, and DELETE, les paramètres non inclus dans l'URL doivent être encodés au format JSON avec un en-tête Content-Type de application/json :

{
    "id": "98fa8d80-bb04-4a39-a5c0-b69ca5708664",
    "name": "John Doe",
    "email": "johndoe@gmail.com",
    "phone": "+33 7 65 31 39 61",
    "city": "Paris",
    "state": "Île de France",
    "zip_code": "70123",
    "street": "Avenue Victor Hugo.",
    "house_number": "33"
}

HTTP Status Code

Les codes d'état HTTP sont des nombres à trois chiffres renvoyés par un serveur pour indiquer l'état de la demande d'un client effectuée via le protocole HTTP (Hypertext Transfer Protocol). Ces codes d'état fournissent des informations sur le résultat de la demande et permettent au client et au serveur de communiquer efficacement. Voici quelques codes d'état HTTP couramment utilisés avec leurs explications :

Statut Descriptif
200 Ce code d'état indique que la demande du client a abouti. Il est utilisé lorsque le serveur répond avec succès à une requête GET, POST, PUT ou DELETE. Par exemple, si un client demande une page Web et reçoit le contenu sans aucun problème, le serveur répondra avec un code d'état 200 OK.
201 Ce code d'état est utilisé pour indiquer qu'une nouvelle ressource a été créée avec succès à la suite de la demande du client. Il est souvent envoyé en réponse à une requête POST. Par exemple, si un client soumet un formulaire pour créer un nouveau compte d'utilisateur et que le serveur crée avec succès le compte, il répondra avec un statut 201 Créé.
400 Ce code d'état indique que le serveur ne peut pas traiter la demande du client en raison d'une syntaxe ou de paramètres non valides. Il est couramment utilisé lorsque le client envoie une requête que le serveur ne peut pas comprendre. Par exemple, si un client soumet un formulaire avec des données manquantes ou incorrectes, le serveur peut répondre avec un code d'état 400 Bad Request.
404 Ce code d'état indique que le serveur ne trouve pas la ressource demandée. Il est couramment utilisé lorsque le client demande une URL qui n'existe pas ou n'est pas disponible. Par exemple, si un client essaie d'accéder à une page Web qui a été supprimée ou a entré une URL incorrecte, le serveur répondra avec un code d'état 404 Not Found.
401 Le code d'état 401 Non autorisé indique que la demande faite par le client ne dispose pas d'identifiants d'authentification valides. Cela signifie que le client doit fournir des informations d'identification valides pour accéder à la ressource demandée, mais qu'il n'a pas réussi à le faire ou que les informations d'identification fournies ne sont pas valides.
500 Ce code d'état indique qu'une erreur inattendue s'est produite sur le serveur lors du traitement de la demande du client. Il s'agit d'un message d'erreur générique utilisé lorsque le serveur rencontre un problème interne qui l'empêche de répondre à la demande. Par exemple, s'il y a un problème avec la configuration du serveur ou une erreur de programmation, il peut répondre avec un code d'état 500 Erreur interne du serveur.

Rate Limit

Les limites de débit d'API font référence aux restrictions définies par les fournisseurs d'API sur le nombre de demandes pouvant être effectuées dans un délai spécifique. Ces limites sont imposées pour prévenir les abus, garantir une utilisation équitable et maintenir les performances et la disponibilité globales de l'API. En mettant en œuvre des limites de débit, les fournisseurs d'API peuvent contrôler le débit auquel les clients peuvent accéder à leurs services.

Les limites de débit d'API sont généralement définies en fonction de deux paramètres :

  1. Rate Limit Window: Il s'agit de la période pendant laquelle la limite de taux s'applique. Par exemple, une fenêtre de limite de débit d'une heure signifie que la limite est appliquée sur une période de 60 minutes.

  2. Request Limit: Il s'agit du nombre maximal de demandes autorisées dans la fenêtre de limite de débit. Il représente le seuil au-delà duquel les demandes supplémentaires seront refusées ou retardées. Par exemple, si la limite de demandes est fixée à 1000, seules les 1000 premières demandes seront traitées dans le délai spécifié.

Voici quelques exemples pour illustrer les limites de débit de l'API :

  1. Twitter API: L'API Twitter impose des limites de débit pour contrôler l'accès à ses ressources. Pour certains terminaux, la limite de débit peut être fixée à 15 requêtes par fenêtre de 15 minutes. Cela signifie qu'un client peut faire jusqu'à 15 demandes en 15 minutes. Si le client dépasse cette limite, d'autres requêtes seront bloquées jusqu'à ce que la fenêtre se réinitialise.

  2. Google Maps API: L'API Google Maps applique des limites tarifaires en fonction de la clé API utilisée et du type de service auquel vous accédez. Par exemple, l'API de géocodage a une limite par défaut de 50 requêtes par seconde. Si un client dépasse ce débit, il peut recevoir des réponses d'erreur ou subir des retards jusqu'à ce que la limite de débit soit réinitialisée.


Date

Toutes les dates sont renvoyées au format UTC: YYYY-DD-MM HH:MM:SS


Pagination

La pagination de l'API est une technique utilisée pour récupérer de grands ensembles de données à partir d'une API dans des blocs plus petits et gérables appelés pages. Lorsqu'une réponse d'API contient un grand nombre d'éléments ou d'enregistrements, la pagination permet au client de récupérer les données de manière incrémentielle plutôt qu'en une seule fois.

L'objectif de la pagination de l'API est d'améliorer les performances, de réduire l'utilisation de la bande passante du réseau et d'améliorer l'expérience utilisateur globale en décomposant de grands ensembles de résultats en parties plus gérables.

La pagination implique généralement les composants suivants :


  1. Page Size/Limit: Cela représente le nombre maximal d'éléments ou d'enregistrements renvoyés dans une seule réponse d'API. Il détermine la taille de chaque page. Par exemple, une taille de page de 50 signifie que chaque réponse contiendra un maximum de 50 éléments.

  2. Page Number/Offset: Cela indique la position de la page dans le jeu de résultats global. La première page est généralement désignée par le numéro de page 1, la deuxième page par le numéro de page 2, etc. Alternativement, certaines API utilisent une valeur de décalage qui représente le nombre d'éléments à ignorer avant de commencer une nouvelle page.

  3. Total Count: Cela spécifie le nombre total d'éléments ou d'enregistrements disponibles dans l'ensemble du jeu de résultats. Il aide le client à comprendre la taille globale des données et à déterminer le nombre de pages nécessaires pour récupérer tous les éléments.

Example

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "title": "Post 1",
            "content": "Lorem ipsum dolor sit amet."
        },
        {
            "id": 2,
            "title": "Post 2",
            "content": "Sed ut perspiciatis unde omnis iste natus error."
        }
        // ... other posts on the current page
    ],
    "first_page_url": "http://example.com/posts?page=1",
    "from": 1,
    "last_page": 5,
    "last_page_url": "http://example.com/posts?page=5"
    // ... other pagination information
}

Versions

Une version d'API fait référence à une itération ou à une version spécifique d'une interface de programmation d'application (API). Une API est un ensemble de règles et de protocoles qui permet à différentes applications logicielles de communiquer et d'interagir entre elles. Les API sont couramment utilisées dans le développement de logiciels pour permettre l'échange de données et de fonctionnalités entre différents systèmes.

À mesure que le logiciel évolue au fil du temps, les API peuvent subir des modifications pour ajouter de nouvelles fonctionnalités, corriger des bogues ou améliorer les performances. Chaque mise à jour ou modification importante d'une API se voit généralement attribuer un numéro de version pour la distinguer des versions précédentes. La gestion des versions d'API permet d'assurer la compatibilité et offre aux développeurs un moyen de gérer les modifications de manière contrôlée.


Les numéros de version des API suivent généralement un format spécifique, tel que "major.minor.patch". Le numéro de version majeur indique souvent des modifications importantes susceptibles d'introduire des modifications avec rupture, tandis que le numéro de version mineur représente des fonctionnalités ajoutées ou des améliorations rétrocompatibles. Le numéro de version du correctif indique généralement des corrections de bogues ou des mises à jour mineures qui n'introduisent pas de nouvelles fonctionnalités.

Par exemple, une API dont la version est "v1.2.3" implique qu'il s'agit de la première version majeure (v1), avec deux mises à jour mineures (2) et trois correctifs (3) appliqués. Les développeurs peuvent référencer la version spécifique d'une API pour assurer la compatibilité et maintenir la cohérence lors de son intégration dans leurs applications.