Un produit peut être vendu soit à la carte, soit au sein d'un menu, soit les deux.
Un menu correspond à une sélection de produits regroupés en une à plusieurs étapes dans lesquelles l'utilisateur fait une sélection.
Cette fonction est dédiée aux magasin dans le secteur alimentaire & restauration. Dans le cas d'autres secteurs d'activité, on peux envisager que cette fonctionnalité serve pour la vente de groupement de produits.
Les familles servent à catégoriser les produits. Un produit peux appartenir à plusieurs familles.
Un message correspond à une option d'un produit.
Pour un produit on pourra avoir un à plusieurs groupes de messages.
Par exemple pour un produit "Plat du jour", on pourra avoir 2 groupes de messages:
1. Accompagnement: Frites / Riz / Légumes
2. Cuisson: Bleu / Saignant / A point.
Un message peut avoir un tarif et peux s'ajoute au montant du produit quand il est sélectionné.
A noter qu'un message peux avoir un montant négatif, par exemple dans le cas où un produit à un taux de TVA différent de celui du menu parent, le message peux servir à ajuster le tarif (message de type automatique).
Sur les caisses Leo2, il y a 5 types de groupes messages possibles :
- ID:0 Unique : X produits + 1 seul choix possible
- ID:1 Multiple : X produits + X choix obligatoires
- ID:2 Libre : X produits + Y choix possibles
- ID:3 Automatique : X produits + X fois toutes la liste des choix possibles sans demander
- ID:4 Proportionnel : X produits + 1 choix unique sera demandé en boucle X fois.
Si pour l'application client Clickandcollect, l'ajout d'un produit au panier se fait à l'unité, on peux simplifier à 3 type de messages :
- Unique => Choix unique
- Multiple => Choix unique
- Libre => Choix multiple
- Automatique => Choix unique automatique: obligatoirement ajouté au produit.
- Proportionnel => Choix unique
type (string)
Type de fluxview (string)
Identifiant de la vuetitle (string)
Titre du fluxdescription (string)
Descriptif du fluxmethod (string)
Méthode pour générer le fluxgmtDate (string)
Date (GMT) de génération du fluxplatform (string)
Plateformedata (mixed)
Données du flux
Retourne les différents dataset des menu, produits, ...
Leo2click - Package des données de la boutiqueCe fichier contient toutes les informations de la boutiques, les différents listings (produits, menus, familles) et la liste des textes d'informations
data (object)
Données du fluxauth (object)
Utilisateur authentifiéInformations sur l'utilisateur authentifié
shop (object)
Informations sur la boutiqueAffiche les principales informations sur la boutique courante
Retourne le contenu de l'attribut
'data' du flux
shop-atoo_shop_parameterscart (object)
Identifiant du panier en coursAffiche le panier en cours pour l'utilisateur courant. Information uniquement pour le clickncollect natif (ne sert pas pour les solutions externes).
families (array)
Listing familles de produitsListe des familles de produits sur la boutique.
Retourne le contenu de l'attribut
'data' du flux
shop-atoo_shop_familiesmenus (array)
Listing menusproducts (array)
Listing produitsmessages (array)
Listing messages Retourne les informations sur l'adresse, les informations de contact, les styles, les pages de contenus
Informations générales du magasindata (object)
Propriétés du magasinname (string)
Nom du magasinlogo (string)
logo du magasin, nom de l'image uniquementmedia (object)
URL du logo du magasinListe des URL du logo en plusieurs tailles.
small (string)
URL petit formatbig (string)
URL grand formatstyles (object)
Couleurs pour l'interface du click and collect (notation hexadécimale)main_backcolor (string)
Couleur de fond principalemain_textcolor (string)
Couleur de texte principaleaddress (object)
Adresse du magasinname (string)
Nom du magasincontact (object)
Informations de contactemail (string)
Adresse email de contactphone (string)
Numéro de téléphone de contactwelcome_title (string)
Titre d'accueil du magasinwelcome_intro (string)
Texte d'introductionMessage d'introduction du magasin au format HTML
pages (array)
Pages d'informationListe des pages d'information du magasin. Exemple: mentions légales, CGV, ...
Pour récuperer le texte complet d'une page, il faut faire une requête sur l'API
shop-atoo_shop_pageTableau d'objets
(object)
Liste d'objets de type Pageid (integer)
Identifiant unique de la pagetitle (string)
Titre de la page
-
- ID
shop_product-atoo_shop_product
-
- Type de données
- shop_product
-
- shop (int)
- Identifiant magasin
-
- (optionnal_parameter)
- id_product (int)
Identifiant produit (si besoin de récupérer uniquement un produit) - id_familly (int)
Identifiant famille - only_in_stock (boolean)
Affiche uniquement les produits en stock si vrai - min_date_update (int)
Affiche tous ce qui a été mis à jour depuis un timestamp - ean_list (date)
Filtrage EAN - code barre (séparateur virgule)
-
- Requête
- /api.php?module=atoo_shop&type=shop_product&method=atoo_shop_product
Liste des produitsListe les différents produits disponibles pour la boutique.
type (string)
Type de fluxview (string)
Identifiant de la vuetitle (string)
Titre du fluxdescription (string)
Descriptif du fluxmethod (string)
Méthode pour générer le fluxgmtDate (string)
Date (GMT) de génération du fluxplatform (string)
Plateformedata (array)
Tableau d'objets de type ProduitTableau d'objets
(object)
ProduitReprésente un objet de type Produit
id (integer)
Identifiant unique du produit dans le magasin courantDans le cas du multi-magasin, les produits sont dédoublés: l'identifiant peux être identique entre 2 magasins (mais pas forcément) mais les stocks seront propres à chacun. En général quand un nouveau magasin d'une franchise est créé, les produits sont copiés d'un magasin existant, par contre si ce n'est pas le cas un produit identique pourra se retrouver dans 2 magasins différent avec 2 ID différents.
name (string)
Titre du produitTitre du produit dans le magasin courant.
barcode (string)
Code barre principalUtilisé pour stocker le code barre principal du produit ou selon les cas le code EAN
price_ttc (integer)
Tarif TTC du produitwith_options (boolean)
Avec options (messages)Spécifie si le produits possède des options (nommé 'message' sur la caisse). Les options sont des éléménts à selectionner au choix d'un produit.
Par exemple dans le cas d'une viande, en option on aura au choix une cuisson.
Autre exemple, pour un wok on aura une liste d'ingrédients à choisir.
idFamily (array)
Famille(s) du produitListe les identifiants des familles auquel le produit appartient. Cette liste est un tableau d'identifiants numériques. Les familles permettent de classer les produits qui sont en vente à la carte (hors menu).
Dans le contexte des solutions e-commerce standard, une famille correspond à une catégorie.
idParent (array)
Produit(s) parent(s)Liste les produits parents du produit courant. De manière générale l'identifiant d'un produit parent correspond à un identifiant de menu (dans les données des caisses un menu est systématiquement associé à un produit).
Un produit peux ne pas avoir de produit parent dans le cas où il est vendu uniquement à la carte.
Tableau d'objets
(object)
Informations complémentaires du produits par rapport au parentid (integer)
Identifiant du menu parentdepth (integer)
Étape de la sélectionÉtape à laquelle le produit sera affiché lors des différentes étape de choix pour un menu.
Par exemple, si le produit est un gateau, on indiquera le numéro de l'étape correspondant au choix du dessert ('3' par exemple).
order (integer)
OrdreOrdre du produit parmis tous les produits de la même étape de sélection'
add_price_menu (integer)
Montant HT ajouté au montant du produit parent.Quand on affiche un produit au sein d'un menu, on n'utilisera pas le champ 'price_ttc' car le produit sera au sein d'une offre groupée (le menu). C'est ce champ qui permet de savoir si le produit, lorsqu'il est choisi, ajoutera un montant au prix du menu. Dans la plupart des cas il sera égal à zéro (tarif compris dans le menu).
stock (integer)
Quantitée en stockStock du produit pour le magasin courant.
media (array)
Liste des imagesListe les URLs des différentes images associées au produit. Chaque image est disponible dans 2 tailles. Pour des soucis de performances merci de créer des copies en cache côté client.
Tableau d'objets
(object)
Liste des différentes taillessmall (string)
URL Petit formatbig (string)
URL Grand formatin_mnu_only (boolean)
Uniquement disponible dans les menusSi vrai, le produits ne peux être commandé que dans le as où il a été choisi au sein d'un menu (non disponible à la vente seul).
-
- ID
shop_product-atoo_shop_product_stock
-
- Type de données
- shop_product
-
- shop (int)
- Identifiant magasin
-
- (optionnal_parameter)
- id_product (int)
Identifiant produit (si besoin de récupérer uniquement un produit) - id_familly (int)
Identifiant famille - only_in_stock (boolean)
Affiche uniquement les produits en stock - min_date_update (int)
Affiche tous ce qui a été mis à jour depuis un timestamp - ean_list (string)
Filtrage EAN - code barre (séparateur virgule, max 50)
-
- Requête
- /api.php?module=atoo_shop&type=shop_product&method=atoo_shop_product_stock
Stock produitstype (string)
Type de fluxview (string)
Identifiant de la vuetitle (string)
Titre du fluxowner (string,null)
Propriétairedescription (string)
Description du fluxmethod (string)
Méthode pour générer le fluxgmtDate (string)
Date de génération du fluxplatform (string)
Plateformefilters (string,null)
Filtres utilisés
Liste des menusListe les différents menus disponibles pour la boutique.
data (array)
Tableau d'objets de type MenuTableau d'objets
(object)
MenuReprésente un objet de type menu
id (integer)
Identifiant unique du menu dans le magasin courantname (string)
Titre du menuprice_ttc (float)
Tarif TTCstep_level1 (object)
Étapes de selectionsListe les titres des différentes étapes de sélection des éléménts du menu. Le nombre d'étapes est variable, en général entre 1 et 3 étapes
(exemple: 1. entrée - 2. plat - 3. dessert)
1 (string)
Titre de l'étape 12 (string)
Titre de l'étape 2 (optionnel)3 (string)
Titre de l'étape 3 (optionnel)media (array)
Liste des imagesListe les URLs des différentes images associées au menu. Chaque image est disponible dans 2 tailles. Pour des soucis de performances merci de créer des copies en cache côté client.
Tableau d'objets
(object)
Liste des différentes taillessmall (string)
URL Petit formatbig (string)
URL Grand formatstock (integer)
Quantité en stock
Liste des familles de produitsdata (array)
Tableau d'objets de type FamilleTableau d'objets
(object)
Objet de type familleL'appellation 'famille' correspond à une catégorie
id (integer)
Identifiant unique de la famillename (string)
Titre de la familledesc (null)
Texte descriptif (null si non défini)media (array)
Liste des imagesListe les URLs des différentes images attachées à la famille. Chaque image est disponible dans 2 tailles. Pour des soucis de performances merci de créer des copies en cache côté client.
Tableau d'objets
(object)
Liste des différentes taillessmall (string)
URL petit formatbig (string)
URL grand format
Liste des messagesdata (array)
Tableau d'objets de type messageTableau d'objets
(object)
Objet de type messageid (integer)
Identifiant du groupe de messagestype (object)
Type du groupe de messagesChaque groupe de message à un type qui défini comment doit se faie la selection des message lors de l'ajout au panier du produit associé.
id (integer)
Identifiant numérique du type (valeur de 0 à 4)text (string)
Identifiant textuel du typeLa liste de différents types et leur comportements sont spécifiés au début de la documentation
libelle (string)
Titre du groupe d'optionsExemples: cuisson, accompagnement, ...
parentProduct (array)
Identifiants des produits qui utilisent le groupe d'optionslistOptions (object)
Listes d'objets de type messages appartenant au groupeMessage (object)
Objet de type messageid (integer)
Identifiant unique du messagem (string)
Titre du messageadd_price (integer)
Montant TTCMontant ajouté au produit si sélectionné
Liste des horaires de retraitdata (array)
Listing des dates de retrait disponiblesListe les prochaines dates (Objets) disponible pour le retrait click and collect
Tableau d'objets
(object)
Objet de type datedate (string)
Date de retraitDate au format SQL
h (array)
Créneaux horairesListe les différents créneaux horaires pour la date
Tableau d'objets
(object)
Un créneau horaireh (string)
Heure de début créneauFormat Heures:Minutes
d (integer)
Durée du crénaux horaireDurée en minutes du créneaux horaire depuis l'heure de début. Permet de calculer l'heure de fin du créneau.
full (boolean)
Indique si le crénaux est pleinPermet de vérifier lors du début de commande et lors de la validation de la commande si le créneau est disponible ou non.
dateLocalePretty (string)
Date formaté dans la langue locale C.G.V., mentions légales, ... Nécéssite l'id de page en paramètres ("page")
Envoi commandetype (string)
Type de fluxview (string)
Identifiant de la vuetitle (string)
Titre du fluxowner (string,null)
Propriétairedescription (string)
Description du fluxmethod (string)
Méthode pour générer le fluxgmtDate (string)
Date de génération du fluxplatform (string)
Plateformefilters (string,null)
Filtres utilisés Création dynamique du "manifest" pour les applications mobile liées à un magasin. (Un manifeste d'application est un document [ JSON ] qui contient les paramètres de démarrage et les valeurs par défaut de l'application lors du lancement d'une application web.)