Vous êtes sur la page 1sur 9

API

Offisanté

V 1.0

API Offisanté v1.0.6


Tablé dés matiérés
1 Généralités ...................................................................................................................................... 3
1.1 Objet ........................................................................................................................................ 3
1.2 Confidentialité ......................................................................................................................... 3
1.3 Couche transport ..................................................................................................................... 3
1.4 Compression ............................................................................................................................ 3
1.5 Limites ..................................................................................................................................... 3
2 Authentification............................................................................................................................... 4
2.1 Obtention d’un token .............................................................................................................. 4
2.1.1 Envoi ................................................................................................................................ 4
2.1.2 Réception......................................................................................................................... 4
2.1.3 Exemple ........................................................................................................................... 4
2.2 Utilisation des token................................................................................................................ 5
3 Environnements et identifiants ....................................................................................................... 5
3.1 URL des points d’accès ............................................................................................................ 5
3.2 Identifiants .............................................................................................................................. 5
4 Démo ............................................................................................................................................... 5
4.1 GET 1/dw/stock ....................................................................................................................... 5
4.2 URL et authentification........................................................................................................... 5
4.2.1 Paramètres à envoyer ..................................................................................................... 5
4.2.2 Réception......................................................................................................................... 5
4.2.3 Exemple ........................................................................................................................... 6
5 Erreurs ............................................................................................................................................. 9

API Offisanté v1.0.6


1 Généralités
1.1 Objet
Ce document décrit les aspects techniques de connexion au web service Offisanté (appelé dans ce
document API).
Les points d’accès (URL et méthodes http) sont décrits dans la documentation de chaque projet, et
ne sont pas décrits dans ce document.

1.2 Confidentialité
L’API n’est pas ouverte. Son usage est exclusivement dédié à certains projets. En conséquence, ce
document ne doit pas être diffusé, divulgué à tiers non explicitement autorisés par Offisanté.

1.3 Couche transport


L’API est de type RESTFUL sur HTTPS : toutes les requêtes doivent être en HTTPS.
Les données envoyées et reçues sont au format JSON.

1.4 Compression
Les données envoyées peuvent être compressées en gzip. Dans ce cas, il faut ajouter l’entête HTTP
« Content-Encoding : gzip »
Les données reçues peuvent être compressées en gzip. Pour cela il faut ajouter l’entête http
« Accept-Encoding : gzip »

1.5 Limites
Chaque réponse (en dehors de la demande de token) contient les paramètres suivants en plus de
ceux décrits
Paramètre Valeur
remaining nombre d’utilisations restantes dans la minute
next Date de remise à 10 du nombre d’utilisations restantes
version version de l’API

Ainsi, seuls 10 appels par minute sont possibles avec un token donné.
D’autres limitations d’utilisation pourront être mises en place selon les points d’accès.

API Offisanté v1.0.6


2 Authentification
L’authentification à l’API est faite par token.
Les tokens sont valides 24h, et ne peuvent être utilisé plus de 10 fois par minute. Ils sont liés à un
utilisateur, un user agent et une IP sortante.

2.1 Obtention d’un token


Cf §3 pour les valeurs des paramètres liés à l’environnement.
Un même login ne peut être utilisé que deux fois par minute pour demander un token.

2.1.1 Envoi
Le token s’obtient en faisant un appel en POST sur l’URL 1/auth.
Paramètre Valeur
UserName Nom d’utilisateur : cf §3.2
Password Mot de passe: cf §3.2
AppKey Identifiant d’application: cf §3.2

2.1.2 Réception
En cas de succès, la réponse est :
Paramètre Valeur
code 0
accessToken token à stocker et à réutiliser. Les / (slashs) sont échappés dans la réponse. Il
convient de remplacer \/ par /

2.1.3 Exemple
Envoi
POST :
{
"UserName":"john",
"Password":"doe",
"AppKey":"4f654efq4df"
}
Réponse
{
"code":0,
"accessToken":"gS2nO+kZ6zkiVr67eFzGmdGqm4FEBHwskw7EnThhwioHFgIc+Gz197JKm8In5DODXBb
E67c9bUlyLzmqgkdCLLfmbBED28vmFbDfedrsxdX86Q\/wy6w1G\/H991pxTaMAbJTlQzg7XQ2J+jt4rQA
==",
"remaining":10,
"next":"Fri, 15 Apr 2016 11:57:59 +0200",
"version":"1.0.1"
}

