Concessionaria

Stock veicoli, vendite e report.

4 endpoint Versione v1 · revisione 2026-07-20

Gli endpoint sono relativi a https://api.officina.it e richiedono l'header Authorization: Bearer con la chiave API e X-API-Version: 2026-07-20. L'header della revisione è obbligatorio: differenza fra v1 e revisione.

GET /v1/vehicle-sales
Permesso richiesto reports.read

Elenca le vendite veicoli

Le vendite di veicoli, con margine (total_profit) e riferimento alla fattura emessa.
Risposte
200
Le vendite veicoli.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl https://api.officina.it/v1/vehicle-sales \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "list",
  "data": [
    {
      "object": "vehicle_sale",
      "id": "5b9d3e70-2c41-48a6-9e15-7f2a6c8b4d13",
      "seq_number": 24,
      "status": "delivered",
      "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
      "customer_name": "Mario Rossi",
      "vehicle_name": "Fiat Panda",
      "vehicle_license": "AB123CD",
      "sale_date": "2026-06-19",
      "total_after_tax": 6500.0,
      "total_profit": 1820.0,
      "invoice_id": "4412e7b9-0c35-4a18-92d7-5b6ea1f38c04",
      "comments": null
    }
  ],
  "has_more": false,
  "url": "/v1/vehicle-sales",
  "date_filter": {
    "object": "date_filter",
    "preset": "year",
    "from": "2026-01-01",
    "to": "2026-12-31"
  }
}
GET /v1/vehicle-sales/status-counts
Permesso richiesto reports.read

Conta le vendite per stato

Il numero di vendite in ciascuno stato, con gli stessi filtri dell'elenco.
Risposte
200
Il numero di vendite per stato.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl https://api.officina.it/v1/vehicle-sales/status-counts \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "vehicle_sale_status_counts",
  "draft": 1,
  "signed": 2,
  "delivered": 21,
  "date_filter": {
    "object": "date_filter",
    "preset": "year",
    "from": "2026-01-01",
    "to": "2026-12-31"
  }
}
GET /v1/vehicle-sales/{id}
Permesso richiesto reports.read

Recupera una vendita veicolo

Restituisce la singola vendita.
Risposte
200
La vendita richiesta.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl https://api.officina.it/v1/vehicle-sales/{id} \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "vehicle_sale",
  "id": "5b9d3e70-2c41-48a6-9e15-7f2a6c8b4d13",
  "seq_number": 24,
  "status": "delivered",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "customer_name": "Mario Rossi",
  "vehicle_name": "Fiat Panda",
  "vehicle_license": "AB123CD",
  "sale_date": "2026-06-19",
  "total_after_tax": 6500.0,
  "total_profit": 1820.0,
  "invoice_id": "4412e7b9-0c35-4a18-92d7-5b6ea1f38c04",
  "comments": null
}
GET /v1/vehicle-stocks
Permesso richiesto reports.read

Elenca i veicoli in stock

I veicoli acquistati per la rivendita, con costo di acquisto, costo totale sostenuto e giorni di giacenza. La concessionaria rientra nel permesso reports, non ne ha uno proprio.
Risposte
200
I veicoli in stock.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl https://api.officina.it/v1/vehicle-stocks \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "list",
  "data": [
    {
      "object": "vehicle_stock",
      "id": "3e9a7c12-5b48-40d6-8f27-1c4b9e2a6d35",
      "seq_number": 18,
      "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
      "vehicle_name": "Fiat Panda",
      "vehicle_license": "AB123CD",
      "purchase_date": "2026-05-04",
      "purchase_cost": 4200.0,
      "total_cost": 4680.0,
      "sale_price": 6500.0,
      "days_in_stock": 92,
      "sold": false
    }
  ],
  "has_more": false,
  "url": "/v1/vehicle-stocks"
}