Changelog API
Questa pagina documenta tutte le modifiche significative all'Invoicetronic API.
v1.3.3 - 12 Marzo 2026
Fix
- Corretto errore 500 su
POST /sende altri endpoint con transazioni, causato dall'incompatibilità tra la strategia di retry automatico su errori transienti PostgreSQL (introdotta nella v1.3.2) e le transazioni manuali.
v1.3.2 - 12 Marzo 2026
Fix
- Corretto errore 500 su
POST /send/xmlquando il Content-Type include parametri (es.charset=utf-8). Il controllo ora supporta anchetext/xmled è case-insensitive. - Corretto errore 500 su
POST/PUTquando i campi DateTime non hanno timezone esplicita. I valori non-UTC vengono ora rifiutati con errore 400. - Il campo
createddi tutte le entity viene ora gestito interamente dal server: impostato a UTC in fase di creazione e non modificabile in fase di aggiornamento. - Corretto errore 500 su
GET /logeGET /webhookhistoryquando si ordina persuccess. Le proprietà calcolate non mappate al database ora restituiscono errore di validazione.
v1.3.1 - 10 Marzo 2026
Fix
- Corretto errore 500 quando il campo
payloadè nullo o vuoto nell'invio fattura. Ora restituisce correttamente un errore 400.
v1.3.0 - 7 Marzo 2026
Novità
- Aggiunto campo
nome_committentealle fatture inviate enome_prestatorealle fatture ricevute. La ragione sociale viene estratta automaticamente dall'XML ed è cercabile tramite il filtroq.
v1.2.10 - 6 Marzo 2026
Fix
- Migliorato il rilevamento delle autofatture: ora vengono riconosciute correttamente le fatture con
soggetto_emittente= CC etipo_documento= TD01, oppure contipo_documentoTD16, TD17, TD18, TD19, TD20, TD21 o TD27. - Aggiunta validazione: le fatture inviate senza almeno un body restituiscono ora un errore 400.
v1.2.9 - 3 Marzo 2026
Novità
- Aggiunto supporto per il sorting per
document_date(e-document_date) negli endpoint/send/e/receive/, per ordinare le fatture in base alla data documento.
Documentazione
- Chiarito nella documentazione dell'endpoint
/update/che l'interrogazione è gratuita e non viene conteggiata come operazione.
v1.2.8 - 2 Marzo 2026
Novità
- Aggiunto header
Retry-Aftersulle risposte429 Too Many Requests, che indica al client quanti secondi attendere prima di riprovare. - Aggiunti header
RateLimit-LimiteRateLimit-Policysu tutte le risposte API, che descrivono le finestre di rate limiting attive (al secondo, al minuto, al giorno).
v1.2.7 - 2 Marzo 2026
Novità
- Aggiunto endpoint
GET /health/per il controllo dello stato dell'API e dei database. Non richiede autenticazione. Rate limited a 12 richieste al minuto. Restituisce 200 se tutti i servizi sono operativi, 503 se uno o più dipendenze non sono raggiungibili.
v1.2.6 - 27 Febbraio 2026
Novità
- Aggiunta validazione del formato filename SDI per le fatture in invio. Il
file_name, se fornito, deve rispettare la convenzione SDI: codice paese + id fiscale +_+ progressivo +.xmlo.xml.p7m(es.IT01234567890_00001.xml).
v1.2.5 - 26 Febbraio 2026
Correzioni
- Il parametro
typedell'endpoint/export/ora accetta valori case-insensitive (es.send,Send,SEND) e restituisce un errore chiaro per valori non validi.
v1.2.4 - 26 Febbraio 2026
Novità
- Aggiunto parametro
qper la ricerca full-text su nome, partita IVA e codice fiscale nell'endpoint di lista/company/.
v1.2.3 - 26 Febbraio 2026
Novità
- Aggiunto parametro
qper la ricerca full-text su committente, prestatore, identifier e nome file negli endpoint di lista/send/e/receive/.
v1.2.2 - 25 Febbraio 2026
Correzioni
- Il parametro
sortdegli endpoint di lista ora è case-insensitive (es.sort=nameesort=Namefunzionano entrambi).
v1.2.1 - 25 Febbraio 2026
Novità
- Aggiunto endpoint
GET /company/{vat}per il recupero di un'azienda tramite partita IVA.
Correzioni
- Aggiunto ordinamento predefinito per
idalle query con paginazione per evitare risultati imprevedibili.
v1.1.6 - 24 Febbraio 2026
Correzioni
- Le eccezioni transient di database (timeout di connessione, ecc.) ora restituiscono
503 Service Unavailablecon ProblemDetails.
v1.1.5 - 23 Febbraio 2026
Novità
- Aggiunti endpoint
GET /send/{id}/payloadeGET /receive/{id}/payloadper ottenere solo il payload senza i metadati della fattura. L'endpoint receive marca la fattura come letta e conta l'operazione.
Correzioni
- Le risposte GET di receive e update restituivano
is_read=falseanche quando la lettura li marcava come letti. Orais_readè correttamentetruenella risposta immediata.
v1.1.4 - 19 Febbraio 2026
Novità
- La sezione API Reference ora include gli schemi delle entity (Company, Send, Receive, Update, WebHook, Event, Status) con le relative descrizioni.
v1.1.3 - 17 Febbraio 2026
Correzioni
- Spazi nell'
id_codiceocodice_fiscaledel XML (es.04467630614) causavano errore 400 nella ricezione fatture. I valori vengono ora trimmati automaticamente.
v1.1.2 - 17 Febbraio 2026
Correzioni
- Le validazioni vengono ora conteggiate correttamente nel contatore operazioni, anche quando si invia con
?validate=true.
v1.1.1 - 16 Febbraio 2026
Correzioni
- XML malformato ora restituisce 400 Bad Request invece di 500 Internal Server Error su tutti gli endpoint di invio e validazione.
- Il messaggio di errore per partita IVA non trovata ora include la partita IVA estratta dall'XML.
- Il filtro
prestatoresulle query/update/veniva ignorato. Ora filtra correttamente tramite la fattura inviata collegata.
v1.1.0 - 13 Febbraio 2026
Novità
- Aggiunto endpoint
GET /export/per esportare fatture inviate e ricevute come archivio ZIP di file XML FatturaPA. Supporta filtri per azienda, periodo (mese/trimestre) e range di date documento. Le fatture inviate vengono incluse solo se in stato definitivo.
Correzioni
- Le fatture ricevute (Receive) vengono ora conteggiate come operazione solo se non ancora lette.
v1.0.27 - 6 Febbraio 2026
Correzioni
- Il campo
date_sentdei documenti inviati (Send) viene ora aggiornato correttamente.
Documentazione
- Aggiunta tabella valori enum
Statenella documentazione Update con descrizioni dettagliate. - Aggiunta nota sull'importanza di monitorare lo stato dei documenti inviati.
v1.0.26 - 5 Febbraio 2026
Novità
- L'endpoint DELETE
/company/{id}ora richiede il parametro?force=truese esistono fatture collegate alla company. Senza il parametro, ritorna 409 Conflict con i dettagli delle fatture esistenti.
v1.0.25 - 3 Febbraio 2026
Correzioni
- Il campo
is_readnelle fatture ricevute (receive) viene ora impostato solo quandoinclude_payload=true, sia per GET singolo che per lista.
Documentazione
- Aggiornate le descrizioni degli endpoint receive per documentare il nuovo comportamento di
is_read. - Corretti typo nelle descrizioni dei modelli.
v1.0.24 - 2 Febbraio 2026
Correzioni
- Migliorato il log degli eventi.
v1.0.23 - 2 Febbraio 2026
Correzioni
- Corretta la decodifica base64 nell'autenticazione Basic Auth che poteva causare il fallimento del login quando le credenziali venivano codificate senza il separatore colon (es.
Base64(api_key)invece diBase64(api_key:)).
v1.0.22 - 18 Gennaio 2026
Miglioramenti
Documentazione API migliorata
Aggiunte descrizioni complete a tutti gli endpoint API con informazioni dettagliate su: - Descrizione di ogni entità (send, receive, update, company, log, webhook, status) - Periodi di retention dei dati - Filtri disponibili per le ricerche - Link alla Dashboard per la gestione delle risorse - Link alla documentazione Sandbox e Webhooks
v1.0.21 - 5 Gennaio 2026
Novità
Supporto per la lingua tedesca
Aggiunto il supporto completo per la lingua tedesca (de) nell'header Accept-Language. Tutti i messaggi di errore e validazione sono ora disponibili in tre lingue:
- Accept-Language: it - Messaggi in italiano (predefinito)
- Accept-Language: en - Messaggi in inglese
- Accept-Language: de - Messaggi in tedesco
Le varianti regionali sono supportate e mappate automaticamente alla lingua base (es. de-DE, de-AT, de-CH → de). Per maggiori dettagli, consulta la documentazione sulla localizzazione.
v1.0.20 - 4 Gennaio 2026
Modifiche Breaking
Header di localizzazione - Migrazione a Accept-Language
L'header di localizzazione è stato migrato dall'header custom Invoicetronic-Language all'header HTTP standard Accept-Language (RFC 7231). Per maggiori dettagli, consulta la documentazione sulla localizzazione.
Azione richiesta: I client devono aggiornare le loro integrazioni per usare l'header Accept-Language invece di Invoicetronic-Language:
- Prima: Invoicetronic-Language: it
- Ora: Accept-Language: it
L'header custom Invoicetronic-Language non è più supportato. La lingua predefinita è ora italiano (in precedenza era inglese).
Novità
Supporto multi-lingua completo
Tutti i messaggi di errore di validazione sono ora disponibili in italiano e inglese. L'API risponde nella lingua specificata nell'header Accept-Language:
- Accept-Language: it - Messaggi in italiano
- Accept-Language: en - Messaggi in inglese
Se l'header è assente o contiene una lingua non supportata, l'API risponderà in italiano. Lingue attualmente supportate: italiano (it), inglese (en).
v1.0.19 - 2 Gennaio 2026
Correzioni
Log errori - Campo error più leggibile
Migliorato il campo error nei log per mostrare solo il messaggio di errore effettivo invece dell'intera risposta JSON. Il campo ora contiene il messaggio reale (es. "vat is required") invece del wrapper JSON completo, rendendo i log più leggibili. In caso di errori ProblemDetails, viene estratto il campo detail, altrimenti viene usato il campo title o, per risposte non-ProblemDetails, la risposta grezza (troncata a 500 caratteri).
v1.0.18 - 1 Gennaio 2026
Correzioni
Validazione campi obbligatori
Corretta la validazione dei campi obbligatori per restituire 400 Bad Request invece di 500 Internal Server Error quando i campi vat, fiscal_code, name (Company) o payload (Send/Receive) sono null. Questi campi erano già contrassegnati come obbligatori nel contratto API e nella specifica OpenAPI, ma la validazione non era correttamente applicata a runtime.
v1.0.16 - 9 Dicembre 2025
Modifiche
Invio fatture - Auto-compilazione DatiTrasmissione
Quando si invia una fattura senza specificare il campo file_name, il sistema ora aggiorna automaticamente i campi DatiTrasmissione nel XML se sono vuoti:
- IdTrasmittente.IdPaese viene impostato a "IT"
- IdTrasmittente.IdCodice viene impostato a "01180680397" (P.IVA Invoicetronic)
- ProgressivoInvio viene impostato al contatore Base36 auto-generato
In precedenza, veniva generato solo il nome del file ma il contenuto XML rimaneva invariato. Questa modifica garantisce coerenza tra il nome del file e la struttura XML. I valori esistenti non vuoti vengono sempre preservati e mai sovrascritti.
v1.0.15 - 6 Dicembre 2025
Novità
Header Invoicetronic-Version
Aggiunto l'header Invoicetronic-Version a tutte le risposte API. I client possono ora verificare la versione dell'API e rilevare aggiornamenti leggendo questo header da qualsiasi risposta. Il numero di versione corrisponde alla versione di release dell'API (es. "1.0.15").
v1.0.14 - 6 Dicembre 2025
Correzioni
Webhook - Codifica payload
Corretta la codifica del payload webhook da UTF-16 a UTF-8 per la corretta verifica della firma HMAC. Il payload HTTP del webhook veniva inviato con Encoding.Unicode (UTF-16LE) mentre la firma HMAC veniva calcolata usando la codifica ASCII, rendendo difficile per i client verificare la firma. Ora sia il payload che il calcolo HMAC utilizzano la codifica UTF-8, che è lo standard per i payload JSON e garantisce una verifica coerente della firma.
v1.0.13 - 5 Dicembre 2025
Correzioni
Webhook - Supporto evento wildcard
Corretto il supporto per l'evento wildcard (*) nei webhook. I webhook configurati con l'evento * venivano accettati durante la creazione ma non venivano mai attivati. Ora i webhook con * nella lista degli eventi vengono correttamente attivati per tutti gli eventi.
v1.0.12 - 4 Dicembre 2025
Novità
Webhook - Campo resource_id
Aggiunto il campo resource_id alle notifiche webhook. I payload webhook ora includono l'ID della risorsa creata o modificata dalla richiesta.
Per esempio, per gli eventi update.add, il campo resource_id contiene l'ID dell'entità Update appena creata. Questo permette ai ricevitori webhook di recuperare direttamente i dettagli della risorsa senza dover fare matching basato su timestamp o altre euristiche.
v1.0.9 - 4 Dicembre 2025
Correzioni
Notifiche webhook per receive.add e update.add
Corretta un'anomalia che impediva l'invio corretto delle notifiche webhook per gli eventi receive.add e update.add. I webhook vengono ora attivati correttamente per il proprietario della risorsa.
v1.0.7 - 3 Dicembre 2025
Correzioni
Notifiche webhook con company_id null
Corretto un problema che impediva l'invio delle notifiche webhook quando la risposta API conteneva un valore company_id null. Ora i webhook vengono correttamente inviati anche in questi casi.
v1.0.0 - 14 Luglio 2025
Novità
Prima release ufficiale di Invoicetronic API.