Skip to content

Convenzioni API ​

Questa pagina descrive le convenzioni utilizzate in tutte le API Elerama.

Response Format ​

Tutte le risposte seguono una struttura standard:

json
{
  "success": true,
  "message": "Messaggio opzionale",
  "context": "resource_name",
  "status": "action_name",
  "data": { ... }
}

Campi ​

CampoTipoDescrizione
successbooleantrue se l'operazione e riuscita
messagestring | nullMessaggio descrittivo (errore o conferma)
contextstringIdentifica la risorsa (es. brands, articles)
statusstringIdentifica l'azione (es. list, create, error)
dataobject | arrayDati della risposta

HTTP Status Codes ​

CodeSignificatoUso
200OKRichiesta completata con successo
201CreatedRisorsa creata con successo
400Bad RequestParametri mancanti o non validi
401UnauthorizedAutenticazione richiesta
403ForbiddenPermessi insufficienti
404Not FoundRisorsa non trovata
409ConflictConflitto (es. risorsa in uso)
422Unprocessable EntityValidazione fallita
500Internal Server ErrorErrore server

Error Response ​

In caso di errore, la risposta include dettagli:

json
{
  "success": false,
  "message": "Descrizione dell'errore",
  "context": "brands",
  "status": "duplicateCode",
  "data": {
    "field": "code",
    "value": "EXISTING_CODE"
  }
}

Error Status Comuni ​

StatusHTTPDescrizione
notFound404Risorsa non trovata
unauthorized401Non autenticato
forbidden403Non autorizzato
validation422Errore di validazione
conflict409Conflitto
serverError500Errore interno

Request Headers ​

Headers richiesti per ogni richiesta:

http
Content-Type: application/json
Daisy-Erp: frontend

Query Parameters ​

Per le liste, sono disponibili parametri comuni:

ParametroTipoDescrizione
searchstringRicerca testuale
pageintegerNumero pagina (default: 1)
per_pageintegerElementi per pagina (default: 10)

Convenzioni di Naming ​

  • Endpoint: kebab-case plurale (/brands, /warehouse-movements)
  • Campi JSON response: camelCase (idBrand, createdAt)
  • Query params: snake_case (per_page, include_deleted)

Multi-tenancy ​

Tutte le operazioni sono automaticamente filtrate per l'azienda attiva in sessione. Non e necessario passare l'ID azienda nelle richieste.

Cambio Azienda

Per operare su un'altra azienda, usa l'endpoint /erp/erp_auth/company prima di effettuare le richieste.

Soft Delete ​

Le risorse che supportano soft delete includono:

json
{
  "id": 123,
  "name": "Risorsa",
  "isDeleted": false,
  "deletedAt": null,
  "deletedBy": null
}

Per includere risorse eliminate nelle liste, usa:

http
GET /resource?includeDeleted=true

Documentazione interna Elerama