Sommaire >> API LEO2Click - Ajout de produit sur table

Notes de version

Version mars 2024

Pour les produits ayant des messages, il faut obligatoirement spécifier l'ID message correspondant pour tout message ayant un tarif (attribut `add_price`).

Version septembre 2023

  • Ajout de l'attribut "nbCouverts" pour spécifier le nombre de couverts pour la table.

Version mai 2023

  • Modification sur les montants des lignes produits (nouveaux attributs pour spécifier les prix unitaires): plus de détail sur les changement dans la documentation API LEO2Click - Envoi de commandes

Principe de fonctionnement

L'ajout de produit sur table est un système permettant d'ajouter des produits à une commande déjà en cours sur une table. Le principe de fonctionnement consiste à utiliser une application ou un outil informatique tiers pour envoyer des commandes à la caisse enregistreuse de l'établissement.

Par exemple, les clients peuvent commander des produits depuis leur smartphone, tablette ou ordinateur, en sélectionnant les articles souhaités et en les ajoutant à leur panier. Une fois leur commande terminée, ils peuvent envoyer la commande à la caisse enregistreuse, qui l'ajoutera à la commande en cours sur la table correspondante.

Status en retour

La caisse retourne différents status afin de notifier si l'ajout a bien été pris en compte.

  • 1 : Commande reçue
  • 2 : Commande validée
  • 4 : Erreur
  • 9 : Soldée

Flux pour l'ajout de produits

Requête: /api.php?module=atoo_shop&type=table&method=atoo_post_table

/api.php?module=atoo_shop&type=table&method=atoo_post_table&shop=ID_MAGASIN&pub_key=CLEF_API

Les données à envoyer en POST sont identiques à l'envoi de commandes à l'exception de l'attribut `customer` qui n'est plus obligatoire. Par contre il y a un nouvel attribut obligatoire pour spécifier la table sur laquelle on souhaite faire l'ajout. Attribut : "table" => 'int' ainsi que le nombre de couverts : Attribut : "nbCouverts" => 'int'

Sur la caisse, la numérotation des tables peux prendre une valeur de 1 à 89 999.

Chaque ajout sur table doit obligatoirement comporter un identifiant numérique unique. Celui-ci nous permet de vérifier qu'il n'y ai pas d'ajout en doublon en cas d'envoi répété d'un même ajout sur table.

Exemple simple d'envoi d'ajout sur table

Pour plus d'exemples (envoi avec menu, messages)). Voir API LEO2Click - Envoi de commandes. Idem pour plus d'informations sur la partie statut (attribut 'state').

{
"id": 12345,
"state": 0,
"products": [
{
"id": 39,
"idx": 2,
"quantity": 2,
"price": {
"unit_ht": 1.5, // Prix unitaire HT
"tva_rate": 20, // Taux de TVA
"unit_ttc": 1.8 // Prix unitaire TTC
}
},
{
"id": 34,
"idx": 5,
"quantity": 1,
"price": {
"unit_ht": 1, // Prix unitaire HT
"tva_rate": 20, // Taux de TVA
"unit_ttc": 1.2 // Prix unitaire TTC
}
}
],
"table": 4,
"nbCouverts": 2,
"total_order" : {
"ht": 4, // Montant total HT à payer
"tva_amount": 0.8, // Montant TVA à payer
"ttc": 4.8 // Montant TTC à payer
}
}

Exemple de réception de mise à jour de statut de commande

Même fonctionnement que pour les commandes. Voir API LEO2Click - Envoi de commandes

Méthode spécifiques :

Statuts des dernières commandes envoyées en caisse :

./api.php?module=atoo_shop&type=table&method=atoo_statelist_table&shop=ID_MAGASIN&pub_key=CLEF_API

Statuts de toutes les dernières commandes (envoyées en caisse ou non) :

./api.php?module=atoo_shop&type=table&method=atoo_statelist_table_all&shop=ID_MAGASIN&pub_key=CLEF_API




Ce site est édité par la société Leo2Web.