{ "openapi": "3.0.2", "info": { "title": "TUTTOGARE", "version": "3.0" }, "servers": [ { "url": "/api/rest/latest/" } ], "security": [ { "ApiKeyAuth": [] } ], "components": { "schemas": { "standardResponse": { "type": "object", "properties": { "ID": { "title": "ID", "type": "number", "format": "string", "description": "ID dell'elemento inserito" }, "note": { "title": "Note", "type": "string", "description": "Note sull'operazione effettuata in formato testuale o JSON" } } }, "errorResponse": { "properties": { "errorCode": { "type": "string", "description": "Codice errore" }, "errorDescription": { "oneOf": [ { "title": "Descrizione dell'errore", "type": "string" }, { "title": "Array degli errori riscontrati", "type": "object", "properties": { "#idCampo#": { "type": "object", "description": "Nome del campo con errore", "properties": { "descrizione": { "type": "string", "description": "Descrizione dell'errore riscontrato" } } } } } ] }, "transactionID": { "type": "number", "description": "Identificativo della richiesta all'interno del sistema" } } }, "schemaFiltroSempliceElenchi" : { "title": "Filtro semplice", "type" : "object", "properties" : { "available" : { "type" : "boolean", "description" : "Determina se il filtro è disponibile", "readOnly" : "true" }, "value" : { "type" : "string", "description" : "Valore del filtro", "required" : "true", "writeOnly" : "true" } } }, "schemaFiltroArrayElenchi" : { "title": "Filtro array", "type" : "object", "properties" : { "available" : { "type" : "boolean", "description" : "Determina se il filtro è disponibile", "readOnly" : "true" }, "value" : { "type" : "array", "items": { "type" : "string" }, "example" : ["a", "b"], "description" : "Valore del filtro", "mandatory" : "true", "writeOnly" : "true" } } }, "schemaFiltroServizioTecnico" : { "allOf" : [ { "$ref" :"#/components/schemas/schemaFiltroArrayElenchi" }, { "title": "Filtro Servizio Tecnico", "properties" : { "value" : { "example" : ["2", "3"] } } } ] }, "schemaFiltroSOA" : { "allOf" : [ { "$ref" :"#/components/schemas/schemaFiltroArrayElenchi" }, { "title": "Filtro SOA", "properties" : { "value" : { "type": "array", "example" : [ { "codice_categoria": "3" } ], "items": { "type": "object", "properties": { "codice_categoria": { "type": "string", "required" : true }, "codice_classifica": { "type": "string" }, "classifica_minima": { "type": "string" } }, "additionalProperties": false } } } } ] }, "schemaPartecipanteElenchi": { "type": "array", "example" : ["1", "0000000001", "Azienda dummy", "dummy@pec.it"], "items": [ { "type": "integer", "description": "Indice" }, { "type": "string", "nullable": true, "description": "Codice fiscale" }, { "type": "string", "nullable": true, "description": "Ragione sociale" }, { "type": "string", "description": "PEC" } ] }, "schemaRispostaElenchi": { "type": "object", "properties": { "recordsTotal": { "type": "integer", "description": "Il numero totale di entry.", "example" : 1 }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/schemaPartecipanteElenchi" }, "description": "Un array contenente i risultati." } } }, "schemaFiltroCPV" : { "allOf" : [ { "$ref" :"#/components/schemas/schemaFiltroArrayElenchi" }, { "title" : "Filtro CPV", "properties" : { "value" : { "description" : "Vengono applicate con OR", "example" : ["15", "146", "16"] } } } ] }, "schemaLimiteElenchi": { "title": "Formato del limite degli elenchi", "type" : "object", "properties" : { "start" : { "description": "Du quale indice iniziare", "type": "integer", "example": "0" }, "limit" : { "description": "Quanti voci vengono ritornate", "type": "integer", "example": "100" } } }, "schemaOrdineElenchi": { "title": "Formato dell'ordine degli elenchi", "type" : "object", "properties" : { "key" : { "description": "La chiave per la quale ordinare", "type": "string", "example": "codice_fiscale_impresa" }, "desc" : { "description": "Direzione dell'ordine (desc / asc)", "type": "string", "example": "desc" } } }, "schemaFiltriElenchi": { "title": "Formato dei filtri", "type" : "object", "properties" : { "search" : { "$ref" : "#/components/schemas/schemaFiltroSempliceElenchi" }, "cpv" : { "$ref" : "#/components/schemas/schemaFiltroCPV" }, "soa" : { "$ref" : "#/components/schemas/schemaFiltroSOA" }, "servizioTecnico" : { "$ref" : "#/components/schemas/schemaFiltroServizioTecnico" } } }, "schemaPCP": { "title": "Schema di un appalto pre-commerciale", "type": "object", "properties": { "codice": { "type": "integer", "title": "ID Univoco appalto", "readOnly": true }, "id": { "type": "string", "title": "ID appalto relativo", "readOnly": true }, "stato": { "type": "string", "title": "Stato dell'appalto - Vedi getStatiPCP", "readOnly": true }, "email_chiave": { "type": "string", "title": "Email a cui inviare la chiave privata di gara" }, "codice_gestore": { "type": "integer", "title": "Identificativo piattaforma" }, "codice_ente": { "type": "integer", "title": "Identificativo ente beneficiario" }, "codice_pec": { "type": "integer", "title": "Identificativo PEC da utilizzare per le comunicazioni", "default": "0" }, "oggetto": { "type": "string", "title": "Oggetto dell'appalto" }, "cup": { "type": "string", "title": "CUP dell'appalto" }, "note": { "type": "string" }, "fase_attiva": { "type": "integer", "title": "Fase attualmente attiva" }, "prezzoRiferimento": { "type": "number", "title": "Prezzo base complessivo dell'appalto" }, "fasi": { "$ref": "#/components/schemas/schemaFase" }, "extraInfo": { "type": "object", "title": "Altre informazioni sull'appalto" }, "timestamp_creazione": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Timestamp di creazione dell'appalto" }, "timestamp": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Timestamp di ultima modifica dell'appalto" } }, "required": [ "codice_gestore", "codice_ente", "codice_pec", "oggetto", "prezzoRiferimento", "fasi" ], "example": { "codice": "2", "id": "1", "stato": "35", "email_chiave": "gianluca.cuomo@studioamica.it", "codice_gestore": "1", "codice_ente": "1", "codice_pec": "1", "oggetto": "Appalto pre commerciale di test", "cup": "", "note": null, "fase_attiva": "1", "prezzoRiferimento": "500000.00000000000", "extraInfo": null, "timestamp_creazione": "2020-09-10 14:08:15", "timestamp": "2021-02-09 18:53:22" } }, "schemaFase": { "title": "Schema di una fase di appalto pre-commerciale", "type": "object", "properties": { "codice": { "type": "integer", "title": "ID Univoco della fase", "readOnly": true }, "numero": { "type": "string", "title": "Numero cardinale della fase", "readOnly": true }, "cig": { "type": "string", "title": "CIG di fase" }, "oggetto": { "type": "string", "title": "Oggetto dell'appalto" }, "descrizione": { "type": "string", "title": "Oggetto dell'appalto" }, "prezzoRiferimento": { "type": "number", "title": "Prezzo base complessivo della fase" }, "aggiucatariMinimi": { "type": "integer", "title": "Fornitori desiderati per la fase" }, "residuoFasePrecedente": { "type": "number", "title": "Residuo da ridistribuire della fase precedente" }, "prezzoBaseAggiudicatario": { "type": "number", "title": "Prezzo base per singolo aggiudicatario" }, "pubblica": { "type": "integer", "title": "Stato di pubblicazione - 0 Non pubblicata, 1 - Solo partecipanti, 2 - Tutti", "enum": ["0","1","2"] }, "pubblicazione": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Data di pubblicazione" }, "chiarimenti": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Scadenza richiesta chiarimenti" }, "sopralluogo": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Scadenza richiesta sopralluogo" }, "scadenza": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Scadenza presentazione offerte" }, "apertura": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Data e ora di apertura delle offerte" }, "extraInfo": { "type": "object", "title": "Altre informazioni sulla fase" }, "timestamp_creazione": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Timestamp di creazione della fase" }, "timestamp": { "type": "string", "format": "YYYY-MM-DD HH:II:SS", "title": "Timestamp di ultima modifica della fase" } }, "required": [ "codice_gestore", "codice_ente", "codice_pec", "oggetto", "prezzoRiferimento", "fasi" ], "example": { "codice": "4", "numero": "1", "cig": "7460139D71", "oggetto": "Sviluppo del concept e progettazione della soluzione innovativa", "descrizione": "Gli aggiudicatari della fase I saranno chiamati a sottoscrivere un Accordo Quadro ed un Contratto Esecutivo di Fase I, secondo il format allegato al presente Disciplinare di gara, che regolerà i rapporti tra le parti relativamente alle attività di ricerca e sviluppo. Le fasi seguenti saranno disciplinate da ulteriori specifici Contratti (Contratto esecutivo di fase II, Contratto Esecutivo di Fase III e Contratto di gestione dei diritti di Proprietà Intellettuale) sottoscritti dagli aggiudicatari delle rispettive fasi.\nIl Committente si riserva di non addivenire all’aggiudicazione a seguito di valutazione delle proposte presentate, ovvero di non procedere oltre nello svolgimento della procedura senza che gli eventuali concorrenti abbiano nulla a pretendere. Si precisa inoltre che in caso di ricezione, in fase I di un numero limitato di offerte che non consentano il corretto proseguo delle fasi di procedura, il Committente potrà valutare di riaprire i termini di gara o revocare la procedura.\nIn particolare, qualora in corso di gara emergano risultanze di mercato in conflitto con i presupposti richiamati e necessari per l’aggiudicazione di un appalto pre-commerciale, il Committente si riserva di non addivenire all’aggiudicazione a seguito di sua valutazione delle proposte presentate, ovvero di non procedere oltre nello svolgimento della procedura. Per la fase I non sono previsti pagamenti intermedi. Il 100% dell’importo convenuto all’atto di aggiudicazione per la fase I sarà corrisposto in esito alla valutazione positiva della documentazione oggetto di deliverables e sarà decretata conclusa la fase I della procedura.", "prezzoRiferimento": "50000.00000000000", "aggiucatariMinimi": "3", "residuoFasePrecedente": null, "prezzoBaseAggiudicatario": "16667.00000000000", "pubblica": "2", "pubblicazione": "2020-09-03 16:47:00", "chiarimenti": "2020-09-04 17:01:00", "sopralluogo": "2020-09-05 17:01:00", "scadenza": "2020-09-06 17:01:00", "apertura": "2020-09-07 17:01:00", "extraInfo": { "estremi_definitiva": "Determina dirigenziale n. 1 del 24/08/2020", "seduta_aperta": true }, "timestamp_creazione": null, "timestamp": "2020-12-07 17:58:01" } } }, "securitySchemes": { "ApiKeyAuth": { "type": "apiKey", "in": "header", "name": "X-Tuttogare-Api-Key" } } }, "tags": [ { "name": "Pre-commerciali", "description": "Operazioni sugli appalti pre-commerciali" }, { "name": "Albi", "description": "Operazioni sugli albi fornitore e professionisti" } ], "paths": { "/listPCP": { "get": { "description": "Ottieni informazioni appalto", "tags": [ "Pre-commerciali" ], "parameters": [ { "name": "start", "in": "query", "example": "0", "schema": { "type": "integer" } }, { "name": "length", "in": "query", "example": "10", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Richiesta effettuata con successo", "content": { "application/json": { "schema": { "allOf": [ { "properties": { "codice": { "type": "integer", "title": "ID Univoco appalto", "readOnly": true }, "id": { "type": "string", "title": "ID appalto relativo", "readOnly": true }, "stato": { "type": "string", "title": "Stato dell'appalto - Vedi getStatiPCP", "readOnly": true } } } ] }, "example": [ { "codice": "8", "id": "7", "stato": "21", "prezzoRiferimento": "520000.00000000000", "oggetto": "test", "fase_attiva": "1", "numero": "1", "fase": "Sviluppo del concept e progettazione della soluzione innovativa", "descrizione": "test", "codice_round": "24", "pubblicazione": "2020-12-07 12:30:00", "chiarimenti": "2020-12-31 12:29:00", "scadenza": "2021-01-02 12:29:00" } ] } } } } } }, "/getPCP": { "get": { "description": "Ottieni informazioni appalto", "tags": [ "Pre-commerciali" ], "parameters": [ { "name": "codice", "in": "query", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Richiesta effettuata con successo", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/schemaPCP" } } } } } } }, "/getStatiPCP": { "get": { "description": "Ottieni informazioni appalto", "tags": [ "Pre-commerciali" ], "responses": { "200": { "description": "Array dei possibili stati", "content": { "application/json": { "example": { "0": { "color": "#999", "titolo": "Preliminare" }, "10": { "color": "#CCCC00", "titolo": "Elaborazione" }, "20": { "color": "#99e330", "titolo": "Pubblicato" }, "21": { "color": "#CC0800", "titolo": "Scaduto" }, "30": { "color": "#FFAA00", "titolo": "Proposta di aggiudicazione" }, "35": { "color": "#5eeeee", "titolo": "Aggiudicazione definitiva" }, "50": { "color": "#3333FF", "titolo": "Esecuzione" }, "90": { "color": "#000", "titolo": "Annullato" }, "95": { "color": "#333", "titolo": "Deserto" }, "100": { "color": "#FFFFFF", "titolo": "Completo" } } } } } } } }, "/getAlbi": { "get": { "description": "Ottieni gli elenchi accessibili via API", "tags": [ "Albi" ], "parameters": [ { "name": "codice", "in": "query", "description" : "Se specificato, viene ritornato un elenco contenente solo l'albo richiesto", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Array degli elenchi accessibili via API", "content": { "application/json": { "elenchi": [1, 2, 3, 4] } } } } } }, "/getFiltriAlbo": { "get": { "description": "Ottieni i filtri consentiti su questo elenco", "tags": [ "Albi" ], "parameters": [ { "name": "codice", "in": "query", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "I filtri disponibili su questo elenco", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/schemaFiltriElenchi" } } } } } } }, "/getPartecipantiAlbo": { "post": { "description": "Ottieni i filtri consentiti su questo elenco", "tags": [ "Albi" ], "parameters": [ { "name": "codice", "in": "query", "required": true, "schema": { "type": "integer" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "type": "object", "properties" : { "filters" : { "$ref": "#/components/schemas/schemaFiltriElenchi" }, "order" : { "$ref": "#/components/schemas/schemaOrdineElenchi" }, "limit" : { "$ref": "#/components/schemas/schemaLimiteElenchi" } } } } } }, "responses": { "200": { "description": "I partecipant di questo elenco", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/schemaRispostaElenchi" } } } } } } } } }