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)