Submit a complete order: items, customer, payment method, delivery, etc.
Submit a complete order: items, customer, payment method, delivery, etc.
| Name | Type | Necessary | Description |
|---|---|---|---|
idboutique | string | Yes | Your shop ID (SHOPID) |
key | string | Yes | Your token (APIKEY) |
idUser | int | No | User ID. If not specified, the software creates a user account with the "webservice" login if it does not already exist, and uses it. |
payment | int | Yes | -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) |
idClient | int | No | Existing customer ID to assign to the order |
idtable | int | No | Table ID to assign to the order |
idcaisse | int | No | Cash register ID to assign to the order |
numcouverts | int | No | Number of place settings served at the table |
publicComment | string | No | Comment attached to the order (public) |
privateComment | string | No | Comment attached to the order (private) |
pagerNum | int | No | Pager number |
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] | Amount | Meaning |
|---|---|
| 0 | Take away |
| 1 | To be delivered |
| 2 | On site |
| 3 | Drive-Thru |
| 4 | Counter sales |
| 5 | Relay point |
| 6 | To be shipped |
[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-[idRayon]_[prix]_[titre] — creates a free line attached to the rayFree_[prix]_[titre] — creates a free lineasync 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);} 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);}
This document is made available under the terms of the licence Creative Commons Attribution 4.0 International (CC BY 4.0) .