Template HTTP

Configurazione template HTTP

Il template HTTP non necessita di ulteriori configurazioni. Una volta selezionato il tipo di template HTTP e aggiunto i segnali, è possibile iniziare la trasmissione. 

Trasmettere ad un template

I dati vanno inoltrati all'indirizzo https://api.databoom.com/v1/signals/push/<valore unico arbitrario>. 

Il formato dei dati da inoltrare è il seguente:

{
    "type": "data",
    "message":  [
      {
        "template": "<token template HTTP>",
        "date": "2018-04-12T15:00:00.000Z",
        "signals": [
          {
            "name": "<token segnale 1>",
            "value": <valore segnale 1>
          },
          {
            "name": "<token segnale 2>",
            "value": <valore segnale 2>
          }
        ]
      }
    ]
}

La pubblicazione di questi dati comporta:

  • Se precedentemente non è avvenuta alcuna comunicazione, la generazione di un dispositivo con token <token template HTTP>-<valore unico arbitrario> dove:
    • <token template HTTP> è all'interno del messaggio e corrisponde al token del template di riferimento;
    • <valore unico arbitrario> valore impostato dall'utente nell'indirizzo dove avviene l'inoltro dei dati.
    Il dispositivo verrà popolato con gli stessi segnali associati al template (nuovi segnali con lo stesso token), indipendentemente dal fatto che vengano inviati o meno loro valori. I segnali saranno già validati e pronti a comunicare. Se in signals vengono inseriti segnali non previsti dal template, vengono creati nel nuovo dispositivo in attesa di validazione;
  • Se precedentemente sono già avvenute comunicazioni, l'aggiornamento del dispositivo <token template HTTP>-<valore unico arbitrario> con i valori in signals. Se al template è stato associato un nuovo segnale, viene creato anche nel dispositivo;
  •  message è un array, è pertanto possibile creare/comunicare con più dispositivi a pubblicazione, a patto che facciano riferimento a template diversi.

Funzione di trasformazione per dati pubblicati

Nel caso non sia possibile personalizzare il contenuto dei dati da inoltrare nel formato compatibile con Databoom (formato del punto precedente), è possibile specificare una funzione di trasformazione per elaborare il payload inoltrato e renderlo interpretabile dalla piattaforma.

La funzione deve ritornare uno o più valori (array []) nel formato:

{
    'date': <DATA>,
    'value': <VALORE>
}

o

{
    'value': <VALORE>
}

o

<VALORE>

Nel caso si utilizzi un array, è possibile utilizzare formati diversi per le diverse componenti.

Nell'esempio si può notare la funzione doIt 

function doIt(payload) {    
return { 'date': new Date(), 'value': (payload[1].charCodeAt(0) - 97)
}; }

Il parametro payload permette di accedere ai dati pubblicati e di elaborarli in modo da restituirli nel formato compatibile. Nell'esempio il valore viene ricavato sottraendo 97 al codice del primo carattere della prima componente del payload.

Altre domande? Invia una richiesta

0 Commenti

Accedi per aggiungere un commento.