acceslibre-client fournit un client minimaliste autour de l'API de la plateforme acceslibre.
En utilisant npm:
npm install acceslibre-client
En utilisant yarn:
yarn add acceslibre-client
Node.js :
const { getEstablishments } = require("acceslibre-client");
const API_KEY = "YOUR_KEY"
(async () => {
const erps = await getEstablishments(API_KEY, { page: 1 });
)
React (Js) :
import { getEstablishments } from "acceslibre-client";
import { useEffect, useState } from "react";
const API_KEY = "YOUR_KEY";
function App() {
const [erps, setErps] = useState(undefined);
useEffect(() => {
(async () => {
const erps = await getEstablishments(API_KEY);
setErps(erps);
})();
}, []);
if (erps === undefined) {
return <p>Chargment..</p>;
}
if (erps === null) {
return <p>Impossible de récupérer les ERPs ... </p>;
}
return (
<div>
<h1>ERPs</h1>
<b>{erps.count} résultats</b>
{erps.results.map((erp) => (
<div>
<h2>{erp.nom}</h2>
<span>{erp.adresse}</span>
</div>
))}
</div>
);
}
export default App;
ENDPOINT:
/api/activites
Obtenir une liste d'activités d'ERP :
const activities = await getActivities(API_KEY);
Obtenir une activité particulière par le biais de son slug :
const activity = await readActivity(API_KEY, "accessoires");
Demander une page spécifique d'une liste d'activités :
const activities = await getActivities(API_KEY, { page: 2 });
Récupérer la activités de l'ensemble des ERP de la ville de Bordeaux :
const activities = await getActivities(API_KEY, { commune: "Bordeaux" });
ENDPOINT:
/api/erps
Obtenir une liste d'ERP :
const erps = await getEstablishments(API_KEY);
Obtenir un ERP en particulier par le biais de son slug :
const erp = await readEstablishment(API_KEY, "acdp-formation-82");
Demander une page spécifique d'une liste d'ERP :
const erps = await getEstablishments(API_KEY, { page: 2 });
Rechercher les ERPs contenant le terme "impôts" dans leur nom ou activité :
const erps = await getEstablishments(API_KEY, { q: "impôts" });
Récupérer les ERPs de la ville de Bordeaux :
const erps = await getEstablishments(API_KEY, { commune: "Bordeaux" });
La liste complète des paramètres de getErps()
est disponible dans la Documentation de l'API.
ENDPOINT:
/api/accessibilite
Obtenir une liste des critères d'accessibilité de plusieurs ERPs :
const erpsRequirements = await getAccessibilites(API_KEY);
Obtenir les critères d'accessibilité d'un ERP spécifique en utilisant le slug d'un critère :
const requirements = await readAccessibilite(API_KEY, "1234");
Demander une page spécifique d'une liste des critères d'accessibilité d'ERPs :
const erpsRequirements = await getAccessibilites(API_KEY, { page: 1 });
Les utilitaires sont disponibles dans acceslibre-client/dist/utils
.
La méthode readAccessibilite()
a besoin d'un id
que vous pouvez récupérer dans l'url disponible via la propriété accessibilite
du type IErp
.
import { IEstablishment readEstablishment, readAccessibility } from "acceslibre-client";
import { extractAccessibilitiesSlugFromApiUrl } from "acceslibre-client/dist/utils";
const API_KEY = "YOUR_KEY"
const erp: IEstablishment | null = await readEstablishment("erp-slug");
if (erp !== null) {
const requirementsId = extractAccessibiliteSlugFromApiUrl(erp.accessibilite);
if (requirementsId !== null) {
const erpRequirements = await readAccessibilite(requirementsId);
// ...
}
}
Il est également possible d'extraire le slug de l'url (web) d'un ERP par le biais d'une fonction utilitaire :
// imports..
const erpSlug: string | null = extractErpSlugFromUrl(
"https://acceslibre.beta.gouv.fr/app/33-begles/a/informatique/erp/mobalib/"
);
if (erpSlug !== null) {
console.log(erpSlug); // -> mobalib
}