Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
619 righe
26 KiB
619 righe
26 KiB
<? |
|
$configPath = substr(__DIR__, 0, strpos(__DIR__, "public_html")) . "/config.php"; |
|
include_once($configPath); |
|
if (!empty($_SESSION["ente"])) { |
|
include($root . "/layout/top.php"); |
|
?> |
|
<div class="container-fluid"> |
|
<h1>API</h1> |
|
<div> |
|
<br /> |
|
|
|
WebService SOAP raggiungibile all'indirizzo |
|
<strong><?= $_SESSION["config"]["link_sito"] ?>/api-legacy/service.php?WSDL</strong> |
|
per l'estrazione delle le gare dell'ente, con possibilità di applicare filtri tramite uno o più parametri. |
|
La risposta del WebService sarà in formato JSON |
|
<br> |
|
<br> |
|
<div class="card"> |
|
<div class="card-header"> |
|
<ul class="nav nav-pills" role="tablist"> |
|
<li role="presentation" class="nav-item"><a href="#getGare" class="nav-link active" aria-controls="getGare" role="tab" data-toggle="tab">getGare</a></li> |
|
<li role="presentation" class="nav-item"><a href="#getAlbi" class="nav-link" aria-controls="getAlbi" role="tab" data-toggle="tab">getAlbi</a></li> |
|
</ul> |
|
</div> |
|
<div class="card-body"> |
|
<div class="tab-content"> |
|
<div role="tabpanel" class="tab-pane active" id="getGare"> |
|
<strong>Struttura JSON risposta</strong> |
|
<code> |
|
<pre style="border:1px solid #000; padding:10px; height: 300px; overflow:scroll"> |
|
[ |
|
{ |
|
"gara": { |
|
"data_pubblicazione": "2022-03-31 09:49:00", |
|
"data_accesso": "2022-04-01 09:49:00", |
|
"data_scadenza": "2022-04-02 09:49:00", |
|
"data_apertura": "2022-04-03 09:49:00", |
|
"codice": "166", |
|
"codice_ente": "1", |
|
"codice_gestore": "1", |
|
"id": "53", |
|
"stato": "3", |
|
"numero_atto_indizione": " ", |
|
"data_atto_indizione": " ", |
|
"estremi_progetto": " ", |
|
"data_validazione": " ", |
|
"validatore": " ", |
|
"rup": "Rossi Mario", |
|
"struttura_proponente": " ", |
|
"responsabile_struttura": " ", |
|
"oggetto": "Gara test", |
|
"descrizione": "", |
|
"somme_disponibili": "0.00", |
|
"prezzoBase": "14635778.00000000000", |
|
"nuts": "IT", |
|
"flag_gestione_autonoma": "", |
|
"url": "<?= $_SESSION["config"]["link_sito"] ?>/gare/dettaglio.php?codice=166", |
|
"tipologia": 1, |
|
"procedura": 1, |
|
"modalita": 1, |
|
"numero_atto_seggio": "", |
|
"data_atto_seggio": "", |
|
"numero_atto_commissione": "", |
|
"data_atto_commissione": "" |
|
}, |
|
"lotti": [ |
|
{ |
|
"codice": "164", |
|
"cig": null, |
|
"cup": null, |
|
"importo_base": "14635778.00000000000", |
|
"importo_oneri_ribasso": 0, |
|
"importo_oneri_no_ribasso": "0.00000000000", |
|
"importo_personale": "0.00000000000", |
|
"importoAggiudicazione": null, |
|
"numero_atto_esito": null, |
|
"partecipanti": [ |
|
{ |
|
"codice": "1", |
|
"codice_fiscale": "00000000000", |
|
"partita_iva": "00000000000", |
|
"codice_operatore": "1", |
|
"ragione_sociale": "AZIENDA DUMMY 0", |
|
"pec": "pec.0@pec.esempio.it", |
|
"email": "email.0@pec.esempio.it", |
|
"primo": "S", |
|
"anomalia": "N", |
|
"anomalia_facoltativa": "N", |
|
"verifica": "N", |
|
"escluso": "N", |
|
"ammesso": "S", |
|
"motivazione": null, |
|
"motivazione_anomalia": null, |
|
"tipo": "", |
|
"indirizzo_legale": "Via di test", |
|
"citta_legale": "Macerata", |
|
"provincia_legale": "MC", |
|
"regione_legale": "Marche", |
|
"stato_legale": "IT", |
|
"indirizzo_operativa": "Via di test", |
|
"citta_operativa": "Macerata", |
|
"provincia_operativa": "MC", |
|
"regione_operativa": "Marche", |
|
"stato_operativa": "IT" |
|
} |
|
] |
|
} |
|
], |
|
"cpv": { |
|
"0311": { |
|
"id": "3", |
|
"codice": "0311", |
|
"codice_completo": "03110000-5", |
|
"IT": "Prodotti agricoli, prodotti dell'ortofrutticoltura commerciale", |
|
"BG": "Продукти на растениевъдството; живи животни и продукти от тях", |
|
"CS": "Produkty rostlinné výroby v zelinářství a zahradnictví", |
|
"DA": "Markafgrøder, gartneri- og havebrugsprodukter", |
|
"DE": "Feldfrüchte und Erzeugnisse des Erwerbsgartenbaus", |
|
"EL": "Φυτά και προϊόντα μεγάλης καλλιέργειας και κηπευτικά είδη", |
|
"EN": "Crops, products of market gardening and horticulture", |
|
"ES": "Cultivos, productos comerciales de jardinería y horticultura", |
|
"ET": "Põllukultuurid, puu- ja köögiviljad ning aiandussaadused", |
|
"FI": "Kauppapuutarhoista ja puutarhanhoidosta saadut tuotteet", |
|
"FR": "Produits agricoles, produits de la culture maraîchère et de l'horticulture commerciale", |
|
"GA": "Crops, products of market gardening and horticulture", |
|
"HU": "Termény, bolgárkertészeti és kertészeti termék", |
|
"LT": "Žemės ūkio augalai, prekinės daržininkystės ir sodininkystės produktai", |
|
"LV": "Augkopības, dārzkopības un puķkopības produkcija", |
|
"MT": "Uċuħ tar-raba, prodotti mill-ġonna u l-oltikoltura, tas-suq", |
|
"NL": "Land- en tuinbouwgewassen en -producten", |
|
"PL": "Rośliny uprawne, produkty warzywnictwa i ogrodnictwa", |
|
"PT": "Cereais, produtos de culturas industriais e da horticultura", |
|
"RO": "Produse agricole, produse horticole şi de grădină pentru comercializare", |
|
"SK": "Plodiny, produkty zeleninárstva a záhradníctva", |
|
"SL": "Poljščine, proizvodi tržnega sadjarstva in vrtnarstva", |
|
"SV": "Grödor, trädgårdshandels- och trädgårdsprodukter" |
|
} |
|
} |
|
} |
|
] |
|
</pre> |
|
</code> |
|
<!-- <br>Token: <strong>{token}</strong>. --> |
|
<br /> |
|
<br /> |
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="3">Parametri richiesta</th> |
|
</tr> |
|
<tr> |
|
<th>Nome</th> |
|
<th>Descrizione</th> |
|
<th>Tipo</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<tr> |
|
<td> |
|
<strong>token* (Obbligatorio)</strong> |
|
</td> |
|
<td>Token di riconoscimento</td> |
|
<td>stringa</td> |
|
</tr> |
|
<tr> |
|
<td>tipologia</td> |
|
<td>Tipologia di gara</td> |
|
<td>intero</td> |
|
</tr> |
|
<tr> |
|
<td>procedura</td> |
|
<td>Procedura</td> |
|
<td>intero</td> |
|
</tr> |
|
<tr> |
|
<td>codice</td> |
|
<td>Codice di gara</td> |
|
<td>intero</td> |
|
</tr> |
|
<tr> |
|
<td>stato</td> |
|
<td>Stato di gara</td> |
|
<td>intero</td> |
|
</tr> |
|
<tr> |
|
<td>cup</td> |
|
<td>CUP</td> |
|
<td>intero</td> |
|
</tr> |
|
<tr> |
|
<td>cig</td> |
|
<td>CIG</td> |
|
<td>intero</td> |
|
</tr> |
|
<tr> |
|
<td>data</td> |
|
<td> |
|
Data di interesse |
|
<i>Array</i> |
|
</td> |
|
<td>dateType</td> |
|
</tr> |
|
<tr> |
|
<td>typeDate</td> |
|
<td>Tipo di data richiesta</td> |
|
<td>stringa</td> |
|
</tr> |
|
<tr> |
|
<td>startDate</td> |
|
<td>Data d'inizio</td> |
|
<td>stringa</td> |
|
</tr> |
|
<tr> |
|
<td>endDate</td> |
|
<td>Data di fine</td> |
|
<td>stringa</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
<br /> |
|
<strong>Vocabolari filtri</strong> |
|
<br> |
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="2">Tipologia</th> |
|
</tr> |
|
<tr> |
|
<th>Valore</th> |
|
<th>Descrizione</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<? |
|
$tipologie = getTipologieAffidamento(true, null); |
|
$tipologie = array_column($tipologie, "titolo", "codice_api"); |
|
ksort($tipologie); |
|
foreach ($tipologie as $codice => $tipologia) { |
|
echo <<<HTML |
|
<tr> |
|
<td style="width: 120px">{$codice}</td> |
|
<td>{$tipologia}</td> |
|
</tr> |
|
HTML; |
|
} |
|
?> |
|
</tbody> |
|
</table> |
|
<br /> |
|
<br /> |
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="3">Procedura</th> |
|
</tr> |
|
<tr> |
|
<th>Valore</th> |
|
<th>Descrizione</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<? |
|
$procedure = getProcedure(true, null, null, $_SESSION["ente"]->codice); |
|
$procedure = array_column($procedure, "titolo", "codice_api"); |
|
ksort($procedure); |
|
foreach ($procedure as $codice => $procedura) { |
|
echo <<<HTML |
|
<tr> |
|
<td style="width: 120px">{$codice}</td> |
|
<td>{$procedura}</td> |
|
</tr> |
|
HTML; |
|
} |
|
?> |
|
</tbody> |
|
</table> |
|
<br /> |
|
|
|
In merito al codice di gara, il sistema prevede di selezionare una singola gara utilizzando il solo campo |
|
<i>codice</i> |
|
. |
|
|
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="2">Codice</th> |
|
</tr> |
|
<tr> |
|
<th>Valore</th> |
|
<th>Descrizione</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<tr> |
|
<td style="width: 120px">codice</td> |
|
<td>Dettaglio sulla singola gara</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
<br /> |
|
|
|
Anche per lo stato di gara sarà possibile richiedere un singolo stato. Gli stati di gara consentiti saranno: |
|
|
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="3">Stato</th> |
|
</tr> |
|
<tr> |
|
<th>Valore</th> |
|
<th>Descrizione</th> |
|
<th width="1"></th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<tr> |
|
<td style="width: 120px">3</td> |
|
<td>Pubblicazione</td> |
|
<td width="1" style="background-color:#00ff00"></td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">4</td> |
|
<td>Proposta di Aggiudicazione</td> |
|
<td width="1" style="background-color:#ffe871"></td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">5</td> |
|
<td>Verifica anomalie</td> |
|
<td width="1" style="background-color:#FF99FF"></td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">7</td> |
|
<td>Aggiudicazione Definitiva</td> |
|
<td width="1" style="background-color:#00d0ff"></td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">8</td> |
|
<td>Inviato Esito di gara</td> |
|
<td width="1" style="background-color:#0094ff"></td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">98</td> |
|
<td>Deserta</td> |
|
<td width="1" style="background-color:#787878"></td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">99</td> |
|
<td>Annullata</td> |
|
<td width="1" style="background-color:#000000"></td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">100</td> |
|
<td>Non Aggiudicata</td> |
|
<td width="1" style="background-color:#787878"></td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">101</td> |
|
<td>Conclusa</td> |
|
<td width="1" style="background-color:#ffffff"></td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
<br /> |
|
|
|
È prevista la possibilità di selezionare una gara inserendo il numero di CIG o CUP corrispondente. |
|
|
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="2">CIG - CUP</th> |
|
</tr> |
|
<tr> |
|
<th>Valore</th> |
|
<th>Descrizione</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<tr> |
|
<td style="width: 120px">cig</td> |
|
<td>Dettaglio sulla gara con il CIG richiesto</td> |
|
</tr> |
|
<tr> |
|
<td style="width: 120px">cup</td> |
|
<td>Dettaglio sulla gara con il CUP richiesto</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
<br /> |
|
Riguardo alla data di gara, per selezionare una specifica data sarà necessario definire innanzitutto a quale debba fare riferimento sulla base dei valori proposti nella tabella seguente, poi occorrerà inserire una data di inizio ed una di fine nel formato |
|
<i>YYYY-MM-DD</i> |
|
. L'inserimento del solo valore |
|
<i>typeDate</i> |
|
senza le rispettive date verrà ignorato dal sistema. |
|
|
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="2">Data</th> |
|
</tr> |
|
<tr> |
|
<th>Valore</th> |
|
<th>Descrizione</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<tr> |
|
<td style="width: 120px">typeDate</td> |
|
<td> |
|
<table style="width:100%"> |
|
<tbody> |
|
<tr> |
|
<td>data_pubblicazione</td> |
|
<td>Data di pubblicazione</td> |
|
</tr> |
|
<tr> |
|
<td>data_accesso</td> |
|
<td>Termine accesso agli atti</td> |
|
</tr> |
|
<tr> |
|
<td>data_scadenza</td> |
|
<td>Scadenza presentazione offerte</td> |
|
</tr> |
|
<tr> |
|
<td>data_apertura</td> |
|
<td>Apertura delle offerte</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>startDate</td> |
|
<td> |
|
Data di inizio (formato |
|
<i>YYYY-MM-DD</i> |
|
) |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>endDate</td> |
|
<td> |
|
Data di fine (formato |
|
<i>YYYY-MM-DD</i> |
|
) |
|
</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
<br /> |
|
|
|
Questo è un esempio scritto in codice PHP di una richiesta effettuata per questo ente riguardo le gare Lavori in procedura Aperta, modalità tradizionale, pubblicate dal 01/01/2015 al 10/02/2015: |
|
|
|
<div class="box"> |
|
<code> |
|
$parameters = array('token' => '{token}', 'tipologia' => '7', 'procedura' => '1', 'modalita' => '1', 'data' => array('typeDate' => 'data_pubblicazione', 'startDate' => '2015-01-01', 'endDate' => '2015-02-10'));<br> |
|
$client = new SoapClient('<?= $_SESSION["config"]["link_sito"] ?>/api-legacy/service.php?WSDL',array('cache_wsdl' => WSDL_CACHE_NONE));<br> |
|
$response = $client->getGare($parameters); |
|
</code> |
|
</div> |
|
</div> |
|
<div role="tabpanel" class="tab-pane" id="getAlbi"> |
|
<strong>Struttura JSON risposta</strong> |
|
<code> |
|
<pre style="border:1px solid #000; padding:10px; height: 300px; overflow:scroll"> |
|
[ |
|
{ |
|
"bando": { |
|
"codice": "23", |
|
"codice_ente": "1", |
|
"codice_gestore": "1", |
|
"id": "22", |
|
"stato": 3, |
|
"tipologia": "F", |
|
"rup": "Rossi Mario", |
|
"oggetto": "Albo fornitori test 2021-12-28 12:37:43", |
|
"data_pubblicazione": "2021-12-28 12:37:00", |
|
"data_scadenza": "2021-12-30 12:37:00", |
|
"data_chiarimenti": "2021-12-29 12:37:00" |
|
}, |
|
"cpv": { |
|
"0311": { |
|
"id": "3", |
|
"codice": "0311", |
|
"codice_completo": "03110000-5", |
|
"IT": "Prodotti agricoli, prodotti dell'ortofrutticoltura commerciale", |
|
"BG": "Продукти на растениевъдството; живи животни и продукти от тях", |
|
"CS": "Produkty rostlinné výroby v zelinářství a zahradnictví", |
|
"DA": "Markafgrøder, gartneri- og havebrugsprodukter", |
|
"DE": "Feldfrüchte und Erzeugnisse des Erwerbsgartenbaus", |
|
"EL": "Φυτά και προϊόντα μεγάλης καλλιέργειας και κηπευτικά είδη", |
|
"EN": "Crops, products of market gardening and horticulture", |
|
"ES": "Cultivos, productos comerciales de jardinería y horticultura", |
|
"ET": "Põllukultuurid, puu- ja köögiviljad ning aiandussaadused", |
|
"FI": "Kauppapuutarhoista ja puutarhanhoidosta saadut tuotteet", |
|
"FR": "Produits agricoles, produits de la culture maraîchère et de l'horticulture commerciale", |
|
"GA": "Crops, products of market gardening and horticulture", |
|
"HU": "Termény, bolgárkertészeti és kertészeti termék", |
|
"LT": "Žemės ūkio augalai, prekinės daržininkystės ir sodininkystės produktai", |
|
"LV": "Augkopības, dārzkopības un puķkopības produkcija", |
|
"MT": "Uċuħ tar-raba, prodotti mill-ġonna u l-oltikoltura, tas-suq", |
|
"NL": "Land- en tuinbouwgewassen en -producten", |
|
"PL": "Rośliny uprawne, produkty warzywnictwa i ogrodnictwa", |
|
"PT": "Cereais, produtos de culturas industriais e da horticultura", |
|
"RO": "Produse agricole, produse horticole şi de grădină pentru comercializare", |
|
"SK": "Plodiny, produkty zeleninárstva a záhradníctva", |
|
"SL": "Poljščine, proizvodi tržnega sadjarstva in vrtnarstva", |
|
"SV": "Grödor, trädgårdshandels- och trädgårdsprodukter" |
|
} |
|
}, |
|
"allegati": [ |
|
{ |
|
"codice": "867", |
|
"sezione": "albo_fornitori-public", |
|
"nome_file": "report-19.pdf", |
|
"titolo": "report-19.pdf", |
|
"url": "<?= $_SESSION["config"]["link_sito"] ?>/allegati/open.php?codice=867&filename=cmVwb3J0LTE5LnBkZg==&sourceID=23&sourceType=YWxib19mb3JuaXRvcmktcHVibGlj&general_connection=0", |
|
"timestamp": "2022-03-12 17:18:46" |
|
}, |
|
{ |
|
"codice": "868", |
|
"sezione": "albo_fornitori-public", |
|
"nome_file": "immagine2-3.png", |
|
"titolo": "immagine2-3.png", |
|
"url": "<?= $_SESSION["config"]["link_sito"] ?>/allegati/open.php?codice=868&filename=aW1tYWdpbmUyLTMucG5n&sourceID=23&sourceType=YWxib19mb3JuaXRvcmktcHVibGlj&general_connection=0", |
|
"timestamp": "2022-03-12 17:18:41" |
|
} |
|
] |
|
} |
|
] |
|
</pre> |
|
</code> |
|
<br /> |
|
<br /> |
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="3">Parametri richiesta</th> |
|
</tr> |
|
<tr> |
|
<th>Nome</th> |
|
<th>Descrizione</th> |
|
<th>Tipo</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<tr> |
|
<td> |
|
<strong>token* (Obbligatorio)</strong> |
|
</td> |
|
<td>Token di riconoscimento</td> |
|
<td>stringa</td> |
|
</tr> |
|
<tr> |
|
<td>tipologia</td> |
|
<td>Tipologia di albo</td> |
|
<td>stringa</td> |
|
</tr> |
|
<tr> |
|
<td>codice</td> |
|
<td>Codice</td> |
|
<td>intero</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
<br /> |
|
<strong>Vocabolari filtri</strong> |
|
<br> |
|
<table class="table table-striped w-100"> |
|
<thead> |
|
<tr> |
|
<th colspan="2">Tipologia</th> |
|
</tr> |
|
<tr> |
|
<th>Valore</th> |
|
<th>Descrizione</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<tr> |
|
<td>F</td> |
|
<td>Albo di fornitori</td> |
|
</tr> |
|
<tr> |
|
<td>P</td> |
|
<td>Albo di professionisti</td> |
|
</tr> |
|
<tr> |
|
<td>M</td> |
|
<td>Manifestazione d'interesse / Indagine di mercato</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
<br /> |
|
<div class="box"> |
|
<code> |
|
$parameters = array('token' => '{token}', 'tipologia' => 'M');<br> |
|
$client = new SoapClient('<?= $_SESSION["config"]["link_sito"] ?>/api-legacy/service.php?WSDL',array('cache_wsdl' => WSDL_CACHE_NONE));<br> |
|
$response = $client->getAlbi($parameters); |
|
</code> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<script> |
|
$("#tabs").tabs(); |
|
</script> |
|
<? |
|
include($root . "/layout/bottom.php"); |
|
} else { |
|
header('HTTP/1.0 403 Forbidden'); |
|
?> |
|
<h1>Forbidden</h1> |
|
<a href="/index.php"><?= __("Ritorna") ?></a> |
|
<? |
|
die(); |
|
} |
|
?>
|