Caisse Enregistreuse

Logiciel de caisse enregistreuse gratuit, en ligne depuis 2014.

Suivez-nous

Centre d'aide

Cette aide est disponible pour vous guider dans l'utilisation de notre logiciel de caisse

Rechercher par mot clé dans l'aide :

Modifier une vente enregistrée dans le logiciel

Vous pouvez modifier une commande tant qu'elle n'est pas validée.

Une fois validée, il est uniquement possible d'enregistrer le ou les paiements de la commande via le champ "payment".

POST /workers/editOrder.php

Envoyez une commande complète : articles, client, mode de paiement, livraison, etc.

Paramètres POST

NomTypeObligatoireDescription
shopIDstringOuiVotre identifiant de boutique (SHOPID)
keystringOuiVotre Token (APIKEY)
orderIDintOuiL'identifiant de la commande à modifier
idUserintNonIdentifiant d'utilisateur. Si non précisé, le logiciel crée un compte utilisateur avec le login "webservice" s'il n'existe pas déjà, et l'utilise.
paymentintOui-2 = Non payée, non validée ; -1 = Non payée, validée ; un identifiant de mode de paiement pour indiquer un paiement (peut être un identifiant d'un mode de remboursement)
paymentAmountintNonLe montant payé, si "payment" indique un mode de paiement (si absent, le paiement est considéré comptant)
idClientintNonIdentifiant du client existant pour l'affecter à la commande
clientarrayNonCompte client à créer pour l'affecter à la commande*
idtableintNonIdentifiant de la table pour l'affecter à la commande
idcaisseintNonIdentifiant de la caisse pour l'affecter à la commande
numcouvertsintNonNombre de couverts servis à la table
publicCommentstringNonCommentaire adossé à la commande (public)
privateCommentstringNonCommentaire adossé à la commande (privé)
pagerNumintNonNuméro de bippeur
deliveryMethodintNonMéthode de livraison*
itemsListarrayOuiNuméro de bippeur

Informations complémentaires

Créer un nouveau client dans la même requête

Si le client n'existe pas, vous pouvez le créer avec les champs suivants (à envoyer directement en POST) :

client[nom]=[nom]client[prenom]=[Prénom]client[email]=[Email]client[telephone]=[nom]client[adresseligne1]=[Adresse ligne 1]client[adresseligne2]=[Adresse ligne 2]client[commentaireadresse]=[nom]client[codepostal]=[Code postal]client[ville]=[Ville]client[pays]=FRclient[numtva]=[Numéro TVA]client[rcs]=[Numéro RC]client[codeBarre]=[Code barre]client[telephone2]=[Téléphone secondaire]client[lat]=[latitude]client[lng]=[longitude]

Méthode de livraison

Le champ deliveryMethod peut avoir des valeurs allant de 0 à 6 :

ValeurSignification
0À emporter
1À livrer
2Sur place
3Service au volant
4Vente au comptoir
5Point relai
6À expédier

itemsList[] — Structure

Le champ itemsList est un tableau de chaines de caractères, chaque élément pouvant être de l'un des types suivants:

  • [idArticle] — ajoute un article (quantité 1)
  • [idArticle]_[quantite] — préciser la quantité
  • [idArticle]_[quantite]_[titre personnalisé]_[prix personnalisé] — forcer le titre et le prix
  • [idArticle]_[quantite]_[titre]_[prix]_[idDéclinaison1]_[idDéclinaison2]_[idDéclinaison3]_[idDéclinaison4]_[idDéclinaison5] — ajouter jusqu'à 5 déclinaisons
  • Vente libre en rayon : -[idRayon]_[prix]_[titre] — crée une ligne libre rattachée au rayon
  • Vente libre : Free_[prix]_[titre] — crée une ligne libre
Rappel : si idUser est omis, le logiciel utilise/crée automatiquement un utilisateur “webservice”.

Exemples JavaScript

Ajouter des articles à une commande existante non validée

async function recordSaleWithExistingClient(){ const body = new URLSearchParams({  shopID: SHOPID,  key: APIKEY,  orderID: 123456,  payment: -1 }); body.append("itemsList[]", "Free_12.99_Item"); body.append("itemsList[]", "Free_9.99_Other item"); const res = await fetch("https://kash.click/workers/editOrder.php", {  method: "POST",  headers: { "Content-Type": "application/x-www-form-urlencoded" },  body }); let payload; try{ payload = await res.json(); }catch{ payload = await res.text(); } console.log(payload);}

Associer un client à une commande existante non validée

async function recordSaleWithExistingClient(){ const body = new URLSearchParams({  shopID: SHOPID,  key: APIKEY,  payment: -2,  orderID: 123456,  idClient: 123 }); const res = await fetch("https://kash.click/workers/editOrder.php", {  method: "POST",  headers: { "Content-Type": "application/x-www-form-urlencoded" },  body }); let payload; try{ payload = await res.json(); }catch{ payload = await res.text(); } console.log(payload);}

Enregistrer un paiement pour une commande

async function recordSaleWithNewClient(){ const body = new URLSearchParams({  shopID: SHOPID,  key: APIKEY,  orderID: 123456,  payment: 123456 }); const res = await fetch("https://kash.click/workers/editOrder.php", {  method: "POST",  headers: { "Content-Type": "application/x-www-form-urlencoded" },  body }); let payload; try{ payload = await res.json(); }catch{ payload = await res.text(); } console.log(payload);}

Réponse JSON attendue

Commande validée, non payée

{ "success": true, "orderID":17724460, "paymentLink":"A link the client can use to pay the order", "invoice":"URL of the PDF invoice"}

Commande non validée, non payée

{ "success": true, "orderID":17724461, "paymentLink":"A link the client can use to pay the order", "quote":"URL of the PDF qduote"}

Commande validée, payée

{ "success": true, "orderID":17724461, "invoice":"URL of the PDF qduote"}

Echec

{ "success": false, "result": "Error message"}
Inscrivez-vous maintenant
Licence Creative Commons Ce document est mis à disposition selon les termes de la licence Creative Commons Attribution 4.0 International (CC BY 4.0) .