LES RÉFÉRENTIELS TECHNIQUES
BoisREF
LES SOLUTIONS TECHNIQUES
API Catalogue Bois Construction
Base de données du Catalogue Bois Construction.
Le Catalogue Bois Construction est désormais accessible directement en base de donnée via une API Interface de Programmation ou « Application Programming Interface » en anglais).
Les valeurs au sein des bases de données sont la fusion des tableaux et valeurs issues du Catalogue Bois Construction et de choix de valeurs standards par les organisations professionnelles.
La base de données actuelle recense les parties d’ouvrages suivantes :
Nom Table |
Désignation |
table1 |
Murs extérieurs sans exigences globales feu façade |
table2 |
Parements extérieurs simplifiés (pour MOB) |
table3 |
Murs Porteurs Intérieurs |
table4 |
Charpente Traditionnelle |
table5 |
Charpente Industrielle |
table6 |
Planchers intermédiaires |
table7 |
Planchers Bas |
table8 |
Panneaux |
table9 |
Bardage |
table10 |
Parquets |
table11 |
Toiture-terrasses |
table12 |
Façades ossature bois avec exigences globales feu façade |
table13 |
Murs extérieurs avec exigences globales feu façade |
Racine
Le point d’entrée racine de l’API est https://api.catalogue-bois-construction.fr/api
Dans la suite de cette documentation, il y sera fait référence par $API.
Authentification
L’API est en consultation uniquement. Il n’est pas nécessaire de s’authentifier pour l’interroger.
Formats de données API
Content-type
Les différents points d’API n’attendent pas de données d’entrée et renvoient en sortie du JSON (application/json).
Listes simples
Les listes simples sont renvoyées sous forme d’une liste JSON.
Par exemple, la liste des tables ($API/v1/tables) :
Gestion d’erreurs
La gestion d’erreur de l’API utilise les codes d’erreur HTTP standards :
400 : requête invalide
404 : Données non trouvées
500 : erreur indéfinie côté serveur
502 : le serveur ne répond pas
Lorsque c’est possible, l’API répondra en HTML.
Support
Si vous n’arrivez pas à comprendre une erreur, que vous avez besoin de support, pensez à fournir les éléments suivants :
- La requête HTTP effectuée (avec les entêtes HTTP)
- La réponse éventuelle du serveur (avec ses entêtes)
- La date et l’heure de la requête
- Un peu de contexte sur la raison de cette requête, son cadre, etc…
Parfois, la réponse en erreur comprend une entête X-Sentry-ID.
Pensez à fournir cet identifiant, il nous permettra de comprendre précisément ce qui ne va pas et, si c’est un bug, à le corriger.
Documentation de référence de l’API V1
Catalogues
GET $API/v1/catalogues (Liste des colonnes des tables)
{« data »:[
{« Id »: »xxxxx« , (n° de ligne)
« Guid »: »xxxxx« , (Guid)
« Name »: »xxxxx« , (Nom)
« CAOData »:{« ParameterType »: »xxxxx« }, (type de paramètre)
« UnitString »: »xxxxx« , (unité)
« Description »: »xxxxx« , (Description)
« Table »: »xxxxx« , (identifiant table {id})
« Column »: »xxxxx« }, (nom de colonne pour table {id})
… (Lignes suivantes)
]}
Tables
GET $API/v1/tables (Liste des tables)
{« data » :[
{« ID »: »xxxxx« , (identifiant de table {id})
« Name »: »xxxxx » (nom de la table)},
… (Lignes suivantes)
]}
Table
GET $API/v1/table/{id} (Liste le contenu de la table {id})
Paramètre : id (texte) – Identifiant de la table récupérée de Tables::data::ID
{« data »:[
{« id »:xxxxx, (n° de ligne)
« A »: »xxxxx« , (colonne A de la table {id})
« B »: »xxxxx« , (colonne B de la table {id})
« C »: »xxxxx« , (colonne C de la table {id})
« D »: »xxxxx« , (colonne D de la table {id})
« E »: »xxxxx« , (colonne E de la table {id})
« F »:xxxxx, (colonne F de la table {id})
« G »: »xxxxx« , (colonne G de la table {id})
« H »:xxxxx, (colonne H de la table {id})
… (colonne … de la table {id})},
… (Lignes suivantes)
]}
Version plugin
GET $API/v1/version_point (Liste le contenu d’une table)
{« data »:
{« Major »:xxxxx, (version majeur)
« Minor »:xxxxx, (version mineur)
« Revision »:xxxxx, (version de révision)
« Url »: »xxxxx« } (lien de téléchargement)
}
Documentation de référence de l’API V2
Certaines données font l’objet de mise à jour, d’ajout ou de suppression. Si vous souhaitez récupérer l’ensemble des données existantes, un second point d’API (API V2) permet de télécharger l’ensemble des données afin de conserver la traçabilité des valeurs.
Pour les solutions dont une des valeurs est modifiée:
- l’id de la valeur est conservé
- l’ancienne solution se voit attribuée un nouvel id
- la propriété « origine » prend la valeur de l’id d’origine pour conserver l’historique.
- les propriétés « ajoute » et « annule » permettent de connaitre les dates de création et suppression des solutions
Table
GET $API/v2/table/{id} (Liste le contenu de la table {id})
Paramètre : id (texte) – Identifiant de la table récupérée de Tables::data::ID
{« data »:[
{« id »:xxxxx, (n° de ligne)
« origine »:xxxxx (n° de la ligne modifiée)
« A »: »xxxxx« , (colonne A de la table {id})
« B »: »xxxxx« , (colonne B de la table {id})
« C »: »xxxxx« , (colonne C de la table {id})
« D »: »xxxxx« , (colonne D de la table {id})
« E »: »xxxxx« , (colonne E de la table {id})
« F »:xxxxx, (colonne F de la table {id})
« G »: »xxxxx« , (colonne G de la table {id})
« H »:xxxxx, (colonne H de la table {id})
… (colonne … de la table {id})}
« ajoute »: »aaaa-mm-jj hh:mm:ss » (Date de création de la ligne)
« annule »: »aaaa-mm-jj hh:mm:ss » (Date d’annulation de la ligne),
… (Lignes suivantes)