Strumenti Utente

Strumenti Sito


apireference:api

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
apireference:api [2024/04/08 13:57] marcomerlinoapireference:api [2024/04/08 14:38] (versione attuale) marcomerlino
Linea 93: Linea 93:
  
  
-Questa api consente di caricare il contenuto di alcuni oggetti di un determinato modello (Attenzione:  +Questa api consente di caricare il contenuto di alcuni oggetti di un determinato modello (Attenzione: allo stato attuale la stessa non è multi-modello, il fatto di renderla tale potrebbe essere un'estensione successiva/un compito di un aggregatore e non è incluso nella presente specifica). 
-allo stato attuale la stessa non è multi-modello, il fatto di renderla tale potrebbe essere un'estensione  +
-successiva/un compito di un aggregatore e non è incluso nella presente specifica).+
 La risposta potrà essere: La risposta potrà essere:
-un array di oggetti + 
-un oggetto di errore +  * un array di oggetti 
-Da un punto di vista di Access Control questa api NON necessita di verifiche (chiunque, anche senza  +  un oggetto di errore 
-token può richiedere il caricamento di oggetti, sarà oggetto di analisi future lo studio di eventuali ratelimiter, da un punto di vista di sicurezza i campi "sensibili" devono essere marcati come "hidden", + 
-sarà possibile accederci con chiamate custom, e la possibilità di scansione è mitigata unicamente  +Da un punto di vista di Access Control questa api NON necessita di verifiche (chiunque, anche senza token può richiedere il caricamento di oggetti, sarà oggetto di analisi future lo studio di eventuali rate-limiter, da un punto di vista di sicurezza i campi "sensibili" devono essere marcati come "hidden", e sarà possibile accederci con chiamate custom, e la possibilità di scansione è mitigata unicamente dalla dimensione dello spazio di generazione degli identificativo). 
-dalla dimensione dello spazio di generazione degli identificativo).+
 Esempio di definizione: Esempio di definizione:
-"load":{"name":"Load  + 
-objects","method":"POST","url":"/api/product/load/","params":[],"data":"array","response" +"load":{"name":"Load objects","method":"POST","url":"/api/product/load/","params":[],"data":"array","response":"array","capabilities":{}} 
-:"array","capabilities":{}}+
 Esempio d’uso: Esempio d’uso:
 +
 curl -s -X POST -H "Content-Type: application/json"  curl -s -X POST -H "Content-Type: application/json" 
-https://pim.neosidea.com/api/product/load/ -d ‘ +https://pim.neosidea.com/api/product/load/ -d ‘["5ca2e6ea-fde4-4b08-aad8-56addee6dafa","91f177cf-1e2d-48fd-be4c-76c1835acab8","5c4bdd3c92fc-4f36-92bc-ae571597843b"]’ 
-["5ca2e6ea-fde4-4b08-aad8-56addee6dafa","91f177cf-1e2d-48fd-be4c-76c1835acab8","5c4bdd3c92fc-4f36-92bc-ae571597843b"]’+
 Risposta: Risposta:
 { {
-"result":+   "result":
-+      
-"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", +         "uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", 
-"created":1710164142000, +         "created":1710164142000, 
-"name":"Nuovo prodotto 1" +         "name":"Nuovo prodotto 1", 
-"committed":1710164142001 +         "committed":1710164142001 
-}, +      }, 
-+      
-"uuid":91f177cf-1e2d-48fd-be4c-76c1835acab8", +         "uuid":91f177cf-1e2d-48fd-be4c-76c1835acab8", 
-"created":1710164142000, +         "created":1710164142000, 
-"name":"Nuovo prodotto 2" +         "name":"Nuovo prodotto 2", 
-"committed":1710164142001 +         "committed":1710164142001 
-}, +      }, 
-+      
-"uuid":"5c4bdd3c-92fc-4f36-92bc-ae571597843b", +         "uuid":"5c4bdd3c-92fc-4f36-92bc-ae571597843b", 
-"created":1710164142000, +         "created":1710164142000, 
-"name":"Nuovo prodotto 3" +         "name":"Nuovo prodotto 3", 
-"committed":1710164142001 +         "committed":1710164142001 
-}, +      }, 
-]+   
 } }
