Potete utilizzare le nostre open-api per sviluppare delle applicazioni esterne o per integrare i vostri sistemi con Uno Erp
Per confronto o supporto, contattaci.
Accesso tramite basic authentication. È' possibile autenticarsi tramite una chiamata post inviando un header di autenticazione basic con username e password. In questo caso il sistema risponderà in formato json con un token di autenticazione simile al seguente:
Accesso tramite token. E' possibile autenticarsi evitando di inserire username e password tramite token auth da inviare via get o post. In questo caso il sistema risponderà in formato json semplicemente con l'uid dell'utente.
Risposta In entrambi i casi il sistema risponderà con i parametri auth e uid.
{ "auth": "a5c2a790f3bbdec21f68e7ecedb1dfa7522a88ad155427511030002", "uid": "30002" }
Per interagire con il sistema, dopo l’autenticazione è necessario indicare il parametro act: - info: ritorna le informazioni sul modulo - index: ritorna una lista paginata di elementi - show: ritorna un singolo elemento - create: crea un nuovo record - update: aggiorna un singolo elemento - delete: cancella un elemento dal database (futura implementazione)
La funzione info ritorna tutte le informazioni necessarie per lavorare con il modulo. I parametri da utilizzare sono i seguenti:
{ "module": $module, "file": $file, "act": "info", }
dove $module e $file sono gli stessi parametri che si possono trovare nell’url di Uno Erp quando si accede ad uno specifico modulo su Uno Erp.
La risposta comprende le seguenti chiavi:
{ "uid": "30002", "method": "info", "info": { "primary_key": $primary_key, "fieldset": { "$field1": { "label": $label, "format": $type, "insert_ignore": $ignore, "valori": $valori }, ... "$fieldn": { "label": $label, "format": $type, "insert_ignore": $ignore, "valori": $valori }, } } }
Secondo le seguenti specifiche:
"valori": [ "No", "Si" ]Sono da considerarsi come 0 = NO e 1 = SI.
Richiesta: Richiedere le informazioni sul modulo Magazzino/articoli
( auth: "2133a9410f700f5a0c470f7630ea4a11298ff84a155427467730002", act: "info", module: "Magazzino", file: "articoli" )
Risposta:
{ "uid": "30002", "method": "info", "info": { "primary_key": "id_articoli", "fieldset": { "tipo": { "label": "Tipo", "format": "menu", "insert_ignore": false, "valori": { "M": "Merci", "S": "Servizi", "I": "Unità d'imballo", "V": "Vuoto a rendere" } }, "in_vendita": { "label": "Vendibile", "format": "radio", "insert_ignore": false, "valori": [ "No", "Si" ] }, "alpha_cod": { "label": "Cod", "format": "text", "insert_ignore": false }, "descrizione": { "label": "Descrizione", "format": "text", "insert_ignore": false }, "imballaggi": { "label": null, "format": "tab", "insert_ignore": false }, "descrizione_fattura": { "label": "Descrizione aggiuntiva per fattura", "format": "textarea", "insert_ignore": false }, "valori": { "label": null, "format": "tab", "insert_ignore": false }, "movimenti": { "label": null, "format": "tab", "insert_ignore": false }, "shelf_life": { "label": "Shelf life", "format": "text", "insert_ignore": false }, "tipo_val": { "label": "Valorizzazione per statistiche", "format": "menu", "insert_ignore": false, "valori": { "prezzo_teorico": "Prezzo medio", "prezzo_lifo": "Lifo", "prezzo_fifo": "Fifo" } }, "codice_partita": { "label": "Codice partita", "format": "text", "insert_ignore": false }, "matricolato": { "label": "Gestisci Matricolato", "format": "check", "insert_ignore": false }, "scarica_distinta_base": { "label": "Scarica componenti", "format": "check", "insert_ignore": false }, "scarica_prodotto_finito": { "label": "Scarica prodotto finito", "format": "check", "insert_ignore": false }, "logistica": { "label": null, "format": "tab", "insert_ignore": false }, "fornitore_id": { "label": "Fornitore Preferenziale", "format": "livesearch", "insert_ignore": false, "valori": { "1": { "id": "1", "descrizione": "Fornitore di test 1" }, "2": { "id": "2", "descrizione": "Fornitore di test 2" }, "3": { "id": "3", "descrizione": "Fornitore di test 3" }, } }, "cod_fornitore": { "label": "Cod.Fornitore", "format": "text", "insert_ignore": false }, "produttore_id": { "label": "Produttore", "format": "menu", "insert_ignore": false, "valori": null }, "cod_produttore": { "label": "Cod.Produttore", "format": "text", "insert_ignore": false }, "unita_misura_id": { "label": "Unità di misura", "format": "menu", "insert_ignore": false, "valori": { "1": { "id": "6", "descrizione": "km" }, "2": { "id": "1", "descrizione": "ore" }, "3": { "id": "2", "descrizione": "pezzi" }, "4": { "id": "3", "descrizione": "qta" } } }, "reverse": { "label": "Articolo soggetto a Reversecharge", "format": "check", "insert_ignore": false }, "cod_iva_id": { "label": "Codice Iva", "format": "menu", "insert_ignore": false, "valori": { "1": { "id": "54", "descrizione": null }, "2": { "id": "52", "descrizione": "Art 26 Dpr 633/72" }, "3": { "id": "2", "descrizione": "Escluso art. 15" }, "4": { "id": "30", "descrizione": "Escluso ex. art 15" }, "5": { "id": "51", "descrizione": "Esente art. 1 c.da54 a 89 L. 190/2014 (forfettari)" }, "6": { "id": "35", "descrizione": "esente art. 10" }, "7": { "id": "42", "descrizione": "F.C.iva" }, "8": { "id": "48", "descrizione": "F.C.iva Art.2" }, "9": { "id": "43", "descrizione": "iva 10% indetraibile" }, "10": { "id": "37", "descrizione": "iva 22% acquisti intraCee art. 38, c 2, L. 427/93" }, "11": { "id": "45", "descrizione": "iva 22% acquisti ReverseCharge art.17, c 6 lett a/ter (pulizie)" }, "12": { "id": "40", "descrizione": "iva 22% acquisti ReverseCharge art.17, c 6 lett b,c (cell e access ict)" }, "13": { "id": "10", "descrizione": "iva al 10%" }, "14": { "id": "28", "descrizione": "iva al 21%" }, "15": { "id": "36", "descrizione": "iva al 22%" }, "16": { "id": "49", "descrizione": "iva al 22% Art. 74 (utenze)" }, "17": { "id": "39", "descrizione": "iva al 22% indetraibile 100%" }, "18": { "id": "22", "descrizione": "iva al 4% " }, "19": { "id": "21", "descrizione": "IVA ASS. EDIT. EX ART. 74 " }, "20": { "id": "44", "descrizione": "Iva assolta ex art.74 c.1 lett d (art 4 c.1 DM 24-10-2000 n. 366)" }, "21": { "id": "38", "descrizione": "iva automezzi 22% detr. al 40%" }, "22": { "id": "34", "descrizione": "iva cessioni extracee art. 8, c 1" }, "23": { "id": "26", "descrizione": "iva cessioni intracee art. 41, c 1, lett a), L. 427/93" }, "24": { "id": "33", "descrizione": "IVA esente ex art. 1 comma 100 Legge 224/2007" }, "25": { "id": "32", "descrizione": "Iva servizi transnazionali" }, "26": { "id": "46", "descrizione": "Non Imponibile Iva art.8 Ct" }, "27": { "id": "47", "descrizione": "Non soggetta art.2 com.3" } } }, "cod_iva_reverse_id": { "label": "Codice Iva (Reverse Charge)", "format": "menu", "insert_ignore": false, "valori": { "1": { "id": "45", "descrizione": "iva 22% acquisti ReverseCharge art.17, c 6 lett a/ter (pulizie)" }, "2": { "id": "40", "descrizione": "iva 22% acquisti ReverseCharge art.17, c 6 lett b,c (cell e access ict)" } } }, "famiglia_id": { "label": "Famiglia", "format": "gerarchic", "insert_ignore": false }, "conto_costo_id": { "label": "Conto di costo", "format": "menu", "insert_ignore": false, "valori": null }, "conto_id": { "label": "Conto di ricavo", "format": "menu", "insert_ignore": false, "valori": null }, "centro_costo_id": { "label": "Centro di costo", "format": "menu", "insert_ignore": false, "valori": null }, "centro_costo_spec": { "label": "Attribuisci costo a", "format": "gerarchic", "insert_ignore": false }, "centro_ricavo_id": { "label": "Centro di ricavo", "format": "menu", "insert_ignore": false, "valori": null }, "abilita_extranet": { "label": "Rendi visibile in Ecommerce", "format": "check", "insert_ignore": false }, "evidenza": { "label": "Evidenza", "format": "check", "insert_ignore": false }, "disponibile": { "label": "Disponibile", "format": "check", "insert_ignore": false }, "non_movimentabile": { "label": "Non movimentabile", "format": "check", "insert_ignore": false }, "spedizione_gratuita": { "label": "Spedizione gratuita", "format": "check", "insert_ignore": false }, "linea_prodotto_id": { "label": "Linea prodotto", "format": "gerarchic", "insert_ignore": false }, "peso": { "label": "Peso (in KG)", "format": "text", "insert_ignore": false }, "volume": { "label": "Volume (in cm³)", "format": "text", "insert_ignore": false }, "cauzione_id": { "label": "Vuoto a rendere", "format": "menu", "insert_ignore": false, "valori": null }, "sommario": { "label": "Sommario per eCommerce", "format": "textarea", "insert_ignore": false }, "descrizione_full": { "label": "Descrizione per scheda prodotto
(Compare nel modulo Shop come scheda prodotto)", "format": "textarea", "insert_ignore": false }, "descrizione_pdf": { "label": "Descrizione per catalogo
max 500 caratteri", "format": "textarea", "insert_ignore": false }, "correlati": { "label": "Correlati", "format": "multilivesearch", "insert_ignore": false }, "alternativi": { "label": "Alternativi", "format": "multilivesearch", "insert_ignore": false }, "note": { "label": "Note", "format": "textarea", "insert_ignore": false }, "padre": { "label": null, "format": "hidden", "insert_ignore": false }, "padre_alpha_cod": { "label": null, "format": "hidden", "insert_ignore": true }, "padre_descrizione": { "label": null, "format": "hidden", "insert_ignore": true } } } }
La funzione index ritorna una lista paginata di elementi. I parametri base da utilizzare sono i seguenti:
{ "module": $module, "file": $file, "act": "index", }
dove $module e $file sono gli stessi parametri che si possono trovare nell’url di Uno Erp quando si accede ad uno specifico modulo su Uno Erp.
È possibile accedere alle pagine e filtrare l’elenco con le seguenti specifiche.
{ "module": $module, "file": $file, "filter": { $key1: $op1|$value1, $key2: $op2|$value2, ... $keyn: $opn|$valuen }, "pages": { $tab_1: $n1, $tab_2: $n2, ... $tab_n: $n }, status: [0|1] }
È possibile opzionalmente filtrare i dati passando un array associativo fatto come segue:
Il sistema ritorna il numero di pagine totali divise per tab tramite la chiave “tot_pagine”. Per ottenere una specifica pagina per uno specifico tab possiamo usare la voce di richiesta pages.
NB. Di default il sistema ritorna la prima pagina per ogni tab.
Il campo status, se valorizzato ad 1, permette di includere nella risposta gli eventuali elementi non attivi.
NB. Di default il sistema non include gli elementi non attivi
Il sistema risponderà con i primi N elementi del modulo diviso, eventualmente, per tab. La risposta è codificata come segue:
{ "uid": "30002", "method": "index", "data": { "tab_1": { "1": {...}, "2": {...} }, "tab_2": { "1": {...}, "2": {...} }, ... "tab_n": { "1": {...}, "2": {...} } }, "tot_pagine": { "tab_1": n1, "tab_2": n2, ... "tab_n": n }
dove data contiene l’array degli elementi divisi per tab e tot_pagine il numero totale di pagine relative alla richiesta effettuata.
Richiesta: Richiedere i codici iva dal modulo Base/iva con i seguenti filtri: - Percentuale uguale a 22 - Descrizione che contiene la stringa “iva”
Di questi dati recuperare anche i codici iva spenti (status => 1) e per entrambi i tab ottenere le pagine 1.
( auth: "2133a9410f700f5a0c470f7630ea4a11298ff84a155427467730002", act: "index", module: "Base", file: "iva", filter: ( percentuale: "=|22", descrizione: "LIKE|iva", ) status: "1", pages: ( attivi: "1", spenti: "1", ) )
Risposta:
{ "uid": "30002", "method": "index", "data": { "attivi": { "1": { "id_iva": "49", "descrizione": "iva al 22% Art. 74 (utenze)", "percentuale": "22", "indetraibilita": "100", "regime_iva": "0", "corrispettivi": "0", "natura_iva": "N7", "reverse": "0", "iva_ex74": "1", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "1", "note": "", "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": null, "flag_iva_n7": "iva_ex74", "flag_iva": "iva_ex74" }, "2": { "id_iva": "45", "descrizione": "iva 22% acquisti ReverseCharge art.17, c 6 lett a/ter (pulizie)", "percentuale": "22", "indetraibilita": "0", "regime_iva": "0", "corrispettivi": "0", "natura_iva": "N6", "reverse": "1", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "1", "note": "", "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": "reverse", "flag_iva_n7": null, "flag_iva": "reverse" }, "3": { "id_iva": "44", "descrizione": "Iva assolta ex art.74 c.1 lett d (art 4 c.1 DM 24-10-2000 n. 366)", "percentuale": "22", "indetraibilita": "100", "regime_iva": null, "corrispettivi": "0", "natura_iva": "N7", "reverse": "0", "iva_ex74": "1", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "1", "note": "", "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": null, "flag_iva_n7": "iva_ex74", "flag_iva": "iva_ex74" }, "4": { "id_iva": "40", "descrizione": "iva 22% acquisti ReverseCharge art.17, c 6 lett b,c (cell e access ict)", "percentuale": "22", "indetraibilita": "0", "regime_iva": null, "corrispettivi": "0", "natura_iva": "N6", "reverse": "1", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "1", "note": "", "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": "reverse", "flag_iva_n7": null, "flag_iva": "reverse" }, "5": { "id_iva": "39", "descrizione": "iva al 22% indetraibile 100%", "percentuale": "22", "indetraibilita": "100", "regime_iva": null, "corrispettivi": "0", "natura_iva": "", "reverse": "0", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": &ququot;0", "ignora_liq": "0", "status": "1", "note": null, "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": null, "flag_iva_n7": null, "flag_iva": null }, "6": { "id_iva": "38", "descrizione": "iva automezzi 22% detr. al 40%", "percentuale": "22", "indetraibilita": "60", "regime_iva": null, "corrispettivi": "0", "natura_iva": "", "reverse": "0", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "1", "note": "", "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": null, "flag_iva_n7": null, "flag_iva": null }, "7": { "id_iva": "37", "descrizione": "iva 22% acquisti intraCee art. 38, c 2, L. 427/93", "percentuale": "22", "indetraibilita": "0", "regime_iva": null, "corrispettivi": "0", "natura_iva": "", "reverse": "0", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "1", "note": null, "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": null, "flag_iva_n7": null, "flag_iva": null }, "8": { "id_iva": "36", "descrizione": "iva al 22%", "percentuale": "22", "indetraibilita": "0", "regime_iva": null, "corrispettivi": "0", "natura_iva": "", "reverse": "0", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "1", "note": null, "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": null, "flag_iva_n7": null, "flag_iva": null } }, "spenti": { "1": { "id_iva": "41", "descrizione": "Iva 22% detr. al 40%", "percentuale": "22", "indetraibilita": "60", "regime_iva": null, "corrispettivi": "0", "natura_iva": "", "reverse": "0", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "0", "note": "test", "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": null, "flag_iva_n7": null, "flag_iva": null } } }, "tot_pagine": { "attivi": "1", "spenti": "1" } }
La funzione show ritorna unai dati per uno specifico elemento, specificato tramite la variabile $row. I parametri base da utilizzare sono i seguenti:
{ "module": $module, "file": $file, "act": "show", "row": $row }
dove $module e $file sono gli stessi parametri che si possono trovare nell’url di Uno Erp quando si accede ad uno specifico modulo su Uno Erp e $row, l’id dell’elemento richiesto.
Richiesta: Richiedere il codice iva dal modulo Base/iva con ID 41
( auth: "2133a9410f700f5a0c470f7630ea4a11298ff84a155427467730002", act: "show", module: "Base", file: "iva", row: "41" )
Risposta:
{ "uid": "30002", "method": "show", "data": { "id_iva": "41", "descrizione": "Iva 22% detr. al 40%", "percentuale": "22", "indetraibilita": "60", "regime_iva": null, "corrispettivi": "0", "natura_iva": "", "reverse": "0", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "0", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "0", "territoriale": "0", "ignora": "0", "ignora_liq": "0", "status": "0", "note": "test", "flag_iva_n2": null, "flag_iva_n3": null, "flag_iva_n4": null, "flag_iva_n6": null, "flag_iva_n7": null, "flag_iva": null } }
Per inviare dati al sistema è necessario usare le chiamate update e *create. Le due chiamate differiscono solo per la presenza del parametro row (in update deve essere presente, mentre in create deve essere assente). Dopo aver recuperato le informazioni dal modulo, è possibile inviare i dati dell’oggetto secondo le seguenti specifiche.
( act: "update", module: $module, file: $file, row: $row, data: { $key1: $val1, $key2: $val2 ... $keyn: $valn } )
Dove: - $key è la chiave che vogliamo settare dell’oggetto - $val è il valore relativo a tale chiave
È necessario inviare solo i campi che vogliamo popolare. Il sistema internamente eseguirà la validazione e se l’oggetto è stato salvato, risponderà con lo stesso.
Richiesta: Aggiornare il codice iva con ID 41 settando la descrizione al valore “codice iva modificato da API”, le note al valore di “note5”, la percentuale a “0”, la natura_iva a “N3” e “flag_iva_n3” al valore “iva_art8c”
{ auth: "2133a9410f700f5a0c470f7630ea4a11298ff84a155427467730002" act: "update", module: "Base", file: "iva", row: 41, data: { "descrizione": "codice iva modificato da API" "note": "Note5", "percentuale": "0" "natura_iva": "N3", "flag_iva_n3": "iva_art8c" } }
Risposta:
{ "id_iva": "41", "descrizione": "codice iva modificato da API", "percentuale": "0", "indetraibilita": "60", "regime_iva": null, "corrispettivi": "0", "natura_iva": "N3", "reverse": "0", "iva_ex74": "0", "iva_art74": "0", "iva_art40": "0", "iva_art10": "0", "iva_san": "0", "iva_art15": "0", "iva_art7": "0", "iva_art2": "0", "iva_art8c": "1", "iva_art41": "0", "iva_exp": "0", "iva_forfettari": "0", "iva_fc": "0", "non_imp": "