E’ possibile inviare i propri dati al server Databoom utilizzando delle request HTTP. Affinché i parametri vengano interpretati correttamente è necessario utilizzare un formato particolare. Di seguito la procedura in Python.
Struttura parametri da inoltrare
I parametri da inviare devono essere in formato JSON, in particolare si segue la struttura:
data_to_send = {
device: <TOKEN DEVICE>,
date: '2020-02-05T02:59:33.000+0000',
signals: []
};
device è il token del proprio dispositivo, mentre date è la data della rilevazione (il campo date è facoltativo, se non viene inserito verrà utilizzata la data di ricezione). Il token è generato da Databoom in fase di creazione del dispositivo, e può essere recuperato nella sua pagina di dettaglio. signals è l'array che conterrà i parametri del dispositivo.
Un segnale viene rappresentato con:
{
name: <TOKEN SEGNALE>,
value: <VALORE>
};
Se si vuole aggiornare un segnale già presente nel proprio dispositivo su Databoom, name dovrà corrispondere al suo token. Se il segnale non è presente in Databoom, verrà creato utilizzando name come token. Il valore del token dev'essere univoco all'interno del dispositivo.
Oltre ai singoli segnali, è possibile inoltrare lo storico dei valori di un segnale. In questo caso il formato da utilizzare è:
data_to_send = {
device: <TOKEN DEVICE>,
date: '2020-02-05T02:59:33.000+0000',
signals: {}
};
Dove signals è un oggetto costituito come:
signals : {
<TOKEN SEGNALE>: {
history: [{
date: <DATA VALORE 1>
value: <VALORE 1>
},{
date: <DATA VALORE 2>
value: <VALORE 2>
},
...
]
},
...
};
signals può quindi contenere più segnali, utilizzando i loro token come chiavi, ed ogni segnale può contenere più valori nell'array history.
Inoltro dei dati
Terminata la creazione dei dati, è possibile procedere con l’inoltro al server Databoom. Prima dell’invio della richiesta vanno impostate delle opzioni per la stessa:
oauth = 'OAUTH_TOKEN'
headers = {
'Authorization': f'Bearer {oauth}'
}
url = f'https://api.databoom.com/v1/signals/push'
OAUTH_TOKEN
è un token generato dall'utente in Databoom. I valori da sostituire sono:
Una volta predisposte le options è infine possibile procedere con la request vera e propria:
r = requests.request(
'post',
url,
headers=headers,
json=data_to_send)
Configurazione completata!
Una volta completata la procedura, Databoom inizierà a registrare i dati inviati con HTTP. Per poter consultare i dati e avere una rappresentazione corretta, seguire le indicazioni in Modifica/validazione di un segnale.
0 Commenti