-API Microservizi v1.0.2 + 
-Ricerca dati +==== Ricerca dati ==== 
-Questa api consentirà di ricercare oggetti di un determinato tipo, Saranno ricercabili solo gli oggetti in  + 
-stato "ATTIVO", sarà possibile porre dei filtri, delle limitazioni e delle proiezioni sul risultato come di  +Questa api consentirà di ricercare oggetti di un determinato tipo, Saranno ricercabili solo gli oggetti in stato "ATTIVO", sarà possibile porre dei filtri, delle limitazioni e delle proiezioni sul risultato come di seguito descritto. 
-seguito descritto. +Da un punto di vista di Access Control questa api potrà richiedere una capability tipo cap_MODEL_search, cap_MODEL_search_own simile a quelle descritte per il salvataggio (ma non è richiesto). 
-Da un punto di vista di Access Control questa api potrà richiedere una capability tipo  +
-cap_MODEL_search, cap_MODEL_search_own simile a quelle descritte per il salvataggio (ma non è  +
-richiesto).+
 La stessa accetta i seguenti parametri: La stessa accetta i seguenti parametri:
-query: un campo testuale per effettuare una ricerca su tutti i campi testuali ricercabili a seconda del  + 
-contesto +**query**: un campo testuale per effettuare una ricerca su tutti i campi testuali ricercabili a seconda del contesto 
-filter: una struttura di espressioni di ricerca +**filter**: una struttura di espressioni di ricerca 
-sort: un oggetto contenente un campo "field" (stringa, codice di campo) e un campo "desc" (boolean) +**sort**: un oggetto contenente un campo "field" (stringa, codice di campo) e un campo "desc" (boolean) 
-offset: un numero intero +**offset**: un numero intero 
-limit: un numero intero, limitato da "search_max" +**limit**: un numero intero, limitato da "search_max" 
-format: una stringa, definisce l'output scope e può essere: +**format**: una stringa, definisce l'output scope e può essere: 
-undefined o "default": viene ritornato tutto l'oggetto +  undefined o "default": viene ritornato tutto l'oggetto; 
-"related": viene ritornato tutto l'oggetto, e viene ritornato un oggetto contenente gli oggetti  +  "related": viene ritornato tutto l'oggetto, e viene ritornato un oggetto contenente gli oggetti relazionati organizzati per modello (in maniera opportunistica e  
-relazionati organizzati per modello (in maniera opportunistica e implementation-dependent, senza  +  * implementation-dependent, senza alcuna garanzia, alcuni microservizi potrebbero rifiutarsi di implementarlo, o implementarlo sulla base dell'origin della relazione) 
-alcuna garanzia, alcuni microservizi potrebbero rifiutarsi di implementarlo, o implementarlo sulla  +  "count": ritorna solo il numero dei risultati 
-base dell'origin della relazione) +  "autocomplete": ritorna solo i campi "uuid" e "memo", imposta come contesto di ricerca libera i soli campi marcati per l'autocomplete 
-"count": ritorna solo il numero dei risultati +  “ui”: ritorna tutti i campi di tipo “uuid” e “uuid[]” (ad eccezione del campo con codice “uuid” del modello master della ricerca) sostituiti con la rispettiva stringa  
-"autocomplete": ritorna solo i campi "uuid" e "memo", imposta come contesto di ricerca libera  +   mnemonica 
-i soli campi marcati per l'autocomplete +**inputformat**: una string, definisce il comportamento del parser della query di ricerca, e può essere: 
-“ui”: ritorna tutti i campi di tipo “uuid” e “uuid[]” (ad eccezione del campo con codice “uuid”  +  undefined o “default”: la query di ricerca viene parserizzata normalmente 
-del modello master della ricerca) sostituiti con la rispettiva stringa mnemonica +  “ui”: tutti i campi di tipo “uuid” o “uuid[]” useranno la funzione “contains” e conterranno una ricerca testuale da applicare sul modello relativo 
-inputformat: una string, definisce il comportamento del parser della query di ricerca, e può essere: + 
-undefined o “default”: la query di ricerca viene parserizzata normalmente +E' possibile estendere i format qui specificati con format specifici per microservizio, in tal senso viene riservata una nomenclatura per il formato come: "codicemicroservizio_codicemodello_implementationdependant". 
-“ui”: tutti i campi di tipo “uuid” o “uuid[]” useranno la funzione “contains” e conterranno una  + 
-ricerca testuale da applicare sul modello relativo +Per quanto riguarda l'autocomplete è ammissibile che lo stesso, allo scopo di valutare la stringa di ricerca ignori i campi marcati come "autocomplete" e si limiti a: 
-E' possibile estendere i format qui specificati con format specifici per microservizio, in tal senso viene  + 
-riservata una nomenclatura per il formato come: +  * saper riconoscere e ricercare un uuid 
-"codicemicroservizio_codicemodello_implementationdependant"+  saper ricercare la stringa di ricerca nel campo memo in startswith e/o in contain 
-Per quanto riguarda l'autocomplete è ammissibile che lo stesso, allo scopo di valutare la stringa di  + 
-ricerca ignori i campi marcati come "autocomplete" e si limiti a: +questa eventuale limitazione è giustificabile per singolo modello di microservizio allo scopo di privilegiare le performance rispetto all'accuratezza. 
-saper riconoscere e ricercare un uuid +
-saper ricercare la stringa di ricerca nel campo memo in startswith e/o in contain +
-API Microservizi v1.0.2 +
-questa eventuale limitazione è giustificabile per singolo modello di microservizio allo  +
-scopo di privilegiare le performance rispetto all'accuratezza.+
 Il formato di autocomplete dovrà utilizzare i filtri e il limit ma ignorerà il campo offset e l'ordinamento.  Il formato di autocomplete dovrà utilizzare i filtri e il limit ma ignorerà il campo offset e l'ordinamento. 
-L'offset sarà sempre 0, l'ordinamento a tendere sarà dato dal peso del risultato nella ricerca full-text e  +L'offset sarà sempre 0, l'ordinamento a tendere sarà dato dal peso del risultato nella ricerca full-text e per ora sarà dipendente dall'implementazione. 
-per ora sarà dipendente dall'implementazione.+
 La risposta potrà essere: La risposta potrà essere:
-un array di oggetti + 
-un numero +  * un array di oggetti 
-un oggetto di errore+  un numero 
 +  un oggetto di errore 
 Esempio di definizione: Esempio di definizione:
-"search":{"name":"Search  + 
-objects","method":"POST","url":"/api/product/search/","params":[],"data":"object","respon +"search":{"name":"Search objects","method":"POST","url":"/api/product/search/","params":[],"data":"object","response":"array","capabilities":{"search" ["cap_MODEL_search","cap_MODEL_search_own"]}} 
-se":"array","capabilities":{"search":["cap_MODEL_search","cap_MODEL_search_own"]}}+
 Esempio d’uso: Esempio d’uso:
 +
 curl -s -X POST -H "Content-Type: application/json" https://pim.neosidea.com/api/product/search/ curl -s -X POST -H "Content-Type: application/json" https://pim.neosidea.com/api/product/search/
 { {
-"query":"Vino Barricato", +   "query":"Vino Barricato", 
-"filter":+   "filter":
-"func":"and", +      "func":"and", 
-"fields":+      "fields":
-+         
-"func":"or", +            "func":"or", 
-"fields":+            "fields":
-+         
-"func":"eq", +            "func":"eq", 
-"field":"brand", +            "field":"brand", 
-"value":"1fedee56-4841-4a17-b867-b339849c9b37", +            "value":"1fedee56-4841-4a17-b867-b339849c9b37", 
-}, +         }, 
-+      
-"func":"startswith", +         "func":"startswith", 
-"field":"name", +         "field":"name", 
-"value":"Barolo" +         "value":"Barolo" 
-}, +      },] 
-+   }, 
-}, +   
-+      "field":"year", 
-"field":"year", +      "func":"gt", 
-"func":"gt", +      "value":2016 
-"value":2016 +   }] 
-} +   }, 
-+      "format":"related", 
-}, +      "sort":
-"format":"related", +         "field":"publishrequest", 
-"sort":+         "desc":true 
-"field":"publishrequest", +      }, 
-"desc":true +   "offset":0, 
-}, +   "limit":10
-"offset":0, +
-"limit":10+
 } }
 +
 Risposta: Risposta:
 +
 { {
-"result":+   "result":
-+      
-"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", +         "uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", 
-"created":1710164142000, +         "created":1710164142000, 
-"name":"Nuovo prodotto 1" +         "name":"Nuovo prodotto 1" 
-API Microservizi v1.0.2 +         "committed":1710164142001 
-"committed":1710164142001 +      }, 
-}, +   
-+      "uuid":91f177cf-1e2d-48fd-be4c-76c1835acab8", 
-"uuid":91f177cf-1e2d-48fd-be4c-76c1835acab8", +      "created":1710164142000, 
-"created":1710164142000, +      "name":"Nuovo prodotto 2" 
-"name":"Nuovo prodotto 2" +      "committed":1710164142001 
-"committed":1710164142001 +   },], 
-}, +   "related":
-], +      "brand":
-"related":+         
-"brand":+            "uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", 
-+            "created":1710164142000, 
-"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", +            "name":"Brand 1" 
-"created":1710164142000, +            "committed":1710164142001 
-"name":"Brand 1" +         },], 
-"committed":1710164142001 +      "category":
-}, +         
-], +            "uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", 
-"category":+            "created":1710164142000, 
-+            "name":"Categoria 1" 
-"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", +            "committed":1710164142001 
-"created":1710164142000, +         }, 
-"name":"Categoria 1" +      
-"committed":1710164142001 +         "uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", 
-}, +         "created":1710164142000, 
-+         "name":"Categoria 2" 
-"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87", +         "committed":1710164142001 
-"created":1710164142000, +      },], 
-"name":"Categoria 2" +   }
-"committed":1710164142001 +
-}, +
-], +
-}+
 } }
 +
 Esempio di risposta con format autocomplete: Esempio di risposta con format autocomplete:
 +
 { {
-"result":+   "result":
-{"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87","memo":"Vino 1"}, +      {"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87","memo":"Vino 1"}, 
-{"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87","memo":"Vino 2"}, +      {"uuid":"7020f592-20f5-48dd-9295-481b3ffb3c87","memo":"Vino 2"}, 
-]+   ]
 } }
 +
 Esempio di risposta con format count: Esempio di risposta con format count:
 +
 {"result":127} {"result":127}