API Offisanté v1.0.6


2.2 Utilisation des token
Le token obtenu doit être renvoyé dans les autres requêtes en tant que header « Authorization »

3 Environnements et identifiants
3.1 URL des points d’accès
L’URL à appeler est constituée :
- D’une racine : https://api.offisante.fr
- D’un point d’accès

3.2 Identifiants
L’AppKey est propre à chaque projet.
Le login et le mot de passe correspondent à un utilisateur donné qui a des droits sur des points
d’accès du projet.

4 Démo
Un point d’accès de démonstration est disponible.
Il renvoie les stocks de deux pharmacies.

4.1 GET 1/dw/stock

4.2 URL et authentification


URL : https://api.offisante.fr/1/dw/stock
AppKey : 42YzzBiXy6W2
UserName : demo2
Password : demo02

4.2.1 Paramètres à envoyer


Rien à envoyer

4.2.2 Réception
Paramètre Valeur
stock Tableau de stock
CIP Le CIP de la pharmacie
Products Tableau de produits :
- CIP7 : le CIP7 de la pharmacie
- CODE13 : tableau de codes 13 (CIP et EAN)
- Customer_Price : prix de vente TTC
- Stock : Quantité en stock

API Offisanté v1.0.6


4.2.3 Exemple
Réception

{
"stock": [
{
"CIP": 2174823,
"Products": [
{
"CIP7": "7703609",
"CODE13": [
"3401077036096"
],
"Label": "ECHARPE DONJOY CONTENT FORT AD",
"Customer_Price": 15.7,
"Stock": 0
},
{
"CIP7": "7703615",
"CODE13": [
"3401077036157"
],
"Label": "ECHARPE DONJOY CONTENT NORM AD",
"Customer_Price": 15.24,
"Stock": 2
},
{
"CIP7": "7703621",
"CODE13": [
"3401077036218"
],
"Label": "ECHARPE DONJOY CONTENT ENF/ADO",
"Customer_Price": 15.7,
"Stock": 1
},
{
"CIP7": "7706275",
"CODE13": [
"3401577062755",
"3595897706274"
],
"Label": "SINOMARIN HYPERTON NOUR/ENF SPR100",
"Customer_Price": 10.04,
"Stock": 0
}

API Offisanté v1.0.6


]
},
{
"CIP": 2173699,
"Products": [
{
"CIP7": "7706275",
"CODE13": [
"3401577062755",
"3595897706274"
],
"Label": "SINOMARIN HYPERTON NOUR/ENF SPR100",
"Customer_Price": 8.95,
"Stock": 1
},
{
"CIP7": "7706418",
"CODE13": [
"3323037706415",
"3401577064186"
],
"Label": "AKILEINE BAUME HYDRA-DEFENSE TB",
"Customer_Price": 8.7,
"Stock": 6
},
{
"CIP7": "7706482",
"CODE13": [
"3760027980064"
],
"Label": "SUDINE SPRAY CHAUS PULV 125ML",
"Customer_Price": 14.1,
"Stock": 0
},
{
"CIP7": "7710147",
"CODE13": [
"3337871310592",
"3401377101470"
],
"Label": "VICHY DEOD A/TRANSP AERO 125ML",
"Customer_Price": 6.49,
"Stock": 1
}
]

API Offisanté v1.0.6


}
],
"remaining": 9,
"next": "Mon, 19 Feb 2018 17:15:29 +0100",
"version": "1.0.4"
}

API Offisanté v1.0.6


5 Erreurs
En cas d’erreur, un statut HTTP en 40x ou 50x est envoyé avec un code négatif, un message et une
description en JSON.

Code Description
-1; Erreur non précisée
-2 Erreur interne au serveur Offisanté
-3 Informations de connexion pour obtenir un token erronées
-4 Trop de demandes de tokens pour le même UserName
-5 Token inconnu
-6 Trop de requêtes avec le même token
-7 Token mal formé
-8 Droits insuffisants pour ce point d’accès
-9 User agent ne correspondant pas au token
-10 IP sortante ne correspondant pas au token
-11 AppKey inconnue
-12 Requête sans HTTPS
-13 Erreur de parsing du JSON envoyé
-14 Erreur fonctionnelle dans les données envoyées

API Offisanté v1.0.6

Vous aimerez peut-être aussi