API ordini — V2 per registratori & gestionali
Solo i campi necessari a scontrino, consegna e riepilogo. Stabili, documentati, facili da mappare.
Quickstart
Ottieni gli ordini in coda, in modo idempotente.
Endpoint
/api_v2_registratori.php?key=LA_TUA_CHIAVE oppure header Authorization: Bearer …limit (def. 100), cursor (ultimo id_ordini), data (YYYY-MM-DD)Se ometti data, vengono serviti gli ordini da oggi 00:00:01 in avanti.
Esempio cURL
curl -s "https://tuo-dominio/api_v2_registratori.php?limit=50&cursor=0" \ -H "Authorization: Bearer LA_TUA_CHIAVE"Usa
cursor per scaricare a blocchi senza duplicati (paginazione su id_ordini crescente).
Schema risposta V2 (reale)
Campi effettivamente ritornati dall’endpoint V2 “solo-cassa”.
JSON di esempio
[
{
"id_ordini": "409",
"totale": "22.00",
"pagamento": "Alla consegna",
"dataconsegna": "2025-10-31",
"oraconsegna": "10:20",
"tipo_ordine": "consegna",
"note_preparazione": "",
"note_consegna": "",
"posizione_servizio": "",
"zona": "0",
"km": 201,
"coordinate_gps": "",
"REMOTE_ADDR": "86.125.229.31",
"costo_consegna_commissioni": 2,
"ora_produzione": "10:00",
"totaleappo": 20,
"dati_consegna": {
"status": "OK",
"origin": "Via dei Cimatori, 8, 00186 Roma RM, Italy",
"destination": "Via dei Cimatori, 80, 00186 Roma RM, Italy",
"element_status": "OK",
"distance_text": "0.2 km",
"distance_value": 201,
"duration_text": "1 min",
"duration_value": 36
},
"carrello": [
{
"id_prodotto": "1557-0",
"nome_prodotto": "Bianca con Prosciutto",
"nomecategoria": "Pizze Bianche al Pezzo",
"categoria_originale": "8",
"prezzo": "2.00",
"senzaglutine": "no",
"aggiungere": "",
"rimuovere": "",
"foto_prodotto": "",
"varianti": []
}
],
"dati_utente": [
{
"first_name": "fabio pucci",
"last_name": "fabio pucci",
"email": "andromeda78ita@gmail.com",
"prefisso_int": "+39",
"telefono": "3513048018",
"indirizzo": "Via dei Cimatori",
"numero_civico": "80",
"citta": "Roma",
"cap": "00186",
"provincia": "Città metropolitana di Roma Capitale",
"presso": "nomesocieta"
}
]
}
]
I campi vuoti vengono restituiti come stringa vuota "" o array vuoto [] per semplicità di parsing.
Campi per blocchi
- Ordine:
id_ordini,totale,pagamento,dataconsegna,oraconsegna,tipo_ordine,note_preparazione,note_consegna,posizione_servizio,zona,km,coordinate_gps,REMOTE_ADDR,costo_consegna_commissioni,ora_produzione,totaleappo - Dati consegna:
status,origin,destination,element_status,distance_text,distance_value,duration_text,duration_value - Carrello[]:
id_prodotto,nome_prodotto,nomecategoria,categoria_originale,prezzo,senzaglutine,aggiungere,rimuovere,foto_prodotto,varianti[] - Dati utente[0]:
first_name,last_name,email,prefisso_int,telefono,indirizzo,numero_civico,citta,cap,provincia,presso
Mappatura tipica verso registratore
- id_ordini → Numero documento/ordine
- carrello[].nome_prodotto → Descrizione riga
- carrello[].prezzo → Prezzo unitario
- varianti[] / aggiungere / rimuovere → Nota riga/descrizione estesa
- pagamento → Metodo pagamento (contanti/POS/online)
- dati_utente[0].* → Dati consegna/ritiro (etichette)
- km / dati_consegna → Stima logistica (tempi/distanza)
L’aliquota IVA può essere gestita lato gestionale tramite regole per categoria (nomecategoria / categoria_originale).
Autenticazione & filtri
- Auth:
?key=LA_TUA_CHIAVEo headerAuthorization: Bearer <chiave> - limit: predef. 100 (max 200 consigliato)
- cursor: ultimo
id_ordiniprocessato - data:
YYYY-MM-DD— default oggi 00:00:01
cursor senza creare duplicati. Avanza il cursore solo quando hai stampato/registrato.
Esempi rapidi
cURL, JavaScript e PHP (server-to-server).
cURL
curl -s "https://tuo-dominio/api_v2_registratori.php?limit=50&cursor=0" \ -H "Authorization: Bearer LA_TUA_CHIAVE"
JavaScript (fetch)
fetch('/api_v2_registratori.php?limit=50&cursor=0', {
headers: { 'Authorization': 'Bearer LA_TUA_CHIAVE' }
}).then(r => r.json()).then(console.log);
PHP (server-to-server)
<?php
$ch = curl_init('https://tuo-dominio/api_v2_registratori.php?limit=50&cursor=0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer LA_TUA_CHIAVE'));
$body = curl_exec($ch);
curl_close($ch);
$data = json_decode($body, true);
print_r($data);
Errori standard
403 {"errore":"Chiave_KEY_Errata","requestId":"..."}
500 {"errore":"DB_Conn_Error","dettaglio":"...","requestId":"..."}
HTTP code coerenti, messaggi sintetici, requestId per correlare i log.
Hai già un fornitore di registratori?
Lo mettiamo in copia: inviamo documentazione e accesso test. L’adattatore lo fa lui, come hanno fatto gli altri.
Contattaci per la sandbox