-Backup + 
-Questa api richiede la capability cap_admin, è analoga alla funzione di ricerca ma con le seguenti  +==== Backup ==== 
-caratteristiche: + 
-ricerca su tutti gli oggetti, compresi quelli in stato "GENERATO" e "CANCELLATO" +Questa api richiede la capability cap_admin, è analoga alla funzione di ricerca ma con le seguenti caratteristiche: 
-non consente di personalizzare la ricerca (non riceve nemmeno un postdata), di conseguenza ritorna  + 
-sempre gli oggetti così come sono +  * ricerca su tutti gli oggetti, compresi quelli in stato "GENERATO" e "CANCELLATO" 
-A differenza delle api viste precedentemente la stessa deve essere implementata sia a livello di  +  non consente di personalizzare la ricerca (non riceve nemmeno un postdata), di conseguenza ritorna sempre gli oggetti così come sono 
-modello che a livello di microservizio (in modo da consentire un backup totale o parziale) + 
-In questa revisione della specifica non saranno approfonditi aspetti di backup incrementale, di job di  +A differenza delle api viste precedentemente la stessa deve essere implementata sia a livello di modello che a livello di microservizio (in modo da consentire un backup totale o parziale) 
-materializzazione del backup, o di split dello stesso per accomodarne le risorse di generazione. A  +In questa revisione della specifica non saranno approfonditi aspetti di backup incrementale, di job di materializzazione del backup, o di split dello stesso per accomodarne le risorse di generazione. A tendere questi aspetti dovranno essere presi in considerazione 
-tendere questi aspetti dovranno essere presi in considerazione+
 La risposta potrà essere: La risposta potrà essere:
