API

& Developers

Introduzione

Questa è la API di LegalPrivacy. Faremo aggiunte e modifiche a questa API, ma non preoccuparti; manterremo gli endpoint documentati retrocompatibili per tutta la durata di questa importante versione dell’API.
Hai qualche feedback, ti manca la funzionalità per supportare il tuo caso d’uso? Contattaci a info@legalprivacy.eu .

Che cosa sono le API?

Un’API è un’interfaccia di programmazione dell’applicazione utilizzata per interagire con la Console Legal Privacy.

PRINCIPI GENERALI

Endpoints

La nostra API è costituita da metodi in stile HTTP utilizzando un codice di autenticazione JWT prelevabile all’interno della propria area riservata.
L’url per chiamare l’API e salvare il dato all’interno é :

http://api.legalprivacy.eu/user_contacts/addcontact

Abbiamo scelto questo approccio basato sull’azione sul REST più popolare, perché ci consente di avere azioni relative al dominio sulle risorse.

Requisiti

Tutti i metodi devono essere richiamati utilizzando HTTPS. I dati vengono passati come dati JSON in una richiesta POST.
La richiesta deve essere inviata in formato json composto nel seguente modo:

{
“userdata” : {
“nome ” : “”,
“cognome” : “”,
“email:””,
“indirizzo”:” ,
“citta”:””,
“stato”:””,
“mobile”:””,
“telefono”:””,
“fax”:””,
“codice_fiscale”:””,
“sesso”:””,
“datanascita”:””
},
“privacy”:””,
“marketing”:””,
“termini”: “”,
“commerciali”:””,
“profilazione”:””,
“news_letter”:””
“src”: [sorgente configurata sulla piattaforma]
};

Nel campo Userdata non sono obbligatori tutti i campi,l’email, telefono, codice fiscale sono invece obbligatori.
Per quanto riguarda i 3 campi (PrivacyTerminiMarketing) sono 3 flag che devono essere presenti in pagina (Privacy è quello obbligatorio) e si comportano a seconda delle necessità dell’utente.
Il campo src è la stringa per la sorgente che è stata configurata all’interno della Console Legal Privacy nella sezione Gestione Sorgenti

Risposta

E’ possibile vedere la risposta chiamando il comando: Console.log() , la risposta ritorna sotto forma di data

Errori

Gli errori vengono sempre restituiti come una array di oggetti di errore, inseriti da error nel livello superiore di un oggetto JSON.

{
“errors”: [
{
“data”: “”
}
]
}

Limitazione di velocità

Per garantire un’esperienza rapida e prevedibile per tutti, i nostri endpoint API non hanno limiti di chiamate verso account della Console LegalPrivacy.

Status Codes

Codici di stato utilizzati più comunemente:
  • 200 – OK
  • 201Creato, quando vengono create risorse
  • 204Nessun contenuto, su aggiornamenti delle risorse o azioni
  • 400Richiesta non valida, la richiesta contiene dati non validi o riferimenti a risorse non esistenti
  • 401Token di accesso non autorizzato, non valido o mancante
  • 403 – Forbidden, non è consentito accedere a questa risorsa
  • 404 – Not Found, risorsa non trovata
  • 429Troppe richieste, il tuo cliente ha raggiunto il limite di velocità dell’API
  • 500Errore interno del server, qualcosa è andato storto da parte nostra

Tutte le nostre API restituiscono sempre 200 come risposta. Utente deve controllare nei LOG della console la tipologia di risposta per vedere l’esito.
La risposta è sempre di tipo JSON e contente 2 chiavi “err” e “data”

Nel caso la chiamata va a buon fine, la chiave "err" ha il valore 0

Nel caso la chiamata non va a buon fine la risposta sarà sempre 200 ma:

la chiave "err" ha il valore 100

la chiave "data" ha il valore stringa (stringa che varia in base alla tipologia dell'errore)

ESEMPIO CHIAMATA AL ENDPOINT IN JQUERY

// Racolta di tutti i campi del form in una varibile
var dati_raccolti = {
dati_utente: {
email: $(“#email”).val(), /* Valore del campo Email */
nome: $(“#nome”).val(), /* Valore del campo Nome */
},
privacy: $(“#privacy”).is(‘:checked’), /* Valore della checkbox “.is” Verifica se è selezionato */
marketing: $(“#marketing”).is(‘:checked’), /* Valore della checkbox “.is” Verifica se è selezionato */
termini: $(“#termini”).is(‘:checked’), /* Valore della checkbox “.is” Verifica se è selezionato */
profilazione: $(“#profilazione”).is(‘:checked’), /* Valore della checkbox “.is” Verifica se è selezionato */
commerciali: $(“#commerciali”).is(‘:checked’), /* Valore della checkbox “.is” Verifica se è selezionato */
news_letter: $(“#news_letter”).is(‘:checked’), /* Valore della checkbox “.is” Verifica se è selezionato */
src: ‘landing_page’ /* Valore campo src. Assicurati che sia uguale alla origine che hai creato nel “gestione Origini” della tua Console*/
}
// Verifica per vedere se i dati sono inseriti correttamente *Opzionale
console.log(dati_raccolti);
// Chiamata al API via Ajax
$.ajax({
method: ‘POST’,
url: “http://api.legalprivacy.eu/user_contacts/addcontact”,
data: dati_raccolti, /* Dati raccolti nella variabile sopra sottoforma di JSON */
dataType: ‘json’, /* Tipologia di dati inviati */
headers: { ‘Authorization’: ‘Bearer eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoicGFycnkuYXJlYS5pbmR1c3RyaWVzQGdtYWlsLmNvbSJ9.nizCr1YEiZxWdsWdbycBr9_lNb1_jSDwWwmmyZl0R4k’ }
}).done(function(risposta) {
// Verifica se la chiamata è andata a buon fine e vedi lo status code
console.log(risposta);
});

headers:chiave univoca per ogni utente; per ottenere la chiave non devi fare altro che andare nella tua area riservata nella Console Legal Privacy e copiarla dal menu “Gestione Profilo”.

TEST FINALE

Raccomandazione:

Una volta creata l’origine dati sulla Console di Legal Privacy e completata la configurazione della vostra sorgente dati con il Token inserito, raccomandiamo di effettuare un TEST REALE di collegamento inserendo fisicamente i primi dati sulla sorgente dati e verificando poi che gli stessi siano correttamente ricevuti dalla Console di Legal Privacy.

Se avete bisogno di supporto scrivete a support@legalprivacy.eu.