🔌 Documentazione API

Endpoint REST e formati di richiesta/risposta

⬅ Torna alla Home

Formato Uniforme delle Risposte API

Tutte le API del sistema RICEVUTE utilizzano un formato JSON standardizzato.

Schema della Risposta

{
  "success": true|false,
  "data": {...},        // presente solo se success=true
  "error": {            // presente solo se success=false
    "code": 1001,
    "message": "Descrizione errore",
    "details": [...]    // opzionale
  }
}

Esempio Risposta di Successo

{
  "success": true,
  "data": {
    "ID_Prodotto": "1",
    "Descrizione": "Pizza Margherita",
    "Prezzo": 8.50
  }
}

Esempio Risposta di Errore

{
  "success": false,
  "error": {
    "code": 1004,
    "message": "Codice prodotto non fornito",
    "details": ["Campo 'codice' mancante o vuoto"]
  }
}

Endpoint Principali

GET /api/cerca_prodotto.php

Descrizione: Cerca un prodotto per codice

Parametri:

Esempio Richiesta:

GET /api/cerca_prodotto.php?codice=PIZZA001

Esempio Risposta:

{
  "success": true,
  "data": {
    "ID_Prodotto": "1",
    "Descrizione": "Pizza Margherita",
    "Prezzo": 8.50,
    "Codice_Prodotto": "PIZZA001"
  }
}

POST /api/salva_ordine.php

Descrizione: Salva un nuovo ordine e genera comande

Body (JSON):

{
  "nome_cliente": "Mario Rossi",
  "id_tavolo": 1,
  "numero_coperti": 2,
  "totale": 25.00,
  "staff": false,
  "sconto": 0.00,
  "dettagli": [
    {
      "id_prodotto": 1,
      "quantita": 2,
      "prezzo_unitario": 8.50
    }
  ]
}

Esempio Risposta:

{
  "success": true,
  "data": {
    "id_ordine": 42,
    "message": "Ordine salvato con successo"
  }
}

GET /api/genera_report.php

Descrizione: Genera report giornaliero

Parametri:

Esempio Richiesta:

GET /api/genera_report.php?data=2024-11-06

GET /api/gestisci_dati.php

Descrizione: Gestisce dati anagrafici (prodotti, tavoli, categorie, reparti)

Parametri:

POST /api/ripeti_comanda.php

Descrizione: Ripete la stampa di una comanda

Body (JSON):

{
  "id_comanda": 123
}

Codici di Errore

Codice Descrizione
1001Input non valido
1002Validazione fallita
1003Database error
1004Parametro mancante
1005Risorsa non trovata
2001Errore stampa
5000Errore interno del server

Validazione Input

Il sistema implementa validazione centralizzata tramite src/Utils/InputValidator.php:

Autenticazione

Le pagine protette richiedono autenticazione tramite sessione PHP:

Link Utili