-API Microservizi v1.0.2 + 
-un array di oggetti +  un array di oggetti 
-un oggetto di errore+  un oggetto di errore 
 Esempio di definizione: Esempio di definizione:
-"backup":{"name":"Backup  + 
-objects","method":"GET","url":"/api/product/backup/","params":[],"data":[],"response":"ar +"backup":{"name":"Backup objects","method":"GET","url":"/api/product/backup/","params":[],"data":[],"response":"array","capabilities":{"backup":["cap_admin"]}} 
-ray","capabilities":{"backup":["cap_admin"]}}+
 Esempio d’uso: Esempio d’uso:
 +
 curl -s https://pim.neosidea.com/api/product/backup/ curl -s https://pim.neosidea.com/api/product/backup/
 +
 Risposta: Risposta:
 { {
-"result":+   "result":
-{...}, +      {...}, 
-{...}, +      {...}, 
-{...}, +      {...}, 
-]+   ]
 } }
-Ripristino + 
-Questa api richiede la capability cap_admin, è analoga alla funzione di save ma con le seguenti  +==== Ripristino ==== 
-caratteristiche: + 
-non vengono verificati gli identificativi e, di conseguenza, se mancanti non vengono ripristinati gli  +Questa api richiede la capability cap_admin, è analoga alla funzione di save ma con le seguenti caratteristiche: 
-oggetti, se presenti non ne viene verificata una precedente generazione + 
-non vengono effettuati controlli di consistenza +  * non vengono verificati gli identificativi e, di conseguenza, se mancanti non vengono ripristinati gli oggetti, se presenti non ne viene verificata una precedente generazione 
-non viene aggiornato l'oggetto, ad esempio, con una data di ultima modifica +  non vengono effettuati controlli di consistenza 
-Come l'api di backup la stessa deve essere implementata sia a livello di modello che a livello di  +  non viene aggiornato l'oggetto, ad esempio, con una data di ultima modifica 
-microservizio (in modo da consentire un ripristino totale o parziale)+ 
 +Come l'api di backup la stessa deve essere implementata sia a livello di modello che a livello di microservizio (in modo da consentire un ripristino totale o parziale) 
 La risposta potrà essere: La risposta potrà essere:
