Documentation API M-System /v1

L'appel des API se fait via l'url https://partner.motelservices.fr/api/v1

Chaque établissement possède un ou plusieurs points de vente. Dans M-System, les points de ventes s'appellent des caisses.

Les paramètres sont à passer en POST

Exemple d'appel en cURL

curl -X POST https://partner.motelservices.fr/api/v1/etablissement \
-H "Content-Type: application/json" \
-d '{"id_etablissement":"12871","token":"IiY27r0u9MjZXwaKvBLT6Wn4gmGHzlP3"}'

Etablissement

/etablissement

Récupère la liste des points de vente du compte, ainsi que quelques informations générales.

Paramètres :

Champ Type Description
id_etablissement String Obligatoire. Le numéro de compte du client. Il se trouve en bas de la page 'Profil' du back office.
token String Obligatoire. Le token du client. Une chaîne de caractères que que client demande à M-System.

 

Sortie :

Un objet JSON avec la structure suivante :

{
   "message":"OK",
   "nom":"Démo FOOD",
   "caisses":[
      {
         "id_caisse":"11943",
         "libelle":"Caisse 1"
      }
   ],
   "types_paiement":[
      {
         "libelle":"Espèces"
      },
      {
         "libelle":"CB"
      }
   ]
}

Champ Type Description
message String Des informations sur l'éxecution de l'appel. "OK" en cas de succès, un message d'erreur sinon
nom String Le nom de l'établissement
caisses JSON Array Un tableau JSON contenant la liste des points de vente de l'établissement
→id_caisse String L'identifiant de la caisse
→libelle String Le libellé de la caisse
types_paiement JSON Array Un tableau contenant les libellés des types de paiement
→libelle String Le libellé du type de paiement

Produits

/produits

Récupère la liste des produits du compte. Tous les produits actifs sont renvoyés.

Paramètres :

Champ Type Description
id_etablissement String Obligatoire. Le numéro de compte du client. Il se trouve en bas de la page 'Profil' du back office.
token String Obligatoire. Le token du client. Une chaîne de caractères que que client demande à M-System.

 

Sortie :

Un objet JSON avec la structure suivante :

{
   "message":"OK",
   "data":[
      {
         "id_produit":"483130",
         "id_categorie":"850",
         "categorie":"CHAUD",
         "libelle":"PIZZA",
         "prix_ttc":"9.00",
         "taux_tva":"0.100"
      },
      {
         "id_produit":"483131",
         "id_categorie":"848",
         "categorie":"SALÉ",
         "libelle":"BURGER",
         "prix_ttc":"5.00",
         "taux_tva":"0.100"
      }
   ]
}

Champ Type Description
message String Des informations sur l'éxecution de l'appel. "OK" en cas de succès, un message d'erreur sinon
data JSON Array Un tableau JSON contenant la liste des produits
→id_produit String L'identifiant du produit
→id_categorie String L'identifiant de la catégorie du produit
→categorie String La catégorie du produit
→libelle String Le libellé du produit
→taux_tva String Le taux de TVA du produit.
0.1 = TVA 10%

Journal des ventes

/ventes

Récupère la liste des ventes sur une période donnée. Les résultats sont renvoyés de la table du journal par rowid croissant. Les résultats sont paginés par paquets de 500.

Paramètres :

Champ Type Description
id_etablissement String Obligatoire. Le numéro de compte du client. Il se trouve en bas de la page 'Profil' du back office.
token String Obligatoire. Le token du client. Une chaîne de caractères que que client demande à M-System.
date_debut String Obligatoire. La date de début de la période des ventes à récupérer. Format à saisir : YYYY-MM-DD
date_fin String Obligatoire. La date de fin de la période des ventes à récupérer. Format à saisir : YYYY-MM-DD
current_page String Optionnel. Le numéro de page du journal à récupérer. Si il n'est pas spécifié, la page 1 est renvoyée.
id_caisse String Optionnel. Filtre pour ne récupérer les ventes que sur certaines caisses. Séparateur : virgule

 

Sortie :

Un objet JSON avec la structure suivante :

