API
Guida API REST WAMA
Integra i tuoi sistemi con WAMA usando l’API JSON HTTPS su https://www.wama.cloud.
Questa pagina descrive l’autenticazione con chiavi API, il contesto multi-tenant del punto vendita, la paginazione e gli errori. Per i campi di richiesta e risposta apri il riferimento OpenAPI interattivo (a schermo intero).
Per iniziare
- Crea una chiave API nell’app web WAMA (Impostazioni → Integrazioni). Preferisci sola lettura se l’integrazione non deve scrivere dati.
- Chiama
/api/**con l’headerAuthorization: Bearer <api_key>(oppureX-Api-Key). - Usa il riferimento API interattivo per i campi di richiesta/risposta.
URL di base: https://www.wama.cloud
Suggerimento
Le chiavi API sono il metodo supportato per script, app partner e AI / MCP. Non usare il login interattivo (email/password OAuth) per integrazioni machine-to-machine.
Autenticazione
Creare una chiave API
- Accedi a WAMA nel browser come amministratore dell’account (
ROLE_USER/ Amministratore). - Apri Impostazioni → Integrazioni.
- Scegli Crea chiave API, imposta un nome, il punto vendita a cui legare la chiave, l’ambito e una data di scadenza opzionale.
- Copia subito la chiave: il segreto completo viene mostrato una sola volta.
Formato della chiave:
Conservala come una password (variabile d’ambiente o secret manager). Non inserire mai le chiavi nel codice in repository pubblici né nei ticket aperti.
Ambiti (scope)
| Ambito | Valore | Comportamento |
|---|---|---|
| Sola lettura | read | Solo GET / HEAD / OPTIONS; i metodi che modificano dati restituiscono 403 |
| Lettura e scrittura | read_write | Stesso accesso dell’utente creatore per quel punto vendita (esclusa la gestione delle chiavi) |
Preferisci sola lettura per report, sync e assistenti AI, a meno che non servano scritture.
Chiamare l’API
Invia la chiave come header HTTP in ogni richiesta:
Alias opzionale (stessa chiave):
Se sono presenti sia un JWT Authorization: Bearer … sia X-Api-Key, prevale il JWT e X-Api-Key viene ignorato.
Esempio:
Equivalente con X-Api-Key:
Revocare o ruotare
Revoca le chiavi da Impostazioni → Integrazioni. Chiavi revocate o scadute restituiscono 401. Per ruotare, crea una nuova chiave, aggiorna il client e revoca quella vecchia.
Le chiavi API non possono creare, elencare o revocare altre chiavi: gestiscile solo dall’app web (sessione utente).
Punto vendita (multi-tenant)
Inventario, vendite e dati correlati appartengono a un punto vendita (POS).
Ogni chiave API è legata a un POS alla creazione. Le richieste autenticate con quella chiave usano sempre quel POS: non cambiare POS con POST /api/point-of-sales/... quando usi una chiave API.
Crea una chiave distinta per ogni magazzino/punto vendita se ti servono più contesti.
Paginazione
Gli endpoint di lista accettano i parametri di paginazione Spring Data:
| Parametro | Descrizione |
|---|---|
page | Indice di pagina a base zero |
size | Dimensione pagina |
sort | Campo e direzione, es. timeModified,desc |
Le risposte di lista di successo includono:
| Header | Descrizione |
|---|---|
X-Total-Count | Totale elementi corrispondenti su tutte le pagine |
Errori
La maggior parte degli errori restituisce JSON di questo tipo:
Gli errori di dominio parametrizzati possono restituire { "message": "...", "params": ["..."] }.
Esiti tipici di autenticazione:
| Stato | Significato |
|---|---|
| 401 | Chiave API assente, non valida, revocata o scaduta |
| 403 | Ambito sola lettura e metodo che modifica dati |
Convenzioni
- Corpi JSON in richiesta e risposta (
Content-Type: application/json) - Date in ISO-8601 con offset (es.
2026-03-15T10:30:00.000Z) - Importi come decimali, con oggetti valuta dove previsto
- Gli id sono assegnati dal server; omettili (o invia
null) in creazione
Esempio: elenco prodotti
Riferimento OpenAPI
Sfoglia tutti gli endpoint pubblici: