gestione gare pubbliche
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

<?
$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&agrave; di applicare filtri tramite uno o pi&ugrave parametri.
La risposta del WebService sar&agrave; 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&#39;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&agrave 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 />
&Egrave prevista la possibilit&agrave 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&agrave necessario definire innanzitutto a quale debba fare riferimento sulla base dei valori proposti nella tabella seguente, poi occorrer&agrave inserire una data di inizio ed una di fine nel formato
<i>YYYY-MM-DD</i>
. L&#39;inserimento del solo valore
<i>typeDate</i>
senza le rispettive date verr&agrave 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&agrave tradizionale, pubblicate dal 01/01/2015 al 10/02/2015:
<div class="box">
<code>
$parameters = array('token' =&gt; '{token}', 'tipologia' =&gt; '7', 'procedura' =&gt; '1', 'modalita' =&gt; '1', 'data' =&gt; array('typeDate' =&gt; 'data_pubblicazione', 'startDate' =&gt; '2015-01-01', 'endDate' =&gt; '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' =&gt; '{token}', 'tipologia' =&gt; '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();
}
?>