-un boolean di conferma + 
-un oggetto di errore+  * un boolean di conferma 
 +  un oggetto di errore 
 Esempio di definizione: Esempio di definizione:
-"restore":{"name":"Restore + 
-objects","method":"POST","url":"/api/product/restore/","params":[],"data":"array","respon +"restore":{"name":"Restore objects","method":"POST","url":"/api/product/restore/","params":[],"data":"array","response":"boolean","capabilities":{"restore":["cap_admin"]}} 
-se":"boolean","capabilities":{"restore":["cap_admin"]}}+
 Esempio d’uso: Esempio d’uso:
 +
 curl -s -X POST -H "Content-Type: application/json" https://pim.neosidea.com/api/product/backup/ curl -s -X POST -H "Content-Type: application/json" https://pim.neosidea.com/api/product/backup/
 [ [
-{...}, +   {...}, 
-{...}, +   {...}, 
-{...},+   {...},
 ] ]
-API Microservizi v1.0.2+
 Risposta:  Risposta: 
 +
 {"result":true} {"result":true}
-Esempio finale di Manifesto + 
-Url: +==== Esempio finale di Manifesto ==== 
-https://pim.neosidea.com/api/manifest.json+ 
 + 
 +Url: https://pim.neosidea.com/api/manifest.json 
 Contenuto: Contenuto:
 +
 { {
-"code":"pim", +   "code":"pim", 
-"name":+   "name":
-"it":"Gestione delle informazioni dei prodotti", +      "it":"Gestione delle informazioni dei prodotti", 
-"en":"Product Information Management"+      "en":"Product Information Management" 
 +   }, 
 +   "config":
 +   "search_max":100, 
 +   "create_max":100, 
 +   "load_max":100, 
 +   "save_max":100, 
 +   "multiuuid_max":100, 
 +   "uncommitted_max":86400000, 
 +   "locale":
 +      "it", 
 +      "en" 
 +   ]
 }, },
