Supponiamo di voler creare la privacy policy per un utente con le seguenti caratteristiche:
Tutto quello che c’è da fare è effettuare una chiamata all’API di iubenda, indicando i parametri precedenti, che offrirà in risposta:
L’API è in formato JSON. Quello che segue è un esempio pratico di utilizzo
POST
https://www.iubenda.com/api/transactions
POST Data
"api_key" => "c4f88fe3247f7df3f232025438596d54b59b76f8",
"type" => "create_privacy_policy",
"args" => {
"user" => {
"email" => "pinco.pallino@gmail.com",
},
"privacy_policy" => {
"url" => "www.sitowebutente.it",
"owner" => {
"info" => "Pinco Pallino, Via Roma, 18 - 20123 Milano (MI) - Italia",
"email" => "owner.mail@iubenda.com"
},
"cookie_solution" => true
}
}
RISPOSTA
"transaction_id" => 597127324 // ID della transazione
"output" => {
"user" => {
"id" => 20952, // ID dell'utente creato
"email" => "user.name@gmail.com" // La mail dell'utente, inserita in precedenza
}
"privacy_policies" => [
{
"id" => 19276,
"site_id" => 193712,
"public_id" => 193847,
"lang" => "en",
"setup_url" => "https://www.iubenda.com/it/privacy-policy-generator/19276/services?l_email=user.name@gmail.com&l_tok=enL39d1xhk1RPPRuW8U5",
"edit_url" => "https://www.iubenda.com/it/privacy-policy-generator/19276/edit?l_email=user.name@gmail.com&l_tok=enL39d1xhk1RPPRuW8U5",
"embed_code" => "<a href=\"https://www.iubenda.com/privacy-policy/193847\" class=\"iubenda-white no-brand iubenda-embed\" title=\"Privacy Policy\">Privacy Policy</a><script type=\"text/javascript\">(function (w,d) {var loader = function () {var s = d.createElement(\"script\"), tag = d.getElementsByTagName(\"script\")[0]; s.src = \"https://cdn.iubenda.com/iubenda.js\"; tag.parentNode.insertBefore(s,tag);}; w.addEventListener ? w.addEventListener(\"load\", loader, false) : w.attachEvent(\"onload\", loader);})(window, document);</script>"
}
]
}
"errors" =>
"success" => true
"api_version" => "1.0"
Nella risposta, i dati da utili sono:
È importante salvare il transaction_id nel database, in modo da poter recuperare in seguito i dati relativi alla privacy policy.
È possibile specificare una lista di lingue in cui si vuole generare una privacy policy.
La lista delle lingue deve essere fornita come array di codici lingua per il parametro args.privacy_policy.langs come mostrato nell’esempio seguente. I codici lingua ammessi sono: “nl”, “en-GB”, “en”, “fr”, “de”, “it”, “pt-BR”, “ru” e “es”. Se nessuna lingua è fornita, la privacy policy verrà generata in inglese (si veda l’esempio precedente).
Le privacy policy generate (una per lingua) saranno ritornate nella proprietà output.privacy_policies della risposta JSON (si veda l’esempio seguente).
POST Data
"api_key" => "c4f88fe3247f7df3f232025438596d54b59b76f8",
"type" => "create_privacy_policy",
"args" => {
"user" => {
"email" => "user.name@gmail.com",
},
"privacy_policy" => {
"url" => "www.userwebsite.com",
"langs" => ["it", "en"],
"owner" => {
"info" => "User Name, Via Roma, 18 - 20123 Milano (MI) - Italy",
"email" => "owner.mail@iubenda.com"
},
"cookie_solution" => true
}
}
RISPOSTA
"transaction_id" => 597198825 // ID della transazione
"output" => {
"user" => {
"id" => 20952, // ID dell'utente creato
"email" => "user.name@gmail.com" // La mail dell'utente, inserita in precedenza
}
"privacy_policies" => [
{
"id" => 964529,
"site_id" => 927554,
"public_id" => 8239444,
"lang" => "it",
"setup_url" => "https://www.iubenda.com/it/privacy-policy-generator/964529/services?l_email=user.name@gmail.com&l_tok=C1oy1Dt0xiRL3I0LHC",
"edit_url" => "https://www.iubenda.com/it/privacy-policy-generator/964529/edit?l_email=user.name@gmail.com&l_tok=C1oy1Dt0xiRL3I0LHC",
"embed_code" => "<a href=\"https://www.iubenda.com/privacy-policy/8239444\" class=\"iubenda-white no-brand iubenda-embed\" title=\"Privacy Policy\">Privacy Policy</a><script type=\"text/javascript\">(function (w,d) {var loader = function () {var s = d.createElement(\"script\"), tag = d.getElementsByTagName(\"script\")[0]; s.src = \"https://cdn.iubenda.com/iubenda.js\"; tag.parentNode.insertBefore(s,tag);}; w.addEventListener ? w.addEventListener(\"load\", loader, false) : w.attachEvent(\"onload\", loader);})(window, document);</script>"
},
{
"id" => 964530,
"site_id" => 927554,
"public_id" => 8239445,
"lang" => "en",
"setup_url" => "https://www.iubenda.com/it/privacy-policy-generator/964530/services?l_email=user.name@gmail.com&l_tok=enL39d1xhk1RPPRuW8U5",
"edit_url" => "https://www.iubenda.com/it/privacy-policy-generator/964530/edit?l_email=user.name@gmail.com&l_tok=enL39d1xhk1RPPRuW8U5",
"embed_code" => "<a href=\"https://www.iubenda.com/privacy-policy/8239445\" class=\"iubenda-white no-brand iubenda-embed\" title=\"Privacy Policy\">Privacy Policy</a><script type=\"text/javascript\">(function (w,d) {var loader = function () {var s = d.createElement(\"script\"), tag = d.getElementsByTagName(\"script\")[0]; s.src = \"https://cdn.iubenda.com/iubenda.js\"; tag.parentNode.insertBefore(s,tag);}; w.addEventListener ? w.addEventListener(\"load\", loader, false) : w.attachEvent(\"onload\", loader);})(window, document);</script>"
},
]
}
"errors" =>
"success" => true
"api_version" => "1.0"
Di seguito la lista di tutti i parametri accettati
"api_key" => "c4f88fe3247f7df3f232025438596d54b59b76f8",
"type" => "create_privacy_policy",
"args" => {
"user" => {
"email" => "pinco.pallino@gmail.com",
"pwd" => "password", // obbligatorio in caso l'utente sia già registrato/creato
"lang" => "it", // facoltativo, in caso di creazione utente, disponibili 'en' e 'it', default 'en'
"c_code" => "DE", // facoltativo, in caso di creazione utente, il codice ISO Alpha-2 della info nazione
// dell'utente; se non fornito, nessuna info nazione sarà settata
},
"privacy_policy" => {
"type" => "web_site", // facoltativo, disponibili 'web_site' e 'mobile_app', default 'web_site'
"url" => "www.sitowebutente.it", // obbligatorio se 'type' non è fornito o è 'web_site'
"app_name" => "testApp", // obbligatorio se 'type' è 'mobile_app'
"langs" => ['it', 'en'], // facoltativo, default ['en'] (si veda la sezione precedente sulle lingue)
"owner" => { // facoltativo
"info" => "Pinco Pallino, Via Roma, 18 - 20123 Milano (MI) - Italia",
"email" => "owner.mail@iubenda.com"
},
"pro" => true, // facoltativo, default 'false'; se fornito 'true' la privacy policy sarà creata Pro
// e una licenza di 1 anno sarà associata alla privacy policy
// NOTA: l'api account deve essere abilitato a creare privacy policy Pro, in caso contrario
// un errore sarà ritornato
// NOTA: nel caso in cui l'utente di destinazione ha attivo un piano multi licenza, la privacy
// policy sarà creata Pro indipendentemente da questo parametro
"cookie_solution" => true, // opzionale, default 'false';
// se impostato a 'true' viene creata una cookie solution,
// attivando un piano gratuito fino a 25k pageview al mese,
// se l'utente non ne ha già uno attivo.
"skip_configuration_mail" => true, // facoltativo, default 'false'; se fornito 'true' non verrà inviata
// alcuna mail di configurazione della Privacy Policy appena
// creata all'indirizzo mail dell'utente di destinazione
}
}
Per richiamare una privacy policy si esegue una chiamata GET verso l’API, offrendo come input l’API Key e il transaction_id ottenuto in sede di creazione
GET
https://www.iubenda.com/api/transactions/transaction_id?api_key=api_key_value
Esempio:
https://www.iubenda.com/api/transactions/193847?api_key=c4f88fe3247f7df3f232025438596d54b59b76f8
RISPOSTA
=> {
"id" => 193847,
"transaction" => {
"success" => true,
"type" => "create_privacy_policy",
"input" => {
"user" => {
"email" => "pinco.pallino@gmail.com",
"lang" => "it",
"c_code" => "IT"
},
"privacy_policy" => {
"url" => "http://www.sitowebutente.com",
"langs" => ["en"],
"owner" => {
"info" => "Pinco Pallino, Via Roma, 18 - 20123 Milano (MI) - Italia",
"email" => "pinco.pallino@gmail.com"
}
}
},
"output" => {
"user" => {
"id" => 6269,
"email" => "pinco.pallino@gmail.com"
},
"privacy_policies" => [
{
"id" => 19276,
"lang" => "it",
"setup_url" => "https://www.iubenda.com/it/privacy-policy-generator/19276/services?l_email=pinco.pallino@gmail.com&l_tok=enL39d1xhk1RPPRuW8U5",
"edit_url" => "https://www.iubenda.com/it/privacy-policy-generator/19276/edit?l_email=pinco.pallino@gmail.com&l_tok=enL39d1xhk1RPPRuW8U5",
"policy_url" => "https://www.iubenda.com/privacy-policy/193847",
"embed_code" => "<a href=\"https://www.iubenda.com/privacy-policy/193847\" class=\"iubenda-white no-brand iubenda-embed\" title=\"Privacy Policy\">Privacy Policy</a><script type=\"text/javascript\">(function (w,d) {var loader = function () {var s = d.createElement(\"script\"), tag = d.getElementsByTagName(\"script\")[0]; s.src = \"https://cdn.iubenda.com/iubenda.js\"; tag.parentNode.insertBefore(s,tag);}; w.addEventListener ? w.addEventListener(\"load\", loader, false) : w.attachEvent(\"onload\", loader);})(window, document);</script>"
}
]
}
},
"errors" => [],
"success" => true,
"api_version" => "1.0",
"test" => false
}
Da questa risposta si possono estrarre tutti i valori di output => privacy_policies. Notare che privacy_policies è un array che, in questo scenario, è sempre composto da un solo elemento.