REST API ======== La piattaforma **Radar-DPC** include uno stack di servizi Representational State Transfer (REST), utilizzati nel back end dagli applicativi, ma che rappresenta anche utile API (Applicatio Program Interface) per il download dei dati Radar e più in generale per il lavoro con i servizi esposti da parte di applicazioni di terze parti. API Endpoints ------------- La API espone due endpoints: **Endpoints** .. code-block:: html GET /findLastProductByType?type= POST /downloadProduct **Base Url** .. code-block:: html https://radar-api.protezionecivile.it/ .. .. note:: Per effettuare i test fino al passaggio alla versione V2 della piattaforma, è possibile utilizzare la seguente base URL di test **Base url (test)** .. code-block:: html https://wagiqofvnk.execute-api.eu-south-1.amazonaws.com/prod Per conoscere la data effettiva del passaggio alla versione V2 della piattaforma, consultare il `sito web del Dipartimento della Protezione Civile `_ . Fino all'effettivo passaggio alla versione V2 della piattaforma, sarà comunque possibile utilizzare i servizi e le API documentati al link `Documentazione V1 `_ . 1) GET /findLastProductByType ----------------------------- Restituisce l’ultimo timestamp disponibile per un prodotto, insieme al **periodo** (ISO-8601) utile per la time-bar. **Query** .. code-block:: html type=VMI | SRI | SRT1 | IR_108 | TEMP | CUM3 | CUM6 | CUM12 | CUM24 | CAPPI_1 | CAPPI_2 | CAPPI_3 | CAPPI_4 | CAPPI_5 | CAPPI_6 | CAPPI_7 | CAPPI_8 | CAPPI_9 | CAPPI_10| VIL | ETM | POH | SITES **Esempio** .. code-block:: html GET /findLastProductByType?type=VMI **Risposta 200** .. code-block:: json { "total": 1, "lastProducts": [{ "productType": "VMI", "time": 1758706200000, "period": "PT5M" }] } **404** .. code-block:: json {"total":0,"lastProducts":[]} **400** .. code-block:: json {"error":"Missing required query param 'type'."} 2) POST /downloadProduct ------------------------ Dato un prodotto e un timestamp (epoch **ms** UTC), restituisce una **pre-signed URL** S3 per scaricare il file grezzo. **Body (JSON)** .. code-block:: json { "productType": "VMI", "productDate": 1758706200000 } **Risposta 200** .. code-block:: json { "bucket": "dpc-radar", "key": "VMI/22-09-2025-14-20.tif", "url": "https://dpc-radar.s3.eu-south-1.amazonaws.com/VMI/22-09-2025-14-20.tif?...", "expiresSeconds": 900 } **404** (file non trovato) .. code-block:: json {"error":"File non trovato","bucket":"dpc-radar","key":"VMI/22-09-2025-14-20.tif"} **400** (body mancante/errato) .. code-block:: json {"error":"Campo 'productDate' (epoch ms) mancante o non numerico."} **Note** - Il timestamp viene **arrotondato verso il basso** al passo del prodotto (5/30/60 minuti). - CORS abilitato: `POST, OPTIONS`, header `Content-Type`. Esempi di richieste ------------------- Si riportano di seguito alcuni esempi di richieste alla API REST, tramite *curl* **VMI (5 min)** .. code-block:: html curl -sS -X POST "https://radar-api.protezionecivile.it/downloadProduct" \ -H "content-type: application/json" \ -d '{"productType":"VMI","productDate":1758541200000}' | jq **TEMP (1 h)** .. code-block:: html curl -sS -X POST "https://radar-api.protezionecivile.it/downloadProduct" \ -H "content-type: application/json" \ -d '{"productType":"TEMP","productDate":1758537600000}' | jq .. .. note:: Fino al passaggio alla versione V2 della piattaforma è necessario utilizzare la seguente base URL di test **Base url (test)** .. code-block:: html https://wagiqofvnk.execute-api.eu-south-1.amazonaws.com/prod Per conoscere la data effettiva del passaggio alla versione V2 della piattaforma, consultare il `sito web del Dipartimento della Protezione Civile `_ . Fino all'effettivo passaggio alla nversione V2 della piattaforma, sarà comunque possibile utilizzare i servizi e le API documentati al link `Documentazione V1 `_ . Esempio di richiesta test nel periodo transitorio ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Si fornisce di seguito un esempio di richiesta con relativa risposta, utile per eseguire i test nel periodo di transizione alla versione V2 **Request VMI** .. code-block:: html curl 'https://wagiqofvnk.execute-api.eu-south-1.amazonaws.com/prod/downloadProduct' \ --data-raw '{"productType":"VMI","productDate":1766046000000}' **Response** .. code-block:: json {"bucket":"dpc-radar","key":"VMI/18-12-2025-08-20.tif","url":"https://dpc-radar.s3.eu-south-1.amazonaws.com/VMI/18-12-2025-08-20.tif?response-content-disposition=attachment%3B%20filename%3D%2218-12-2025-08-20.tif%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAXA4QCT3VMEVBNIS6%2F20251218%2Feu-south-1%2Fs3%2Faws4_request&X-Amz-Date=20251218T083259Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEMn%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCmV1LXNvdXRoLTEiRzBFAiBqXn3HhrEGL94fTlfxBB8fRSz1p5OiuR%2BkqAiImOFyhQIhAM9ft0vhCtzvvhXomhKwNPBs8ixUi3cxaFKi7WnNBZ2RKoYDCJL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQAxoMNDgyOTQ5MTExNTMwIgxR9FkcoxOXP3B1zgEq2gLsOJO1T5AOLEQzpoJRe7YvJREiDgklyl1dIXHmrUiLdMM1OXGK1UPOjAJTEzawUyEAkwcTYhWzbL4V2%2FNiWp8B39tBJdaHN7qmhSvWiexybPmoXmfsEQHIz5hlx6JC%2Ba%2FZVGCh93hfQB5xheJEvCPvkb3Dag7cQbAARt0Jo5LYsUSESQHmuJTVZtncouG%2Bv61LFqu2K3P8Vbf3g%2BAT2hA2mkAORH6i9xkqxhdE8QfF2uNLTl6yR4Any92gO7mFg65MiUUh%2Bd0Qqk%2BkghpCgBAdrg7ontYlJ9u547TKMd5YSYswIvZZS3Ts7zQRRW%2F0jty%2BGkvaIEDaLNAyDtjibxptQB1uk9BMyMif8oeSHPt7LMZbqVFZlwH3%2Fse2i3rDoXnMOgBSuk2dSdYXdueC68IjcoZUITm7v7v8hNErkc6FAMPHChI%2F1MTQviwpxyQze2XBFHX66sTwBK7vMM%2F3jsoGOp4BBSPu0liVXSE1OZROLWT3D65pL1S8wNrJUWza0VFobBd3oMDNST%2Bfxr1OQl4cJxlwB4gAtW3itnjk0%2F%2BeaMNVruTIzFdnD6UAiKINmzfL4yWKSdrKR2ER0pfILD6UO%2F3WgkbeA5EE%2B2Cx1S0RRDlh09zTEBTFQ%2BEFlJV1qkIfiMY%2FRjr%2BvkZrbJj6%2FoZgWeQOuCBAT%2FeJQmKcAyGhB64%3D&X-Amz-Signature=101bec1966a7e80ce9809517017fe7397c70e63cce714aa106dc8a1c4368ca97","expiresSeconds":300} .. toctree:: :maxdepth: 2 :caption: Contenuti