Table des matières
BaCAD Steel List Barcodes Transcription API
version 0.2 (beta)
18.01.2012
Introduction
Bienvenue sur la documentation de l'API du service de retranscription de liste de fer BaCAD ! Ce service vous offre une interface simple pour extraire les données d'une liste de fer BaCAD, de manière rapide, grâce à la traduction des codes-barres 2D.
BaCAD utilise la norme d'échange de données d'armature BVBS.
Limitations d'utilisation
…
Authentification
Le service est sécurisé par un système d'authentification basique HTTP (paire user/password). Cette identification est nécessaire pour utiliser chacune des fonctionnalités présentées dans ce document.
Requêtes
L'API renvoie les données d'une liste de fer BaCAD en détectant/décodant les codes barres à l'intérieur. Vous envoyez la liste de fer sous plusieurs formats possibles:
- Pdf (Portable Document Format)
- Images
Ce document décrit le format requis des URLs et les paramètres disponibles.
Un URL de requête au service doit se présenter sous la forme suivante:
http://cloud.bacad.ch/steellist.php?parameters ou https://cloud.bacad.ch/steellist.php?parameters (connexion sécurisée SSL)
Paramètres
Excepté pour le document, chaque paramètre peut être spécifié soit dans l'URL (méthode GET) ou alors comme donnée postée (méthode POST). Les paramètres sont les suivants:
format: formats de sortieuploadedfile: document- options de sortie
Formats de sortie
Le format de sortie est spécifié grâce à la variable 'format'. L'API supporte actuellement les formats de sortie suivant:
- xml retourne les résultats sous forme XML, contenu dans un noeud <SteelListResponse>
- abs (Allgemeine-Bewehrungs-Schnittstelle) retourne les résultats sous forme ASCII (selon la norm BVBS)
Document
Le document doit être envoyé sur le site selon la méthode POST du protocole HTTP, sous le nom 'uploadedfile'.
Options de sortie
Les options de sortie permettent d'activer/désactiver la génération de données supplémentaires dans le résultat:
- Le paramètre
'posBvbs' à '1' indique que le service doit inclure les données BVBS (pour chaque barre) au résultat - Le paramètre
'barXml' à '1' indique que le service doit inclure les données XML (pour chaque barre) au résultat
Réponses
XML
Pour chaque demande valide, le service renvoie une réponse 'SteelListResponse' dans le format indiqué dans l'URL de requête. Chaque réponse contient les éléments suivants:
- Un code d'état status, qui peut avoir l'une des valeurs suivantes:
OKindiquant que la requête a été un succèsAUTH_FAILEDindiquant que l'identification de l'utilisateur a échoué (paire user/password)INVALID_REQUESTindiquant que la requête a été mal-forméesINVALID_API_KEYindiquant que la clé d'utilisation de l'API est incorrecteINVALID_FILE_TYPEindiquant que le type du fichier posté n'est supportéFILE_OVER_SIZE_LIMITindiquant que le fichier posté est trop volumineux (taille excessive)FILE_UPLOAD_ERRORindiquant une erreur de téléchargement du fichierINTERNAL_ERRORindiquant une erreur interne du serviceUNKNOWN_ERRORindiquant une erreur inconnue
- Un élément
documentcontenant les éléments décrivant les propriétés du document- Un élément
projectindiquant le nom du projet - Un élément
divisionindiquant le nom de la division
- Un tableau de résultats (pages) contenant:
- Un élément
numindiquant le numéro de la page - Un élément
thumbnailindiquant l'URL (partiel) vers l'aperçu (image) de la page - Un tableau de positions (pos) contenant:
- Un élément
numindiquant le numéro de la position - Un élément
bvbsindiquant le code BVBS de la position - Un élément
barcontenant les éléments décrivant les caractéristiques de la barre- Un élément
typeindiquant le type de la barre 2D, 3D, etc. Les valeurs peuvent être les suivantes:BF2Dindiquant une barre en 2 dimensionsBF3Dindiquant une barre en 3 dimensionsBFWEindiquant une barre en spirale
- Un tableau d'élément
dimensioncontenant les éléments décrivant chaque segment de la barre (selon son type)- Barre 2D
- Un élément
lengthindiquant la longueur du segment - Un élément
radiusindiquant le rayon du segment arrondi (0 si segment droit) - Un élément
angleindiquant la différence d'angle entre le segment et son prédécesseur
- Barre 3D
- Un élément
xindiquant la première composante du vecteur du segment - Un élément
yindiquant la deuxième composante du vecteur du segment - Un élément
zindiquant la troisième composante du vecteur du segment
- Barre spirale
- Un élément
radiusindiquant le rayon du cercle décrit par la spirale - Un élément
numberindiquant le nombre de rotations décrites par la spirale - Un élément
spacingindiquant l'espace entre chaque rotations décrites par la spirale
Exemples
Voici un exemple (partiel) du retour au format Xml:
<SteelListResponse> <status>OK</status> <document> <project>MyProject</project> <division>MyDivision</division> <language>FR</language> </document> <page> <num>1</num> <thumbnail>/foo/bar.png</thumbnail> <pos> <bvbs>BF2D@Hj00@r001@ia@p1@l3280@n6@e2.912@d12@gB500B@s72@v@Gl160@w90@l2960@w90@l160@w0@C69@CRLF</bvbs> <project>MyProject</project> <list>MyList</list> <revision>Revision</revision> <num>8</num> <count>42</count> <length>1000</length> <weight>1.2<weight> <steel>B500B</steel> <diameter>12</diameter> <bending>46</bending> <bar> <type>BF2D</type> <dimensions> <dimension> <length>500</length> <radius>250</radius> <angle>45</angle> </dimension> </dimensions> </bar> </pos> </page> </SteelListResponse>
Le format des dimensions de barre varie selon le type de barre. Voici un exemple pour les barres standards (type BF2D):
<dimension> <length>500</length> <radius>250</radius> <angle>45</angle> </dimension>
Un exemple pour les barres en 3 dimensions (type BF3D):
<dimension> <x>0</x> <y>0</y> <z>300</z> </dimension>
Un exemple pour les spirales (type BFWE):
<dimension> <radius>200</radius> <number>6</number> <spacing>200</spacing> </dimension>
Un exemple ABS:
BF2D@Hj00@r001@ia@p1@l3280@n6@e2.912@d12@gB500B@s72@v@Gl160@w90@l2960@w90@l160@w0@C69@ BF2D@Hj00@r001@ia@p2@l5280@n6@e4.688@d12@gB500B@s72@v@Gl160@w90@l4960@w90@l160@w0@C84@ BF2D@Hj00@r001@ia@p3@l2370@n11@e1.461@d10@gB500B@s60@v@Gl140@w90@l2230@w0@C71@ BF2D@Hj00@r001@ia@p4@l1960@n6@e1.208@d10@gB500B@s60@v@Gl1960@w0@C96@
Test
Une page Html est à disposition pour tester le service: cliquez ici.
