Changelog — API
Cronologia delle modifiche dell'Amica Cloud API. Vedi anche il changelog degli SDK.
In Development
Nessuna modifica ancora annunciata.
v3.3.3 — 2026-11-06
- fix: la copia restituita da
POST documento/{id}/newinstancefromtemplatesi può salvare anche quando il documento ha spese: prima laPOSTdella copia falliva perché le spese perdevano il riferimento alla spesa. La copia ora ha ancheNumero, comeGET documento/new, e la quantità evasa delle righe a0. - fix:
GET preferenzerestituisce sempre la riga usata dal gestionale desktop, anche quando nel database ce ne sono altre.
v3.3.2 — 2026-11-05
- fix:
GET preferenzenon risponde più500quando nel gestionale desktop la periodicità IVA, la liquidazione IVA o il tipo di bilancio non sono mai stati impostati. Arrivano comeMensile,CompetenzaeAnalitico. - fix: le liste e le ricerche dei documenti non restituiscono più i modelli salvati dal
gestionale desktop, che comparivano come documenti normali. Letto per id, un modello
risponde
404.
v3.3.1 — 2026-10-28
- fix: liste e dettagli non rispondono più
500quando un dato salvato dal gestionale desktop, o importato da versioni precedenti, ha vuoto un campo obbligatorio. Il campo arriva con il valore che ha nel gestionale: i testi obbligatori (ragione sociale, codici e nomi, sigla della valuta) vuoti, costi, quantità evasa, quantità ordinata e posizione della riga a0, il cambio del documento a1, la data di una scadenza senza data uguale a quella del documento. InPOSTePUTquesti campi restano obbligatori. - fix: le letture non restituiscono i dati incompleti che il gestionale non mostra o non può usare: righe e spese senza documento, spese vuote, documenti senza tipo o senza anagrafica, giacenze e righe di movimento senza magazzino o articolo, reparti senza causale IVA, componenti di distinta base e colori senza articolo. La numerazione dei documenti li conta comunque, quindi il numero proposto non si sovrappone a uno già usato.
- fix: una fattura fornitore (differita, accompagnatoria, da professionista, nota di credito o di debito) non risulta più duplicata quando un altro fornitore ha usato lo stesso numero nell'anno: il numero è controllato solo per lo stesso fornitore.
v3.3.0 — 2026-10-23
- new:
POST listino/computeesegue sulle righe di un listino le procedure della scheda listino del gestionale:Aggiungi(gli articoli attivi, tutti o per produttore, marca, categoria, gruppo merceologico o data di inserimento),Duplica(le righe articolo di un altro listino),ModificaPrezzi(di una percentuale o di un importo fisso),ScontieProvvigioni. Il listino può non essere ancora salvato; la risposta contiene il listino con le righe risultanti (quelle nuove conid0) e gli avvisi da mostrare. Non salva nulla: il risultato si salva conPOSToPUT listino. - fix: le letture vedono subito le modifiche fatte dal gestionale desktop. Prima liste,
dettagli, totali dei documenti e grafici di
situazionepotevano mostrare dati vecchi fino a 20 minuti dopo una scrittura.
v3.2.4 — 2026-10-23
- fix:
GET situazione/creditidebitimensiliconta le scadenze aperte degli ultimi 36 mesi a partire da oggi. Prima la finestra partiva dalla scadenza più lontana nel futuro: inserirne una spostava la finestra in avanti e faceva uscire dal conteggio scadenze vecchie ancora aperte.
v3.2.3 — 2026-10-22
- fix:
POSTePUT documentoaccettano senzadescrizionele righe di totale per aliquota create dal richiamo dei DDT «solo totali» (tipoImportazioneTotali): hannocausaleIvaIdeimportoma nessunarticoloId. Prima rispondevano400. Sulle altre righe la descrizione resta obbligatoria; nello schemadescrizionediBeneServizionon è più tra i campi obbligatori.
v3.2.2 — 2026-10-21
- fix: nelle scadenze
importoDaPagareè arrotondato al centesimo epagataètrueanche quando l'importo pagato ha residui di virgola mobile (46.880000000000003 su 46.88).
v3.2.1 — 2026-10-21
- fix:
GET situazione/creditidebitimensilirestituisce per ogni mese il credito e il debito ancora da pagare, con entrambe le preferenze di pagamento delle scadenze. Prima contava l'importo intero delle scadenze, o ignorava quelle segnate pagate a mano.
v3.2.0 — 2026-10-21
- change:
DELETE documento/{id}su un documento emesso (o fatturato, evaso, chiuso, accreditato) risponde400conoverridable: true, come laPUT: si forza con?validationOverride=true. Tutte leDELETEaccettanovalidationOverride. - new:
GET scadenzaaccettaStato=Aperta(comprese le parziali) oStato=Saldata; conteggio e paginazione ne tengono conto. - new:
articolocolore, i colori degli articoli a taglie e colori, in lettura e scrittura. UnPOSTcon un colore che l'articolo ha già risponde200con quello esistente. Il salvataggio di documenti e movimenti merce aggiunge da solo i colori nuovi. - new:
GET movimentomerce/riga/newePOST movimentomerce/riga/compute: una riga di movimento con i valori predefiniti, e la riga completata (magazzino, listino, causale IVA, taglia, prezzi, importi) al cambio di un campo, senza salvare nulla. - new: le righe dei documenti restituiscono
importoIvato, calcolato dai prezzi e dall'IVA del documento; in scrittura è ignorato. - new:
POST documento/computeaccettaivaEsclusa(defaulttrue) e, per ogni riga,importoIvato, e calcola i riepiloghi come l'applicazione desktop.POST beneservizio/computerestituisceimportoIvato. - fix:
POST beneservizio/computearrotonda l'importo ai centesimi con IVA esclusa e calcola i prezzi negativi in valore assoluto, applicando il segno alla fine. - fix: gli import di un documento (
import/ddt,ordine,preventivo,reso,acconto,proforma) producono righe con l'importo e il documento con i totali, e scrivono il secondo riepilogo IVA nel suo slot. - fix:
POST documento/{id}/import/ddtgestisce spese e pagamento come l'applicazione desktop: le spese seguonospeseIncluse, e una fattura senza pagamento prende quello dell'anagrafica. - fix: l'espansione
Righe.Prestazionedi listini e documenti restituisce la prestazione, non piùnullo l'articolo con lo stesso Id. - fix:
POST,PUTeDELETE listinonon richiedono più?TipoListino=, eindirizzonon richiede più?AnagraficaId=: rispondevano500. - fix:
POST documento/computeePOST beneservizio/computecon una causale IVA inesistente rispondono400invece di500. - fix: movimenti merce ed evasione degli ordini riconoscono la giacenza di una taglia o di un colore senza distinguere maiuscole e minuscole e ignorando gli spazi in coda.
- docs: nella API Reference aliquote, sconti e percentuali hanno esempi come frazioni
(
0.22per il 22%).
v3.1.6 — 2026-10-06
- breaking: lo spec OpenAPI non ha più il parametro di path
version(i path sono/api/v3/...) e ogni operazione ha unoperationIdleggibile, comeNazioneListoDocumentoImportDdt. Le rotte HTTP non cambiano, ma i client generati dallo spec cambiano i nomi dei metodi: vedi il changelog degli SDK. - new: dalla API Reference ci si autentica con OAuth 2.0, sia con Client Credentials sia con Authorization Code (PKCE).
- fix: lo spec e la API Reference hanno di nuovo descrizioni ed esempi di tutti i modelli, mancanti dalla v3.1.0.
v3.1.5 — 2026-10-06
- new:
inventario, gli inventari di magazzino. Le righe si producono con l'elaborazione:POST inventario/{id}/computerestituisce l'anteprima senza scrivere nulla,POST inventario/{id}/processsalva le righe e, conalignStock(defaulttrue), allinea le giacenze. Le stesse operazioni esistono senza{id}per una testata nuova o non ancora salvata, mandata nel corpo. - new:
GET documento/totali, i totali dei documenti che soddisfanoFilter, raggruppati perMese,AnnooAnagrafica; le note di credito sono sottratte. - new:
distinctsugiornalemagazzino(anche sui campi del movimento, comeMovimentoMerce.Data) e sumovimentomerce.giornalemagazzinoespande il movimento di ogni riga (expand=MovimentoMerce) e si filtra e ordina per i suoi campi. - fix:
distinctsu date, numeri, booleani ed enum non risponde più400; su un'azienda inesistente risponde404invece di500.
v3.1.4 — 2026-10-01
- fix:
POST movimentomercecon righe annidate non richiede piùmovimentoMerceIdnelle righe;PUT movimentomerce/{id}senzarighelascia invariate quelle esistenti. - fix:
PUT giacenza/{id}non richiede più l'articolo annidato.
v3.1.3 — 2026-10-01
- breaking:
giornalemagazzinoè di sola lettura:POST,PUTeDELETErispondono405. Le righe di magazzino si scrivono attraversomovimentomerce. - fix:
POST,PUTeDELETE movimentomerceaggiornano giacenze e costi degli articoli, come l'applicazione desktop. - fix: i documenti e i movimenti con righe senza descrizione si leggono, si emettono e
si esportano in XML senza errori
500.
v3.1.2 — 2026-09-28
- fix:
GET contocontabilenon risponde più500su alcuni piani dei conti.
v3.1.1 — 2026-09-28
- fix:
PUT articolocancella i componenti tolti daDistintaBase; unaDistintaBasenull lascia la distinta invariata.
v3.1.0 — 2026-09-22
- breaking: rimosso l'endpoint
reparto, insieme ai campirepartoIderepartodiArticolo. - new: lo schema
ProblemDetailsdocumenta il campocode, e ogni operazione dichiara le risposte401e403(vedi Cause del403).
v3.0.2 — 2026-09-11
- new: le richieste su un'azienda con la licenza non attiva ricevono
403concode: company_license_not_active.
v3.0.1 — 2026-09-02
- breaking: i corpi dei
400e dei409sono Problem Details (RFC 7807), come dichiarato dalla documentazione, e non più una stringa JSON con il solo messaggio. Il campooverridablearriva così al client. - new: una partita IVA o un codice fiscale formalmente errati sull'anagrafica sono
errori forzabili con
validationOverride=true. - new: gli account senza servizio cloud attivo ricevono
403concode: cloud_not_active. - new:
beneserviziosi filtra e ordina per i campi della testata (Documento.Data,Documento.ClasseDocumento, …) ed espandeDocumentoeDocumento.Anagrafica.
v3.0.0 — 2026-07-20
- new: Prima release pubblica dell'Amica Cloud API (
v3): accesso REST ad anagrafiche, magazzino, documenti, scadenze e fatturazione elettronica, con autenticazione OAuth 2.0, supporto multi-azienda, paginazione, filtri e ordinamento, espansione oggetti correlati, controllo di concorrenza ottimistico, rate limiting e headerIdempotency-KeysuPOSTePUT.