L'envoi des commandes d'impression se fait via une API REST. Avant de pouvoir effectuer des requêtes vers l'API, vous devez d'abord vous authentifier en utilisant les informations reçues pour obtenir un jeton d'authentification. Ce jeton doit être inclus dans l'en-tête "Authorization" de chaque requête API suivante :
Authorization: Bearer <your-authentication-token>
URL API en direct https://api.bephoto.be
Authentifiez-vous en appelant le point de terminaison /user/login avec vos informations d'identification :
POST /user/login { "email": "<string>", "password": "<string>" }
Réponse:
{ "status": 1, "token": "<string>" }
Réponse d'erreur:
{ "error": "Unauthorized" }
Créez une nouvelle commande en appelant /orders avec des métadonnées optionnelles. Après avoir créé une commande, vous recevrez un idorder unique, qui doit être utilisé dans les appels suivants :
POST /orders { "metadata": "<string>" }
Réponse:
{ "status": 1, "order": [{ "idorder": "<integer>", "datestart": "<timestamp>", "totalorder": "<float>", "totalcost": "<float>", "dateconfirmation": "<timestamp>", "dateprocessed": "<timestamp>", "shippingmethod": "<string>", "metadata": "<string>" }] }
Récupérez les informations d'une commande en appelant /orders/{IDORDER} :
GET /orders/{IDORDER}
Réponse:
{ "status": 1, "order": [{ "idorder": "<integer>", "datestart": "<timestamp>", "totalorder": "<float>", "totalcost": "<float>", "dateconfirmation": "<timestamp>", "dateprocessed": "<timestamp>", "shippingmethod": "<string>", "metadata": "<string>" }] }
Obtenez une liste des produits d'impression disponibles en appelant /products :
GET /products
Réponse:
{ "status": 1, "products": [{ "idproduct": "<integer>", "product": "<string>", "dimensions": "<string>", "prices": [{ "price": "<float>", "idpaper": "<integer>" }] }] }
Ajoutez des produits à votre commande en envoyant une requête POST à /orders/{IDORDER}/products :
POST /orders/{IDORDER}/products { "idproduct": "<integer>", "idpaper": "<integer>", "quantity": "<integer>", "fileurl": "<string>", "filename": "<string>", "filesize": "<integer>" }
Réponse:
{ "status": 1 }
Une fois tous les produits ajoutés, fermez la commande en appelant /orders/{IDORDER}/close :
POST /orders/{IDORDER}/close {}
Réponse:
{ "status": 1 }