Indice dei contenuti

API Climkit

Nicolas Aggiornato da Nicolas

L'API Climkit Developer consente agli sviluppatori registrati e autorizzati di ottenere dati di misurazione ed energia da installazioni Climkit autorizzate.

Per registrarsi, gli sviluppatori devono ottenere i diritti di accesso ai dati dal proprietario dell'installazione e da Climkit SA.

Le richieste di accesso all'API devono essere indirizzate a info@climkit.io .

Le informazioni di accesso API sono diverse dalle informazioni di accesso all'account personale del portale Climkit.

Le informazioni di accesso possono essere utilizzate solo dallo sviluppatore registrato. Colleghi e collaboratori dovranno presentare una richiesta individuale per ottenere i propri diritti di accesso.

Endpoint API: https://api.climkit.io/api/v1

1. Autenticazione

URL : /auth

Metodo : POST

Autenticazione richiesta : NO

 Authentication through username-password to get an access token

Parameters (POST)
----------
username: str
The API username
password: str
The API password

Returns
-------
{
'access_token': <str: your-access-token>,
'valid_until': {'$date': <int: epoch-time-in-milliseconds>},
}

L'API di Climkit utilizza token Web JSON ( https://jwt.io/introduction/ ) per proteggere il transito delle informazioni.

Una volta effettuato l'accesso con le proprie credenziali (nome utente e password), l'utente riceve un token valido per 15 minuti che gli consente di accedere alle risorse autorizzate.

2. Siti

Ottieni tutti i siti

Ottenere gli ID di tutti i siti di installazione.

URL : /all_installations

Metodo : GET

Autenticazione richiesta : SÌ con un token valido

Limite di richiesta : 1/secondo

 Parameters (GET)
----------
No parameter

Headers
----------
Content-Type: 'application/json'
Authorization: 'Bearer {your-access-token}'

Returns
-------
array_like

Ottieni informazioni sul sito

URL : /installation_infos/<site_id>

Metodo : GET

Autenticazione richiesta : SÌ con un token valido

Limite di richiesta : 1/secondo

 Parameters (GET)
----------
site_id: str
The object ID of the installation site

Headers
----------
Content-Type: 'application/json'
Authorization: 'Bearer {your-access-token}'

Returns
-------
obj
An object formatted as follow:
{
'site_ref': <str>,
'name': <str>,
'address': {
'street_name': <str>,
'street_number': <str>,
'city': <str>,
'postal_code': <int>
},
'creation_date': <datetime isoformat str>,
'latitude': <float>,
'longitude': <float>,
'timezone': <str>,
}

3. Contatori

Ottieni tutti i contatori per un sito

URL : /meter_info/<site_id>

Metodo : GET

Autenticazione richiesta : SÌ con un token valido

Limite di richiesta : 1/secondo

 Parameters (GET)
----------
site_id: str
The object ID of the site

Headers
----------
Content-Type: 'application/json'
Authorization: 'Bearer {your-access-token}'

Returns
----------
array_like

{
'id': <str representing an ObjectID>
'type': {'electricity', 'heating', 'cold_water', 'hot_water'},
'name': <str>,
'prim_ad': <int>,
'virtual': <boolean>
}

Ottieni dati di serie temporali per un tipo specifico di contatori

Ottieni dati di serie temporali elaborati di tipo <meter_type>, per l'intero sito <site_id>.

URL : /site_data/<site_id>/<meter_type>

Metodo : POST

Autenticazione richiesta : SÌ con un token valido

Limite di richiesta : 1/secondo

 Parameters (GET)
----------
site_id: str
The object ID of the site
meter_type: str
The type of meter data:
'electricity', 'heating', 'cooling', 'cold_water', 'hot_water' or 'charge_point'

Parameters (POST)
----------
t_s: str, optional
The isoformatted datetime, representing the start instant of timeseries, tz-naive in UTC
t_e: str, optional
The isoformatted datetime, representing the stop instant of timeseries, tz-naive in UTC

Headers
----------
Content-Type: 'application/json'
Authorization: 'Bearer {your-access-token}'

Returns
-------
array_like

Ottieni dati di serie temporali elaborati di un contatore specifico

Ottieni i dati delle serie temporali "convalidate" o "elaborate" dal contatore <meter_id>.

URL : /meter_data/<site_id>/<meter_id>

Metodo : POST

Autenticazione richiesta : SÌ con un token valido

Limite di richiesta : 1/secondo

 Parameters (GET)
----------
site_id: str
The ID of the site
meter_id: str
The ID of the meter

Parameters (POST)
----------
t_s: str, optional
The isoformatted datetime, representing the start instant of timeseries, tz-naive in UTC
t_e: str, optional
The isoformatted datetime, representing the stop instant of timeseries, tz-naive in UTC
sampling_frequency: {'15T', 'D', 'M', 'Y'}, optional
The sampling frequency of the returned data list

Headers
----------
Content-Type: 'application/json'
Authorization: 'Bearer {your-access-token}'

Returns
-------
array_like

Ottieni serie di dati grezzi da un contatore specifico

Ottieni dati grezzi delle serie temporali dal contatore <meter_id>

URL : /meter_data_raw/<site_id>/<meter_id>

Metodo : POST

Autenticazione richiesta : SÌ con un token valido

Limite di richiesta : 1/secondo

 Parameters (GET)
----------
site_id: str
The ID of the site
meter_id: str
The ID of the meter

Parameters (POST)
----------
t_s: str, optional
The isoformatted datetime, representing the start instant of timeseries, tz-naive in UTC
t_e: str, optional
The isoformatted datetime, representing the stop instant of timeseries, tz-naive in UTC

Headers
----------
Content-Type: 'application/json'
Authorization: 'Bearer {your-access-token}'

Returns
-------
array_like

4. Sensori

Ottieni tutti i sensori su un sito

URL : /<site_id>/sensors_list

Metodo : GET

Autenticazione richiesta : SÌ con un token valido

 Parameters (URL)
----------
site_id: str
The ID of the installation site

Headers
----------
Content-Type: 'application/json'
Authorization: 'Bearer {your-access-token}'

Returns
-------
array_like
The list of sensors info formatted as follow:

{
'id': <str representing an ObjectID>
'name': <str>,
'type': <str describing the type of measured quantity>,
'unit': <str describing the unit of the measured quantity>,
'model': <str describing the model of the sensor>
}

Ottieni dati di serie temporali per un sensore specifico

Recupera le serie temporali da un sensore, per un dato periodo. Se non viene fornito alcun periodo, vengono restituiti i dati più recenti. t_s è limitato in base all'utente/sito.

URL : /<site_id>/sensor_data/<sensor_id>

Metodo : GET

Autenticazione richiesta : SÌ con un token valido

Limite richieste : 1/secondo

 Parameters (URL)
----------
site_id: str
The ID of the installation site
sensor_id: str
The ID of the sensor object

Parameters (GET)
----------
t_s: str, optional
The isoformatted datetime, representing the start instant of the requested timeseries, tz-naive in UTC
t_e: str, optional
The isoformatted datetime, representing the end instant of the requested timeseries, tz-naive in UTC

Headers
----------
Content-Type: 'application/json'
Authorization: 'Bearer {your-access-token}'

Returns
-------
array_like
The timeseries sensor data of the selected period as a list of objects.
[
{
'timestamp': <int timestamp>,
'value': <float, int>
},
...
]

How did we do?

API locale del Gateway

Contatto