API

Collega officina.it ad altri sistemi via API

Con una chiave API puoi leggere e aggiornare i dati della tua officina da un altro programma: il gestionale del commercialista, il tuo sito, uno strumento tuo. Clienti, veicoli, schede lavoro, preventivi, fatture e altro.

REST · JSON Versione v1 161 endpoint

Come iniziare

Tre passaggi. Richiede un piano Business o Illimitato.

1

Crea una chiave

Dal gestionale, in Impostazioni › Accesso API, seleziona «Nuova chiave API» e assegna i soli permessi necessari. La chiave viene mostrata una sola volta al momento della creazione: conservala in un luogo sicuro.

2

Verifica che funzioni

Ogni richiesta deve riportare la chiave nell'header Authorization e la revisione dell'API.

# chi sono, cosa può fare questa chiave
curl https://api.officina.it/v1/whoami \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
3

Leggi e scrivi i tuoi dati

Le liste sono paginate tramite un cursore opaco: va restituito invariato in starting_after per ottenere la pagina successiva.

curl "https://api.officina.it/v1/customers?limit=50" \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"

{ "object": "list", "data": [ … ], "has_more": true,
  "next_starting_after": "eyJvIjoyMH0" }

Permessi

A ogni chiave sono associati permessi per area, distinti fra lettura e scrittura. Il permesso di scrittura comprende sempre quello di lettura. Una chiamata priva del permesso richiesto risponde 403 insufficient_scope.

Area Permesso Cosa comprende
Clienti customers.read
customers.write
Anagrafiche clienti e relativi documenti
Veicoli vehicles.read
vehicles.write
Veicoli, marche e documenti allegati
Schede lavoro worksheets.read
worksheets.write
Schede lavoro, righe, pagamenti e documenti
Preventivi quotes.read
quotes.write
Preventivi e relative righe
Fatture invoices.read
invoices.write
Fatture, note di credito e pagamenti
Scontrini receipts.read
receipts.write
Scontrini e relativi pagamenti
Accettazioni checkins.read
checkins.write
Accettazioni e documenti allegati
Agenda calendar.read
calendar.write
Calendari e appuntamenti
Magazzino articles.read
articles.write
Articoli, movimenti e pneumatici in deposito
Fornitori suppliers.read
suppliers.write
Fornitori, ordini e documenti di trasporto
Spese expenses.read
expenses.write
Spese, pagamenti e categorie
Prima nota cashbook.read
cashbook.write
Movimenti di cassa e conti finanziari
Impostazioni settings.read
settings.write
Dati azienda, aliquote IVA, listini, collaboratori
Report reports.read
reports.write
Statistiche, contatori e report concessionaria

Risorse

Le aree del gestionale disponibili via API, con la stessa denominazione utilizzata nell'applicazione.

Clienti

Anagrafiche, documenti allegati e storico.

8 endpoint

Veicoli

Veicoli, marche e documenti allegati.

14 endpoint · in arrivo

Schede lavoro

Schede, righe, pagamenti e stati di lavorazione.

16 endpoint · in arrivo

Preventivi

Preventivi, righe e conversione in scheda lavoro.

9 endpoint · in arrivo

Fatture

Fatture, note di credito, pagamenti ed emissione.

17 endpoint · in arrivo

Scontrini

Scontrini e relativi pagamenti.

9 endpoint · in arrivo

Accettazioni

Accettazioni, conversioni e documenti.

13 endpoint · in arrivo

Agenda

Calendari e appuntamenti.

9 endpoint · in arrivo

Magazzino

Articoli, listino manodopera e movimenti.

7 endpoint · in arrivo

Deposito gomme

Pneumatici in deposito e passaggi di stato.

7 endpoint · in arrivo

Fornitori

Fornitori, ordini e documenti di trasporto.

9 endpoint · in arrivo

Spese

Spese, pagamenti e categorie.

10 endpoint · in arrivo

Prima nota

Movimenti di cassa e conti finanziari.

5 endpoint · in arrivo

Impostazioni

Dati azienda, aliquote IVA, listini, collaboratori.

17 endpoint · in arrivo

Fatturazione elettronica

Fatture elettroniche emesse e ricevute, in sola lettura.

4 endpoint · in arrivo

Concessionaria

Stock veicoli, vendite e report.

4 endpoint · in arrivo

Report

Statistiche e contatori della tua officina.

2 endpoint · in arrivo

Autenticazione

Verifica della chiave e dei permessi.

1 endpoint · in arrivo

Errori

Gli errori adottano sempre la stessa struttura: un code stabile su cui il client può discriminare e un trace_id da riportare all'assistenza.

{
  "error": {
    "type":     "https://api.officina.it/errors/insufficient_scope",
    "status":   403,
    "code":     "insufficient_scope",
    "message":  "Questa chiave API non ha il permesso «invoices.write».",
    "trace_id": "21fef3bbb28da12cff21e19cadf9c99d"
  }
}
Codice Quando
api_key_invalidChiave assente o sconosciuta.
api_key_revokedLa chiave è stata revocata dal gestionale.
api_key_expiredLa chiave ha superato la data di scadenza.
insufficient_scopeLa chiave non ha il permesso richiesto.
plan_upgrade_requiredIl piano non include l'accesso API.
parameter_invalidUn campo della richiesta non è valido. param indica quale.
not_foundLa risorsa non esiste o non appartiene alla tua officina.

Versionamento

L'API adotta due livelli di versionamento con finalità distinte: il percorso identifica la versione maggiore del contratto, l'header ne identifica la revisione.

Elemento Significato Criterio di aggiornamento
/v1/… Versione maggiore, indicata nel percorso della richiesta. Viene incrementata esclusivamente in caso di modifiche non retrocompatibili: rimozione o ridenominazione di un campo, variazione della semantica di un endpoint. In tale evenienza viene pubblicato un nuovo percorso /v2 e /v1 resta operativo.
X-API-Version Revisione datata all'interno della versione maggiore. Viene aggiornata a ogni estensione retrocompatibile: nuovi endpoint, nuovi campi nelle risposte. Dichiarando una revisione, l'integrazione conserva il comportamento previsto a quella data anche in seguito all'evoluzione dell'API.
L'header X-API-Version è obbligatorio su ogni richiesta; in sua assenza la chiamata viene rifiutata con 400 api_version_missing. Si consiglia di mantenere stabile la revisione dichiarata e di aggiornarla soltanto per adottare funzionalità introdotte successivamente, verificando in questa pagina le modifiche intervenute.

Specifica OpenAPI

Il contratto completo in formato OpenAPI 3.1, con tutti gli endpoint, i campi e gli errori, utilizzabile con qualsiasi generatore di client.