|
L'authentification auprès de l'API se fait à l'aide d'un token unique qui vous a été communiqué.
Ce dernier doit IMPERATIVEMENT être fourni lors de CHAQUE requête dans l'en-tête HTTP "Authorization".
Toutes les données sont renvoyées au format JSON. Elles se décomposent en des données d'en-têtes telles que le temps d'exécution de la requête ou encore le nombre de résultats, et les données elle-même, contenues dans le noeud "data".
Exemple d'en-tête :{
"code": 200,
"api": "Location-Gardemeuble API",
"version": 2,
"datetime": "2024-11-21 05:12:34",
"execution": 10,
"results": 0,
"data": []
}
Par ailleurs, chaque entité gm / box possède un nœud "api" contenant les URL et la méthode pour respectivement :
• Lister les boxes du centre
• Ajouter un nouveau box au centre
• Modifier ce box
• Supprimer ce box
{
"api": {
"list": {
"method": "GET",
"url": "https://api.location-gardemeuble.fr/gm/1/box"
},
"add": {
"method": "POST",
"url": "https://api.location-gardemeuble.fr/gm/1/box"
},
"edit": {
"method": "PATCH",
"url": "https://api.location-gardemeuble.fr/gm/1/box/2"
},
"delete": {
"method": "DELETE",
"url": "https://api.location-gardemeuble.fr/gm/1/box/2"
}
}
}
Enfin, si une erreur se produit lors de la requête, un court message d'erreur sera contenu dans le noeud "error".
Le noeud "data" sera absent en cas d'erreur, remplacé par le noeud "error".
{
"id": 2,
"gm_id": 1,
"type": 6,
"size": 3,
"unit": "m2",
"services": [
"Box propre",
"Cadenas fourni",
"Pas cher",
"2m de haut"
],
"promo": "Ceci est une promotion !",
"price": {
"normal": 30,
"strike": 40,
"show": true
},
"available": 0,
"link": ""
}
int id : Identifiant unique du box
int gm_id : Identifiant unique du centre
int
type :
0 : Box
1 : Parking
2 : Box RDC
3 : Box Etage
4 : Box Accès Direct
5 : Stockage au sol
6 : Stockage bateau
7 : Carton
8 : Box mobile
9 : Autre Volume
float size : Taille dans l'unité unit
string
unit :
"m2" : Mètres carrés
"m3" : Mètres cubes
array[] services : Tableau de strings (max 4, chaine vide autorisée)
string promo : Promotion en cours (chaine vide autorisée)
float price.normal : Prix affiché
float price.strike : Prix barré (prix normal affiché si 0)
bool
price.show :
false : Prix masqué (affiche "Prix sur devis")
true : Prix affiché
int available : Quantité disponible (box invisible si < 1)
string
link : Lien vers la page du box sur votre site
Redirige vers votre site lors du clic sur le box, laisser vide si vous utilisez le système de réservation intégré à LGM
GET https://api.location-gardemeuble.fr/gm
Retour : Liste de vos GM (contient aussi les URL pour récupérer les box)
[
{
"id": 1,
"name": "GM Test",
"url": "https://www.location-gardemeuble.fr/box-garde-meuble-testheim-test-550",
"address": "55 rue de test",
"city": "99999 Testheim",
"api": {
"list": {
"method": "GET",
"url": "https://api.location-gardemeuble.fr/gm/1/box"
},
"add": {
"method": "POST",
"url": "https://api.location-gardemeuble.fr/gm/1/box"
},
"edit": {
"method": "PATCH",
"url": "https://api.location-gardemeuble.fr/gm/1/box/2"
},
"delete": {
"method": "DELETE",
"url": "https://api.location-gardemeuble.fr/gm/1/box/2"
}
}
},
{
"id": 2,
"name": "GM Debug",
"api": {
"list": {
"method": "GET",
"url": "https://api.location-gardemeuble.fr/gm/2/box"
},
"add": {
"method": "POST",
"url": "https://api.location-gardemeuble.fr/gm/2/box"
},
"edit": {
"method": "PATCH",
"url": "https://api.location-gardemeuble.fr/gm/2/box/3"
},
"delete": {
"method": "DELETE",
"url": "https://api.location-gardemeuble.fr/gm/2/box/3"
}
}
}
]
GET https://api.location-gardemeuble.fr/gm/[id]/box
Paramètres d'URL:
• int id : Identifiant unique du GM
Retour :
• Tableau d'entités BOX
GET https://api.location-gardemeuble.fr/gm/[id]/box/[box_id]
Paramètres d'URL:
• int id : Identifiant unique du GM
• int box_id : Identifiant unique du BOX
Retour :
• Entité BOX
POST https://api.location-gardemeuble.fr/gm/[id]/box
Paramètres d'URL:
• int id : Identifiant unique du GM
{
"type": 6,
"size": 3,
"unit": "m2",
"services": [
"Box propre",
"Cadenas fourni",
"Pas cher",
"2m de haut"
],
"promo": "Ceci est une promotion !",
"price": {
"normal": 30,
"strike": 40,
"show": true
},
"available": 0,
"link": ""
}
Attention, il faut renseigner toutes les données d'un box lors de sa création, même si certaines peuvent être laissées vides, sauf :
• Le noeud "id" ne doit pas être renseigné, il sera généré automatiquement.
• Le noeud "gm_id" ne doit pas être renseigné, il sera remplacé automatiquement par l'id du centre fourni dans l'URL.
Retour :
• Entité BOX créé
PATCH https://api.location-gardemeuble.fr/gm/[id]/box/[box_id]
Paramètres d'URL:
• int id : Identifiant unique du GM
• int box_id : Identifiant unique du BOX
{
"size": 4,
"type": 0,
"unit": "m2"
}
Retour :
• Entité BOX modifiée
DELETE https://api.location-gardemeuble.fr/gm/[id]/box/[box_id]
Paramètres d'URL:
• int id : Identifiant unique du GM
• int box_id : Identifiant unique du BOX
Retour :
• Entité BOX supprimée