{
    "message":"OK",
    "total_pages":31,
    "current_page":6,
    "data":[
       {
          "id":"706519",
          "id_transaction":"175",
          "date_transaction":"2020-05-01 12:08:08",
          "id_produit":"483146",
          "produit":"MARGARITA",
          "id_caisse":"11943",
          "caisse":"Caisse 1",
          "type_paiement":"CB",
          "quantite":"1.0000",
          "montant_ttc":"7.00",
          "montant_ht":"6.3636364",
          "taux_tva":"0.100"
       },
       {
          "id":"706565",
          "id_transaction":"176",
          "date_transaction":"2020-05-01 15:30:00",
          "id_produit":"483145",
          "produit":"TARTE",
          "id_caisse":"11943",
          "caisse":"Caisse 1",
          "type_paiement":"CB",
          "quantite":"2.0000",
          "montant_ttc":"6.00",
          "montant_ht":"5.4545455",
          "taux_tva":"0.100"
       }
    ]
 }

 


Champ Type Description
message String Des informations sur l'éxecution de l'appel. "OK" en cas de succès, un message d'erreur sinon
total_pages Int Le nombre total de pages qui correspond à l'intervalle demandé
current_page Int Le numéro de la page courante
data JSON Array Un tableau JSON contenant la liste des ventes
→id String Le numéro de la ligne dans la table du journal
→id_transaction String L'identifiant de la transaction. Une transaction comporte un ou plusieurs produits.
→id_produit String L'identifiant du produit
→produit String Le libellé du produit
→taux_tva String Le taux de TVA du produit.
0.1 = TVA 10%
→id_caisse String L'identifiant de la caisse où a eu lieu la transaction
→caisse String Le libellé de la caisse où a eu lieu la transaction
→type_paiement String Le libellé du type de paiement de la transaction
→quantite String La quantité du produit dans la transaction
→montant_ttc String Le montant ttc du produit dans la transaction (est égal au prix unitaire x la quantité)
→montant_ht String Le montant ht du produit dans la transaction (est égal au prix unitaire ht x la quantité)

Journal des ventes (autre présentation)

/ventes2

Récupère la liste des ventes sur une période donnée. Les résultats sont renvoyés de la table du journal par id_transaction croissant. Les résultats sont paginés par paquets de 500. Les données sont présentées sous une autre forme que dans /ventes

Paramètres :

Champ Type Description
id_etablissement String Obligatoire. Le numéro de compte du client. Il se trouve en bas de la page 'Profil' du back office.
token String Obligatoire. Le token du client. Une chaîne de caractères que que client demande à M-System.
date_debut String Obligatoire. La date de début de la période des ventes à récupérer. Format à saisir : YYYY-MM-DD
date_fin String Obligatoire. La date de fin de la période des ventes à récupérer. Format à saisir : YYYY-MM-DD
current_page String Optionnel. Le numéro de page du journal à récupérer. Si il n'est pas spécifié, la page 1 est renvoyée.
id_caisse String Optionnel. Filtre pour ne récupérer les ventes que sur certaines caisses. Séparateur : virgule

 

Sortie :

Un objet JSON avec la structure suivante :

{
    "message":"OK",
    "total_pages":1,
    "current_page":1,
    "data":[
       {
          "id_transaction":"254",
          "date_transaction":"2020-07-16 16:25:38",
          "total_ttc":20,
          "total_ht":18.1818182,
          "produits":[
             {
                "produit":"MARGARITA",
                "id_produit":"483146",
                "taux_tva":"0.100",
                "quantite":2,
                "montant_ttc":14,
                "montant_ht":12.7272727
             },
             {
                "produit":"DESSERT",
                "id_produit":"495091",
                "taux_tva":"0.100",
                "quantite":1,
                "montant_ttc":6,
                "montant_ht":5.4545455
             }
          ],
          "paiements":[
             {
                "type":"CB",
                "montant":20
             }
          ]          
       },
       {
          "id_transaction":"255",
          "date_transaction":"2020-07-16 16:26:03",
          "total_ttc":13,
          "total_ht":11.8181819,
          "produits":[
             {
                "produit":"BROWNIE",
                "id_produit":"483144",
                "taux_tva":"0.100",
                "quantite":1,
                "montant_ttc":4,
                "montant_ht":3.6363637
             },
             {
                "produit":"TARTE",
                "id_produit":"483145",
                "taux_tva":"0.100",
                "quantite":3,
                "montant_ttc":9,
                "montant_ht":8.1818182
             }
          ],
          "paiements":[
             {
                "type":"Espèces",
                "montant":11
             },
             {
                "type":"CB",
                "montant":2
             }
          ]          
       }
    ]
 }

 


