|
|
@@ -1,6 +1,6 @@
|
|
|
# yaml-language-server: $schema=https://schemas.sourcemeta.com/openapi/v3.1/schema/2025-09-15.json
|
|
|
|
|
|
-openapi: 3.0.9
|
|
|
+openapi: 3.1.0
|
|
|
info:
|
|
|
title: Edison Next Panorama - Integration API
|
|
|
description: |-
|
|
|
@@ -10,7 +10,7 @@ info:
|
|
|
name: API Support
|
|
|
email: support@panorama.edisonnext.it
|
|
|
|
|
|
- version: 0.9.4
|
|
|
+ version: 0.9.8
|
|
|
|
|
|
license:
|
|
|
name: © 2025 - 2030 Copyright Edison Next Spa. All rights reserved
|
|
|
@@ -167,6 +167,7 @@ paths:
|
|
|
description: Fonte Dati non valida
|
|
|
|
|
|
/source/{id}:
|
|
|
+
|
|
|
put:
|
|
|
summary: Modifica una sorgente dati esistente (admin only)
|
|
|
tags: [Data Source]
|
|
|
@@ -210,7 +211,7 @@ paths:
|
|
|
/terminology:
|
|
|
get:
|
|
|
summary: Restituisce le Nomenclature definite
|
|
|
- tags: [Terminology]
|
|
|
+ tags: [Type]
|
|
|
operationId: getTerminologies
|
|
|
responses:
|
|
|
'200':
|
|
|
@@ -223,7 +224,7 @@ paths:
|
|
|
$ref: '#/components/schemas/Terminology'
|
|
|
post:
|
|
|
summary: Crea una nuova Nomenclatura (admin only)
|
|
|
- tags: [Terminology]
|
|
|
+ tags: [Type]
|
|
|
security:
|
|
|
- panorama_administrator_api_key: []
|
|
|
requestBody:
|
|
|
@@ -239,9 +240,10 @@ paths:
|
|
|
description: Nomenclatura non valida
|
|
|
|
|
|
/terminology/{id}:
|
|
|
+
|
|
|
get:
|
|
|
summary: Restituisce una singola Nomenclatura
|
|
|
- tags: [Terminology]
|
|
|
+ tags: [Type]
|
|
|
parameters:
|
|
|
- in: path
|
|
|
name: id
|
|
|
@@ -260,7 +262,7 @@ paths:
|
|
|
|
|
|
put:
|
|
|
summary: Modifica una Nomenclatura esistente (admin only)
|
|
|
- tags: [Terminology]
|
|
|
+ tags: [Type]
|
|
|
security:
|
|
|
- panorama_administrator_api_key: []
|
|
|
parameters:
|
|
|
@@ -285,7 +287,7 @@ paths:
|
|
|
|
|
|
delete:
|
|
|
summary: Elimina una Nomenclatura (senza riferimenti in qualche tipo) esistente (admin only)
|
|
|
- tags: [Terminology]
|
|
|
+ tags: [Type]
|
|
|
security:
|
|
|
- panorama_administrator_api_key: []
|
|
|
parameters:
|
|
|
@@ -419,7 +421,7 @@ paths:
|
|
|
/state/{id}:
|
|
|
put:
|
|
|
summary: Modifica lo stato di un'Entità
|
|
|
- tags: [State]
|
|
|
+ tags: [Entity]
|
|
|
security:
|
|
|
- panorama_provider_api_key: []
|
|
|
parameters:
|
|
|
@@ -445,7 +447,7 @@ paths:
|
|
|
/history/{id}:
|
|
|
get:
|
|
|
summary: Ottiene la storia delle variazioni di stato di un'Entità
|
|
|
- tags: [History]
|
|
|
+ tags: [Entity]
|
|
|
parameters:
|
|
|
- in: path
|
|
|
name: id
|
|
|
@@ -468,7 +470,7 @@ paths:
|
|
|
format: date-time
|
|
|
state:
|
|
|
type: string
|
|
|
- example: ['off', '22°C']
|
|
|
+ examples: ['off', '22°C']
|
|
|
'404':
|
|
|
description: Entità non trovata
|
|
|
|
|
|
@@ -490,7 +492,7 @@ paths:
|
|
|
get:
|
|
|
summary: Ottiene informazioni su un singolo dispositivo
|
|
|
tags: [Device]
|
|
|
- parameters:
|
|
|
+ parameters:
|
|
|
- in: path
|
|
|
name: id
|
|
|
required: true
|
|
|
@@ -507,13 +509,17 @@ paths:
|
|
|
description: Dispositivo non trovato
|
|
|
|
|
|
|
|
|
- /measures:
|
|
|
+ /device/{id}/measures:
|
|
|
get:
|
|
|
- summary: Ottiene tutte le misure
|
|
|
+ summary: Ottiene tutte le misure di un device
|
|
|
+ tags: [Device]
|
|
|
operationId: getMeasures
|
|
|
- tags:
|
|
|
- - Measure
|
|
|
parameters:
|
|
|
+ - in: path
|
|
|
+ name: id
|
|
|
+ required: true
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
- name: measurement_date_from
|
|
|
in: query
|
|
|
description: Filter by measurement date (from)
|
|
|
@@ -540,14 +546,13 @@ paths:
|
|
|
items:
|
|
|
$ref: '#/components/schemas/Measure'
|
|
|
|
|
|
- /measures/getLast/{pod}:
|
|
|
+ /device/{id}/last:
|
|
|
get:
|
|
|
summary: Ottieni ultima misura da un POD
|
|
|
+ tags: [Device]
|
|
|
operationId: getMeasureByPod
|
|
|
- tags:
|
|
|
- - Measure
|
|
|
parameters:
|
|
|
- - name: pod
|
|
|
+ - name: id
|
|
|
in: path
|
|
|
required: true
|
|
|
schema:
|
|
|
@@ -560,13 +565,13 @@ paths:
|
|
|
schema:
|
|
|
$ref: '#/components/schemas/Measure'
|
|
|
'404':
|
|
|
- description: Misura non trovata
|
|
|
+ description: Nessuna Misura trovata
|
|
|
|
|
|
/measurementType/{id}:
|
|
|
get:
|
|
|
summary: Restituisce un singolo tipo di misura
|
|
|
operationId: getMeasurementTypeById
|
|
|
- tags: [MeasurementType]
|
|
|
+ tags: [Device]
|
|
|
parameters:
|
|
|
- in: path
|
|
|
name: id
|
|
|
@@ -585,7 +590,7 @@ paths:
|
|
|
|
|
|
put:
|
|
|
summary: Modifica un tipo di misura esistente (admin only)
|
|
|
- tags: [MeasurementType]
|
|
|
+ tags: [Device]
|
|
|
security:
|
|
|
- panorama_administrator_api_key: []
|
|
|
parameters:
|
|
|
@@ -610,7 +615,7 @@ paths:
|
|
|
|
|
|
delete:
|
|
|
summary: Elimina un tipo di misura esistente (admin only)
|
|
|
- tags: [MeasurementType]
|
|
|
+ tags: [Device]
|
|
|
security:
|
|
|
- panorama_administrator_api_key: []
|
|
|
parameters:
|
|
|
@@ -628,7 +633,7 @@ paths:
|
|
|
/measurementType:
|
|
|
get:
|
|
|
summary: Restituisce tutti i tipi di misura definiti
|
|
|
- tags: [MeasurementType]
|
|
|
+ tags: [Device]
|
|
|
operationId: getMeasurementTypes
|
|
|
responses:
|
|
|
'200':
|
|
|
@@ -641,7 +646,7 @@ paths:
|
|
|
$ref: '#/components/schemas/MeasurementType'
|
|
|
post:
|
|
|
summary: Crea un nuovo tipo di misura (admin only)
|
|
|
- tags: [MeasurementType]
|
|
|
+ tags: [Device]
|
|
|
security:
|
|
|
- panorama_administrator_api_key: []
|
|
|
requestBody:
|
|
|
@@ -667,7 +672,7 @@ components:
|
|
|
type: string
|
|
|
format: uri
|
|
|
description: Identificativo univoco della Nomenclatura (terminology)
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- http://dati.beniculturali.it/cis
|
|
|
name:
|
|
|
type: string
|
|
|
@@ -679,18 +684,18 @@ components:
|
|
|
type: string
|
|
|
format: uri
|
|
|
description: Link alla documentazione della Nomenclatura
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- 'https://schema.gov.it/'
|
|
|
subject:
|
|
|
type: string
|
|
|
description: Soggetto titolare del Tipo
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- 'Ministero per i Beni e le Attività Culturali'
|
|
|
uri:
|
|
|
type: string
|
|
|
format: uri
|
|
|
description: URI autoritativa della Nomenclatura
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- http://dati.beniculturali.it/cis
|
|
|
|
|
|
Type:
|
|
|
@@ -702,12 +707,12 @@ components:
|
|
|
type: string
|
|
|
format: uri
|
|
|
description: Identificativo univoco del Tipo di Entità
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- http://dati.beniculturali.it/cis/CulturalInstituteOrSite
|
|
|
name:
|
|
|
type: string
|
|
|
description: Nome canonico del Tipo di Entità
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- Istituti e Luoghi Della Cultura Italiani (musei, biblioteche, cinema, ecc)
|
|
|
native:
|
|
|
type: boolean
|
|
|
@@ -720,7 +725,7 @@ components:
|
|
|
type: string
|
|
|
format: json
|
|
|
description: Definizione (JSON-LD) della sintassi del Tipo di Entità
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- {
|
|
|
"@context": "https://json-ld.org/contexts/person.jsonld",
|
|
|
"@id": "http://dbpedia.org/resource/John_Lennon",
|
|
|
@@ -730,13 +735,13 @@ components:
|
|
|
}
|
|
|
terminology:
|
|
|
$ref: '#/components/schemas/Terminology'
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- http://dati.beniculturali.it/cis
|
|
|
uri:
|
|
|
type: string
|
|
|
format: uri
|
|
|
description: URI autoritativo del Tipo (se non nativo)
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- http://dati.beniculturali.it/cis/CulturalInstituteOrSite
|
|
|
|
|
|
# State:
|
|
|
@@ -775,11 +780,11 @@ components:
|
|
|
type: string
|
|
|
format: uri
|
|
|
description: ID univoco dell'Entità sulla piattaforma
|
|
|
- example: [20738]
|
|
|
+ examples: [20738]
|
|
|
name:
|
|
|
type: string
|
|
|
description: Nome canonico dell'Entità sulla piattaforma
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- Antiquarium e Acquedotto romano di Trieste
|
|
|
geometry:
|
|
|
type: object
|
|
|
@@ -788,11 +793,11 @@ components:
|
|
|
lat:
|
|
|
type: number
|
|
|
description: Latitudine dell'Entità
|
|
|
- example: [45.61809]
|
|
|
+ examples: [45.61809]
|
|
|
long:
|
|
|
type: number
|
|
|
description: Longitudine dell'Entità
|
|
|
- example: [13.827805]
|
|
|
+ examples: [13.827805]
|
|
|
type:
|
|
|
$ref: '#/components/schemas/Type'
|
|
|
parent:
|
|
|
@@ -802,7 +807,7 @@ components:
|
|
|
externalId:
|
|
|
type: string
|
|
|
description: Identificativo dell'Entità nel sistema sorgente
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- http://dati.beniculturali.it/mibact/luoghi/resource/CISNameInTime/20738
|
|
|
state:
|
|
|
type: object
|
|
|
@@ -831,7 +836,7 @@ components:
|
|
|
type: object
|
|
|
description: Attributi personalizzati in base al tipo di entità
|
|
|
additionalProperties: true
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- { chiusura: 'Lunedì|Giovedì|Domenica' }
|
|
|
deviceId:
|
|
|
description: Device associato all'entità
|
|
|
@@ -855,13 +860,13 @@ components:
|
|
|
type: string
|
|
|
format: uri
|
|
|
description: ID univoco della Fonte Dati
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- 'fvg_ispfor_tsgo'
|
|
|
- 'fvg_ispfor'
|
|
|
name:
|
|
|
type: string
|
|
|
description: Nome canonico della Fonte Dati
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- 'Ministero per i Beni e le Attività Culturali'
|
|
|
- 'Vincolo idrogeologico. L. 3267/1923 Comune di Trieste'
|
|
|
- 'Ispettorati forestali'
|
|
|
@@ -876,7 +881,7 @@ components:
|
|
|
organization:
|
|
|
type: string
|
|
|
description: Organizzazione di riferimento (ovvero soggetto alimentante) per la Fonte Dati
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- 'Ministero per i Beni e le Attività Culturali'
|
|
|
- 'Regione Autonoma Friuli Venezia Giulia - ISPETTORATO FORESTALE DI TRIESTE E GORIZIA'
|
|
|
- 'RAFVG - DC Risorse agroalimentari, forestali e ittiche - Area foreste e territorio'
|
|
|
@@ -886,7 +891,7 @@ components:
|
|
|
processor:
|
|
|
type: string
|
|
|
description: Organizzazione che gestisce tecnicamente la Fonte Dati
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- 'Insiel S.p.A.'
|
|
|
- 'Regione autonoma Friuli Venezia Giulia'
|
|
|
required: [id, name, organization, internal]
|
|
|
@@ -1015,7 +1020,7 @@ components:
|
|
|
type: string
|
|
|
format: json
|
|
|
description: Definizione (JSON-LD) della sintassi del Tipo di Misura
|
|
|
- example:
|
|
|
+ examples:
|
|
|
- https://github.com/FIWARE/data-models/tree/master/specs/PointOfInterest
|
|
|
|
|
|
Payload:
|
|
|
@@ -1026,6 +1031,7 @@ components:
|
|
|
$ref: '#/components/schemas/MeasurementType'
|
|
|
value:
|
|
|
type: object
|
|
|
+ additionalProperties: true
|
|
|
|
|
|
securitySchemes:
|
|
|
panorama_auth:
|