| Entrambe le parti precedenti la revisioneRevisione precedente | |
| apireference:api [2024/04/08 14:14] – marcomerlino | apireference:api [2024/04/08 14:38] (versione attuale) – marcomerlino |
|---|
| |
| { | { |
| "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","r | ] |
| 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","r | {“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"]}} | |
| } | |
| } | } |
| |