Champ Type Description
message String Des informations sur l'éxecution de l'appel. "OK" en cas de succès, un message d'erreur sinon
total_pages Int Le nombre total de pages qui correspond à l'intervalle demandé
current_page Int Le numéro de la page courante
data JSON Array Un tableau JSON contenant la liste des ventes
→id_transaction String L'identifiant de la transaction. Une transaction comporte un ou plusieurs produits.
→total_ttc Float Le moontant total TTC de la transaction
→total_ht Float Le moontant total HT de la transaction
→produits JSON Array Un tableau JSON avec la liste des produits de la transaction
→→produit String Le libellé du produit
→→id_produit String L'identifiant du produit
→→taux_tva String Le taux de TVA du produit.
0.1 = TVA 10%
→→quantite String La quantité du produit dans la transaction
→→montant_ttc Float Le montant ttc du produit dans la transaction (est égal au prix unitaire x la quantité)
→→montant_ht Float Le montant ht du produit dans la transaction (est égal au prix unitaire ht x la quantité)
→paiements JSON Array La liste des paiements de la transaction
→→type String Le type de paiement
→→montant Float Le montant de la transaction encaissé avec ce type de paiement

Insérer une commande

/insert_commande

Insert une commande dans M-System. Cette commande apparait sous forme de note dans l'application.

Paramètres :

Champ Type Description
id_etablissement String Obligatoire. Le numéro de compte du client. Il se trouve en bas de la page 'Profil' du back office.
token String Obligatoire. Le token du client. Une chaîne de caractères que que client demande à M-System.
libelle String Obligatoire. Le libellé de la note qui sera affichée dans M-System.
date_commande String Facultatif. La date à laquelle la commande est passée. Si non spécifiée, l'heure d'appel à la page est utilisée. Format : YYYY-MM-DD HH:MM:SS
id_type_paiement String Facultatif. L'identifiant du type de paiement avec lequel cette commande sera encaissée. Si non spécifié, la commande pourra être encaissée avec un type de paiement choisi par l'utilisateur M-System
id_externe String Facultatif. L'identifiant dde la commande dans le système appelant.
etat_commande String Facultatif. L'état de la commande dans le système appelant.
contenu_commande Json Array Obligatoire. Le contenu de la commande
→id_produit String Obligatoire. L'identifiant du produit de la commande
→quantite String Obligatoire. La quantité du produit de la commande
→prix_unitaire String Obligatoire. Le prix unitaire du produit

Exemple d'appel de la page

{
   "id_etablissement":"12871",
   "token":"UPfsFABWgh8b30X72rHu6xV5QGNdzqOa",
   "libelle":"Alice",
   "id_type_paiement":"2",
   "date_commande":"2020-06-18 19:03:36",
   "id_externe":"99f55ed2-ca74-11ea-89bb-a484d00fb427",
   "etat_commande":"en_preparation",
   "contenu_commande":[
      {
         "id_produit":"483157",
         "quantite":"1",
         "prix_unitaire":"3.5"
      },
      {
         "id_produit":"483149",
         "quantite":"2",
         "prix_unitaire":"17"
      }
   ]
}

 

Sortie :

Un objet JSON avec la structure suivante :

{
   "message":"OK",
   "id_note":"ab078272-1eba-45a3-923a-66f09ea35f7e",
   "nb_produits":3,
   "montant_commande":37.5
}

Champ Type Description
message String Des informations sur l'éxecution de l'appel. "OK" en cas de succès, un message d'erreur sinon
id_note String L'identifiant de la note nouvellement insérée dans M-System
nb_produits Float Le nombre de produits de la note
montant_commande Float Le montant total de la note