-"config":+   "schema":
-"search_max":100, +      "manufacturer":
-"create_max":100, +          "name":{"it":"Produttore"}, 
-"load_max":100, +          "fields":
-"save_max":100, +             "name":{"name":"Nome","type":"text","unique":true,"required":true,"sort":true,"search":true,"autocomplete":true} 
-"multiuuid_max":100, +             "address":{"name":"Indirizzo Postale","type":"text","search":true,
-"uncommitted_max":86400000, +     {, 
-"locale":+     "api":
-"it", +     "new":{"name":"Create new objects","method":"GET","url":"/api/manufacturer/create/","params  
-"en" +     [{"code":"num","name":"Numero","type":"positiveinteger","required":true}],"response":"array","capabilites":{}}, 
-+     "save":{"name":"Save objects","method":"POST","url":"/api/manufacturer/save/","params":[],"data":"array","response":"boolean","capabilities":{"commit"  
-}, +     ["cap_MODEL_create","cap_MODEL_create_own"],"edit":["cap_MODEL_edit","cap_MODEL_edit_own"],"delete":["cap_MODEL_delete","cap_MODEL_delete_own"]}}, 
-"schema":+     "load":{"name":"Load objects","method":"POST","url":"/api/manufacturer/load/","params":[],"data":"array","response":"array","capabilites":{}}, 
-"manufacturer":+     "search":{"name":"Search objects","method":"POST","url":"/api/manufacturer/search/","params":[],"data":"object","response":"array","capabilities":{"search"  
-"name":{"it":"Produttore"}, +    ["cap_MODEL_search","cap_MODEL_search_own"]}},"backup":{"name":"Backup objects","method":"GET","url":"/api/manufacturer/backup/","params":[],"data":[],"response 
-"fields":+    ":"array","capabilities":{"backup":["cap_admin"]}},"restore":{"name":"Restore objects","method":"POST","url":"/api/manufacturer/restore/","params":  
-"name":{"name":"Nome","type":"text","unique":true,"required":true,"sort":true,"sea +    [],"data":"array","response":"boolean"
-rch":true,"autocomplete":true} +   }, 
-"address":{"name":"Indirizzo  +      "sort":
-Postale","type":"text","search":true,+         "field":"name"; 
-{, +         "desc":false, 
-"api":+      
-"new":{"name":"Create new  +   }, 
-objects","method":"GET","url":"/api/manufacturer/create/","params":[{"code":"num","name": +   "product":
-"Numero","type":"positiveinteger","required":true}],"response":"array","capabilites":{}}, +   "name":{"it":"Prodotto"}, 
-"save":{"name":"Save  +   "fields":[...] 
-objects","method":"POST","url":"/api/manufacturer/save/","params":[],"data":"array","resp +   "api":[...], 
-onse":"boolean","capabilities":{"commit":["cap_MODEL_create","cap_MODEL_create_own"],"edi +   “ui”:
-t":["cap_MODEL_edit","cap_MODEL_edit_own"],"delete":["cap_MODEL_delete","cap_MODEL_delete +      
-_own"]}}, +         “name”:”Informazioni Principali”, 
-"load":{"name":"Load  +         “format”:12, 
-objects","method":"POST","url":"/api/manufacturer/load/","params":[],"data":"array","resp +         “fields”:
-onse":"array","capabilites":{}}, +           {“field”:”brand”}, 
-"search":{"name":"Search  +           {“field”:”name”}, 
-objects","method":"POST","url":"/api/manufacturer/search/","params":[],"data":"object","+         
-esponse":"array","capabilities":{"search":["cap_MODEL_search","cap_MODEL_search_own"]}}, +      }, 
-"backup":{"name":"Backup  +   
-objects","method":"GET","url":"/api/manufacturer/backup/","params":[],"data":[],"response +      “name”:”Informazioni Aggiuntive”, 
-":"array","capabilities":{"backup":["cap_admin"]}}, +      “format”:6, 
-"restore":{"name":"Restore  +      “fields”:
-objects","method":"POST","url":"/api/manufacturer/restore/","params":[],"data":"array","+      {“field”:”issinglevintage”}, 
-esponse":"boolean"+      {“field”:”year”},
-}, +   }] 
-"sort":+      "sort":
-"field":"name"; +      "field":"committed"; 
-"desc":false, +      "desc":true, 
-+   
-}, +   }, 
-"product":+      "productvariant":
-"name":{"it":"Prodotto"}, +      "name":{"it":"VarianteProdotto"}, 
-"fields":[...] +      "fields":[...], 
-API Microservizi v1.0.2 +      "api":[...], 
-"api":[...], +      "firstclass":false, 
-“ui”:+     "dependson":"product", 
-+   }, 
-“name”:”Informazioni Principali”, +   }, 
-“format”:12, +      "api":
-“fields”:+      "manifest":{"name":"Micro Service Manifest","method":"GET","url":"/api/manifest.json","params":[],"data":[],"response":"object","capabilities":{}} 
-{“field”:”brand”}, +      "backup":{"name":"Backup objects","method":"GET","url":"/api/backup/","params":[],"data":[],"response":"array","capabilities":{"backup":["cap_admin"]}}"restore  
-{“field”:”name”}, +      {"name":"Restore objects","method":"POST","url":"/api/restore/","params":[],"data":"array","response":"boolean","capabilities":{"restore":["cap_admin"]}} 
-+   }
-}, +
-+
-“name”:”Informazioni Aggiuntive”, +
-“format”:6, +
-“fields”:+
-{“field”:”issinglevintage”}, +
-{“field”:”year”}, +
-+
-} +
-+
-"sort":+
-"field":"committed"; +
-"desc":true, +
-+
-}, +
-"productvariant":+
-"name":{"it":"VarianteProdotto"}, +
-"fields":[...], +
-"api":[...], +
-"firstclass":false, +
-"dependson":"product", +
-}, +
-}, +
-"api":+
-"manifest":{"name":"Micro Service  +
-Manifest","method":"GET","url":"/api/manifest.json","params":[],"data":[],"response":"obj +
-ect","capabilities":{}} +
-"backup":{"name":"Backup  +
-objects","method":"GET","url":"/api/backup/","params":[],"data":[],"response":"array","ca +
-pabilities":{"backup":["cap_admin"]}} +
-"restore":{"name":"Restore  +
-objects","method":"POST","url":"/api/restore/","params":[],"data":"array","response":"boo +
-lean","capabilities":{"restore":["cap_admin"]}} +
-}+
 } }
  
apireference/api.1712584628.txt.gz · Ultima modifica: 2024/04/08 13:57 da marcomerlino