API Oeno2cuve V3
Documentation
1 - Introduction
L'API de Oeno2cuve permet d'envoyer des demandes d'analyses, de récupérer des résultats d'analyses, de lister des bulletins, de télécharger des bulletins et récupérer le paramétrage. Elle utilise le protocole HTTP/2, l'architecture AJAX, le format de données JSON ainsi que l'encodage UTF−8. Le maintien des sessions se fait via un Cookie HTTP.
Tous les appels se font via une URL sécurisée unique :
URL : | https://v3-oeno2cuve-service.mydesk.run |
---|---|
Méthode : | GET ou POST |
Entêtes : | ‣ X-Requested-With: XMLHttpRequest
‣ Cookie: string
|
Paramètres : | Si méthode GET, les transmettre dans l'URL de la requête HTTP. Exemple :
Si méthode POST, les transmettre dans le corps de la requête HTTP. Exemple :
|
Résultat : | Tous les résultats sont retournés au format JSON. Exemple :
Et contiendrons systématiquement les données suivantes : ‣ success=boolean
‣ msg=string (Seulement si success=false)
‣ code=integer (Seulement si success=false)
|
2 - Connexion et session
Pour utiliser l'API Oeno2cuve, il faut vous connecter au service web. Vous recevrez alors un identifiant de session sous forme de Cookie, dans l'entête de la réponse HTTP, qu'il faudra fournir ultérieurement en tant que Cookie dans l'entête de chaque requête HTTP. Une fois les traitements terminés, il convient de se déconnecter de service web afin de détruire la session sur le serveur.
2.1 - Connexion
S'identifier au service avec le login, le mot de passe et l'identifiant laboratoire d'un utilisateur non-administrateur.
Méthode : | POST |
---|---|
Chemin : | / |
Paramètres : | ‣ __boot_action=login
‣ __boot_value={"login":string,"passwd":string,"id_laboratoire":integer} |
Résultat : | Aucune donnée |
2.2 - Vérification et maintien de la session
Appeler cette fonction si la durée est trop longue entre les appels.
Méthode : | GET |
---|---|
Chemin : | / |
Paramètres : | ‣ __boot_checksession |
Résultat : | Aucune donnée |
2.3 - Déconnexion
Se déconnecter du service.
Méthode : | POST |
---|---|
Chemin : | / |
Paramètres : | ‣ __boot_action=logout |
Résultat : | Aucune donnée |
3 - Demandes d'analyses
L'API permet d'envoyer des demandes d'analyses.
3.1 - Envoi
Envoyer un fichier de demande d'analyse
Méthode : | POST |
---|---|
Chemin : | /data/analyse_demandes.upload |
Entêtes suppl. : | ‣ Content-Type: multipart/form-data |
Paramètres : | ‣ uploaded_file=file
|
Résultat : | ‣ total=integer
‣ rows=array[object]
|
3.2 - Résultats d'analyses
L'API permet de lister, récupérer et supprimer les fichiers contenant les résultats d'analyses.
3.2.1 - Lecture
Lister les fichiers contenant les résultats d'analyses.
Méthode : | GET |
---|---|
Chemin : | /data/analyse_resultats.read |
Paramètres : | Aucun |
Résultat : | ‣ total=integer
‣ rows=array[object]
|
3.2.2 - Récupération
Télécharger un fichier résultat parmi les fichiers listé.
Méthode : | GET |
---|---|
Chemin : | /data/analyse_resultat.download |
Paramètres : | ‣ uri=string (facultatif)
|
Résultat : | Fichier |
4.3 - Suppression
Supprimer un fichier contenant des résultats.
Méthode : | GET |
---|---|
Chemin : | /data/analyse_resultat.delete |
Paramètres : | ‣ uri=string (facultatif)
|
Résultat : | Aucune donnée |
6 - Paramétrage du XML
L'API permet récupérer le paramétrage du laboratoire pour l'échange de données.
6.1 - Récupération
Télécharger le paramétrage.
Méthode : | GET |
---|---|
Chemin : | /data/parametrage.download |
Paramètres : | Aucun |
Résultat : | Fichier |
7 - Bulletins
L'API permet de lister les bulletins selon quelques critères, ensuite il faut exploiter cette liste pour récupérer les Identifiants de bulletins permettant leur téléchargement.
5.1 - Liste des bulletins selon certains critères
permet de retrouver les uid de bulletins pour le téléchargement du bulletin en pdf lors de la fonction download.
Méthode : | GET |
---|---|
Chemin : | /data/bulletins.read |
Paramètres : | ‣ dateheure_bulletin_min=date ('YYYY-MM-DD HH-II-SS') (facultatif)
‣ dateheure_bulletin_max=date ('YYYY-MM-DD HH-II-SS') (facultatif)
‣ id_externe=integer (facultatif)
‣ id=integer (facultatif)
‣ sort=string (facultatif)
‣ dir=string (facultatif)
‣ limit=integer (facultatif) (indissociable du paramètre start)
‣ start=integer (facultatif) (indissociable du paramètre limit)
|
Résultat : | ‣ total=integer
‣ rows=array[object]
|
5.2 - Récupération d'un bulletin au format pdf
Télécharger un bulletin d'après son UID (récupéré dans la liste des bulletibns)
Méthode : | GET |
---|---|
Chemin : | /data/bulletin.download |
Paramètres : | ‣ id=integer
|
Résultat : | Fichier |
5 - Description de tables bulletins et échantillons (version en ligne)
Vous trouverez ci-dessous le liste des champs de chaque table utile pour l'interrogation de la liste des bulletins selon certains critères.
5.1 - Champs de la table bulletin
Champs | Type | Description |
---|---|---|
id | integer | Identifiant unique d'un bulletin |
dateheure_bulletin | date ('YYYY-MM-DD HH-II-SS') | |
dateheure_envoi | date ('YYYY-MM-DD HH-II-SS') | |
ent_ref | integer | code client dans le laboratoire |
no_cofrac | integer | N° COFRAC du bulletin (optionnel) |
no_export | integer | N°Export du bulletin (optionnel) |
nom_fichier | string | |
nom_prn | string | nom du format de bulletin correspondant |
5.2 - Champs de la table bulletin-échantillon
Champs | Type | Description |
---|---|---|
dom_chtx | string |
5.3 - Champs de la table échantillon
Champs | Type | Description |
---|---|---|
id_externe | string | Identifiant fourni par le client pour identifier l'échantillon dans son référentiel. |
noechantillon | integer | n° d'échantillon tel que connu dans le laboratoire |
nomanalyses | string | bilan analytique appliqué à l'échantillon |
no_lot | string | n° de lot |
millesime | string | |
novin | string | n°vin identifiant permettant la traçabilité l'exploitation est par laboratoire par client |
nocuve | string | champ identifiant le contenant (cuve, fut, parcelle, ...) |
appellation | string |