Utilizzare i Metadati e la nostra API - Avanzato

Dopo aver analizzato le funzionalità più semplici, basilari e essenziali di Pulsing.io, è arrivato il momento di dare un'occhiata a una delle parti più avanzate del nostro servizio.

Complimenti a tutti per essere arrivati fin qui!

E' arrivato il momento di scoprire una delle Feature più potenti e complesse di Pulsing.io, che vi permetterà di trarre completamente il 100% del nostro servizio.

Stiamo parlando dei Metadati, una funzionalità molto particolare che vi permetterà di memorizzare qualsiasi dato e informazione vogliate assieme ai Logs, alle Interactions e anche alle Emissions degli Events del tuo Web-Site.

🚧

Non bisogna mai esagerare

Attenzione! Questa funzionalità, pur essendo molto potente, nella maggior parte dei casi risulta completamente inutile e irrilevante per la propria Web-Application. Quindi, non preoccupatevi di apprendere e di implementare anche questa Feature, le precedenti vi basteranno e vi avanzeranno anche!

Nel caso siate, invece, dei Programmatori o degli Sviluppatori, questa sezione sarà perfetta per voi!

Utilizzando questa funzionalità, potrete ad esempio memorizzare l'ID dell'utente attualmente autenticato assieme al solito identifier (E-Mail), un JSON rappresentante l'entità emessa o ancora un semplice messaggio descrittivo da salvare come nota.

I cosiddetti Metadati consistono infatti in una serie di coppie Chiave-Valore, memorizzabili come Object in una apposita proprietà delle vostre Actions (appunto: metadata). E' possibile memorizzare solamente stringhe non superiori ai 250 caratteri.

Il loro utilizzo può essere essenziale nel caso si voglia associare una determinata Action (Log, Interaction o Emission) a uno dei propri modelli o strutture dati. Infatti, utilizzando direttamente e manualmente la nostra API REST potrete accedere alle singole entità, ottenendo anche i loro Metadati, i quali vi permetteranno di eseguire qualsiasi operazione vogliate.

Un altro utilizzo comunque, invece, é semplicemente memorizzare informazioni Extra leggibili e gestibili da chiunque, come ad esempio delle note descrittive.

Per attivarne l'utilizzo, seguite queste semplici istruzioni:

  • Per allegare in automatico qualsiasi Metadato desideriate ai vostri Logs e alle vostre Interactions, l'unica cosa che dovrete fare è aggiungere i valori desiderati in una Location con un prefisso specifico, all'interno del window.localStorage:
window.localStorage.setItem("pulse-data-id", [ID]); // Aggiungerà una chiave nominata "id" che avrà come valore quello utilizzato come parametro

window.localStorage.setItem("pulse-data-json", [JSON]); // Aggiungerà una chiave nominata "json" che avrà come valore quello utilizzato come parametro

window.localStorage.setItem("pulse-data-note", [NOTE]); // Aggiungerà una chiave nominata "note" che avrà come valore quello utilizzato come parametro

Potrete cambiare i Metadati utilizzati dai nostri Scripts in qualsiasi momento, aggiungendo e rimuovendo elementi dal window.localStorage utilizzando i metodi appropriati.

Infine, al contrario del pulse-identifier, i Cookies non sono ancora supportati per i Metadati.

  • Per allegare in automatico qualsiasi Metadato desideriate alle vostre Emissions, vi basterà semplicemente aggiungere un campo al corpo della vostra Request contenente un oggetto rappresentante la serie di coppie Chiave-Valore che volete associare ad esse:
curl --request POST \
  --url https://api.pulsing.io/api/emissions \
  --header 'content-type: application/json' \
  --data '{"domain": [DOMAIN], "label": [LABEL], "metadata": {"id": [ID], "json": [JSON], "note": [NOTE]}}'
var request = require("request");

var options = {
  method: 'POST',
  url: 'https://api.pulsing.io/api/emissions',
  headers: {'content-type': 'application/json'},
  body: {
    domain: [DOMAIN], 
    label: [LABEL], 
    metadata: {
      id: [ID], 
      json: [JSON], 
      note: [NOTE]
    }
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.pulsing.io/api/emissions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'

request.body = '{
  "domain": [DOMAIN], 
  "label": [LABEL], 
  "metadata": {
    "id": [ID], 
    "json": [JSON], 
    "note": [NOTE]
  }
}'

response = http.request(request)
puts response.read_body
var data = JSON.stringify({
  "domain": [DOMAIN], 
  "label": [LABEL], 
  "metadata": {
    "id": [ID], 
    "json": [JSON], 
    "note": [NOTE]
  }
});

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.pulsing.io/api/emissions");
xhr.setRequestHeader("content-type", "application/json");

xhr.send(data);
import requests

url = "https://api.pulsing.io/api/emissions"

payload = '{
  "domain": [DOMAIN], 
  "label": [LABEL], 
  "metadata": {
    "id": [ID], 
    "json": [JSON], 
    "note": [NOTE]
  }
}'

headers = {'content-type': 'application/json'}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)

Pulsing.io è stato pensato per essere altamente personalizzabile e utilizzabile al meglio anche dai più esperti.

Questo, infatti, è solo l'inizio. Successivamente a questa guida piuttosto longeva ed esplicativa, troverete infatti una Documentation vera e proprio di ogni Endpoints e Resources utilizzata dalla nostra Application Programming Interface, che vi permetterà di eseguire qualsiasi operazione vogliate in maniera completamente manuale e indipendente dalla nostra Dashboard!

Lo stesso vale per il nostro Script utilizzato per l'integrazione lato Front-End di Pulsing.io (https://api.pulsing.io/media/pulsing.js). Potrete infatti modificarlo e configurarlo al meglio per rendere l'esperienza sulla vostra piattaforma la migliore possibile. In questo modo potete, ad esempio, modificare la User Interface del pannello di consenso per l'elaborazione dei dati dei vostri utenti per renderlo il più adatto possibile al vostro Design (occhio al GDPR)!

📘

Personalizzazione al massimo della potenza

Grazie all'architettura RESTful e alla dettagliata Documentation della API di Pulsing.io, potrete, in maniera piuttosto semplice e immediata, realizzare la vostra Dashboard personalizzata e aggiungere tutte le elaborazioni Extra che desiderata ai nostri dati!

Ciò nonostante, la nostra Dashboard (https://pulsing.io/) è realizzata appositamente per inglobare e permettere l'utilizzo (da parte dei nostri utenti) di tutte le Features più grandi e importanti del nostro servizio, di conseguenza non c'è nulla di male ad utilizzare la nostra versione!

Ed eccoci arrivati alla fine! Se siete giunti fino a questo punto, avrete appreso tutto il necessario per sfruttare ogni singolo dettaglio di Pulsing.io. Non ci resta che rinnovare i nostri complimenti!