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_auth/switch_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