Exemples d'API web publiques
2024-10-19Il est possible d'accéder à l'API publique Pénuries de médicaments à l'aide de divers outils numériques. Le code suivant fournit des exemples pour certains d'entre eux.
Requêtes Python
La "Requests Library" est une option populaire pour accéder aux services web en langage Python.
Installation
Installez la bibliothèque en exécutant la commande suivante dans une fenêtre de terminal.
python -m pip install requests
Au début du fichier Python, assurez-vous d'importer la bibliothèque.
import requests
Connexion
Avant de pouvoir effectuer des appels à l'API, il est nécessaire de récupérer un jeton d'accès lié à votre compte. Le bloc de code suivant montre comment effectuer une demande de connexion et enregistrer le jeton d'accès résultant si la demande aboutit.
data = {'email' : '<my email>', 'password' : '<my password>'}
url = 'https://www.drugshortagescanada.ca/api/v1/login'
r = requests.post(url, json=data)
if r.status_code == 200 :
authToken = r.headers['auth-token']
Veillez remplacer les données <my email>
et <my password>
par vos valeurs réelles. Notez que l'API soutient à la fois le contenu JSON avec json=data
et l'encodage conventionnel des URL avec data=data
. Un script approprié devrait gérer un code de statut invalide et conserver le jeton d'authentification "authToken" pour les demandes ultérieures.
Recherche de rapports
Avec la valeur authToken disponible, il est maintenant possible de rechercher les rapports d'intérêt dans la base de données. Le bloc de code suivant montre comment effectuer cette requête.
parameters = {'term' : '<nom de l'entreprise>', 'limit' : 50, 'offset' : 0}
headers = {'auth-token' : authToken}
url = 'https://www.drugshortagescanada.ca/api/v1/search'
r = requests.get(url, headers=headers, params=parameters)
si r.status_code == 200 :
responseJson = r.json()
reports = responseJson['data']
Veillez remplacer la valeur <nom de l'entreprise> par le terme de recherche d'intérêt. Si l'objectif est de récupérer l'ensemble de la base de données de rapports pour une analyse personnalisée, il est recommandé d'utiliser plutôt l'extrait de données mensuelles. L'API est optimisée pour examiner un sous-ensemble plus restreint de déclarations, par exemple pour des entreprises individuelles ou des DIN spécifiques.
Notez l'inclusion des variables limit
et offset
dans les données de paramètres. En ajustant la valeur offset
, il est possible de parcourir les résultats dans les requêtes suivantes. Voici un exemple de demande de données à la "page 3".
parameters = {'term' : '<nom de l'entreprise>', 'limit' : 50, 'offset' : 150}
En répétant les demandes jusqu'à ce que la valeur page
soit égale à total_pages
, il est possible de parcourir les résultats.
L'API offre des options supplémentaires pour trier ou filtrer les réponses. En voici quelques exemples.
parameters = {'term' : '<nom de l'entreprise>', 'limit' : 50, 'offset' : 0, 'orderby' : 'brand_name', 'order' : 'asc'}
Cette méthode permet de trier les données par ordre alphabétique de nom de marque.
parameters = {'term' : '<nom de la société>', 'limit' : 50, 'offset' : 0, 'filter_status' : 'resolved'}
Cela permet de filtrer les résultats aux rapports qui ont été marqués comme étant résolus.
D'autres options de tri et de filtrage sont disponibles sur la page principale de documentation de l'API.
Collection Postman
Postman est un outil de développement d'API qui peut fournir une collection d'exemples de demandes. Nous avons créé une collection qui comprend les démonstrations suivantes :
- connexion
- recherche
- détails du rapport de pénurie
- détails du rapport de cessation d'activité
Cette collection peut être téléchargée ici. Vous devrez créer des variables d'environnement pour que les demandes initiales fonctionnent. Ces variables sont les suivantes
- API_URL = www.drugshortagescanada.ca
- email = l'adresse courriel de votre compte
- password = le mot de passe de votre compte
- auth_token = la valeur de l'entête auth-token fournie dans la réponse de connexion
cURL
Le moyen le plus rapide de vérifier les paramètres et l'URL de votre requête consiste à utiliser l'outil de ligne de commande cURL. Ceci est présent par défaut sur les systèmes Mac et Linux et peut être installé sur Windows s'il n'est pas déjà fourni.
Exécutez la commande suivante dans la fenêtre du terminal et remplacez simplement l'adresse courriel "email"
et le mot de passe si nécessaire.
curl 'https://www.drugshortagescanada.ca/api/v1/login' -D - -X POST --data "email=<email>&password=<password>"
Le résultat doit être un ensemble JSON contenant le compte utilisateur demandé et les entêtes de réponse contenant un jeton de connexion avec l'option -D -
.
Autres outils
Il existe d'autres moyens d'accéder à l'API, notamment Microsoft Excel, mais ils nécessitent plus de détails sur les résultats souhaités. Dans ces cas, veuillez contacter l'équipe d'assistance en utilisant la page Contact.