HTTP via Node.js

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 Node.js.

Modulo request

Per la creazione di una request in Node.js viene utilizzato il modulo request

npm install request

All’interno del proprio script è necessario il riferimento:

var request = require('request');

Struttura parametri da inoltrare

I parametri da inviare devono essere in formato JSON, in particolare si segue la struttura:

var post_data = {
 device: <TOKEN DEVICE>,
 date: new Date().toGMTString(),
 signals: []
};

device è il token del proprio dispositivo, mentre date è la data della rilevazione (nell’esempio viene inserita la data al momento della creazione di post_data). Il token è generato da Databoom in fase di creazione del dispositivo, e può essere recuperato nella schermata di modifica del device desiderato. signals è il vettore che conterrà i parametri del device. Per l’inserimento dei parametri si procede:

var signal_info = {
 name: <NOME PARAMETRO>,
 value: <VALORE PARAMETRO>
};
post_data.signals.push(signal_info);

Se si vuole aggiornare un segnale già presente nel proprio dispositivo su Databoom, name dovrà corrispondere al token. Se il segnale non è presente in Databoom, verrà inserito utilizzando name come token. Il valore dovrà pertanto 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 è:

var post_data = {
 device: <TOKEN DEVICE>,
 date: new Date().toGMTString(),
 signals: {}
};

Dove signals è un oggetto costituito come:

signals : {
 <TOKEN SEGNALE>: {
   description: <DESCRIZIONE SEGNALE>
   history: [{
     date: <DATA VALORE>
     value: <VALORE SEGNALE>
   },
   ...
   ] 
 },
 ...
};

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:

var options = {
 uri: data_api,
 method: 'POST',
 headers: {
  'Authorization': 'Bearer ' + oAuth_token
 },
 json: post_data
};

data_api è l'API di Databoom per l'inoltro dei dati, mentre oAuth_token è  un token generato dall'utente in Databoom.  I valori da sostituire sono:

var data_api = https://api.databoom.com/v1/signals/push;
var oAuth_token = <OAUTH TOKEN DATABOOM>;

Una volta predisposte le options è infine possibile procedere con la request vera e propria:

request(options, function (error, response, body) {
...
});

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.

Altre domande? Invia una richiesta

0 Commenti

Accedi per aggiungere un commento.