Aide Caisse enregistreuse : Enregistrer des ventes

Free cash register

Free-cash-register.net, free online POS software since 2014

Follow Us

Cash Register Help Center

This help will guide you through the setup and usage of our point of sale cash register software.

Record sales in the software

Submit a complete order: items, customer, payment method, delivery, etc.

POST /workers/webapp.php

Submit a complete order: items, customer, payment method, delivery, etc.

POST parameters

NameTypeNecessaryDescription
idboutiquestringYesYour shop ID (SHOPID)
keystringYesYour token (APIKEY)
idUserintNoUser ID. If not specified, the software creates a user account with the "webservice" login if it does not already exist, and uses it.
paymentintYes-2 = Not paid, not validated; -1 = Not paid, validated; a payment method identifier to indicate a payment (can be an identifier of a refund method)
idClientintNoExisting customer ID to assign to the order
idtableintNoTable ID to assign to the order
idcaisseintNoCash register ID to assign to the order
numcouvertsintNoNumber of place settings served at the table
publicCommentstringNoComment attached to the order (public)
privateCommentstringNoComment attached to the order (private)
pagerNumintNoPager number

Create a new customer in the same query

If the customer does not exist, you can create it with the following fields (to be sent directly by 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]

deliveryMethod

AmountMeaning
0Take away
1To be delivered
2On site
3Drive-Thru
4Counter sales
5Relay point
6To be shipped

itemsList[] — Structure

  • [idArticle] — add an item (quantity 1)
  • [idArticle]_[quantite] — specify the quantity
  • [idArticle]_[quantite]_[titre personnalisé]_[prix personnalisé] — force the title and price
  • [idArticle]_[quantite]_[titre]_[prix]_[idDéclinaison1]_[idDéclinaison2]_[idDéclinaison3]_[idDéclinaison4]_[idDéclinaison5] — add up to 5 variations
  • Over-the-counter sale : -[idRayon]_[prix]_[titre] — creates a free line attached to the ray
  • Over-the-counter sale : Free_[prix]_[titre] — creates a free line

JavaScript Example — Existing Client

async function recordSaleWithExistingClient(){ const body = new URLSearchParams({  idboutique: SHOPID,  key: APIKEY,  idUser: 1,  payment: -1,  deliveryMethod: 0,  idClient: 123 }); body.append("itemsList[]", "12_2_Pizza 4 fromages_14.50_3_8"); body.append("itemsList[]", "-5_9.99_Vente libre"); const res = await fetch("https://www.free-cash-register.net/workers/webapp.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);}

JavaScript Example — New Customer + Sale

async function recordSaleWithNewClient(){ const body = new URLSearchParams({  idboutique: SHOPID,  key: APIKEY,  payment: 2,  deliveryMethod: 1 }); body.append("client[nom]", "Durand"); body.append("client[prenom]", "Zoé"); body.append("client[email]", "zoe.durand@example.com"); body.append("client[telephone]", "+33 6 12 34 56 78"); body.append("client[adresseligne1]", "10 rue des Écoles"); body.append("client[adresseligne2]", "Bât. B"); body.append("client[commentaireadresse]", "Sonner 2 fois"); body.append("client[codepostal]", "75005"); body.append("client[ville]", "Paris"); body.append("client[pays]", "FR"); body.append("client[numtva]", "FRXX999999999"); body.append("client[rcs]", "RCS Paris 123 456 789"); body.append("client[codeBarre]", "CUST-0001"); body.append("client[telephone2]", "+33 1 23 45 67 89"); body.append("client[lat]", "48.848"); body.append("client[lng]", "2.347"); body.append("itemsList[]", "42_1_Menu midi_12.90"); body.append("itemsList[]", "15_3_Canette Cola_2.50"); const res = await fetch("https://www.free-cash-register.net/workers/webapp.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);}
Reminder: if idUser is omitted, the software automatically uses/creates a “webservice” user.
Register now
Licence Creative Commons This document is made available under the terms of the licence Creative Commons Attribution 4.0 International (CC BY 4.0) .