Iubenda logo
Inizia la generazione

Documentazione

Indice dei contenuti

API docs: Manuale “Quick generator”

Il Quick Generator consente di integrare qualsiasi web app con un form iubenda col quale creare una privacy policy minimale.

Il form richiede unicamente l’url del sito web o il nome della mobile application, e un’email cui verrà associata la privacy policy in iubenda.
Se l’email fornita è già presente in iubenda, la password dell’account verrà richiesta per procedere. Altrimenti un account su iubenda verrà creato.
Al termine della generazione verrà inviata una mail di configurazione all’indirizzo fornito. Se per quell’indirizzo l’account a iubenda è stato creato, il link contenuto nella mail consentirà all’utente di impostare la sua password.

Al codice chiamante il Quick Generator verrà poi ritornato un oggetto js contenente tutte le info per proseguire la configurazione della pp su iubenda, il codice per embeddare la privacy policy o, nel caso di privacy policy per mobile applications, il link diretto alla privacy policy creata.

Per integrare il Quick Generator occorre aggiungere il seguente codice javascript:

<div id="iubenda-policy-config-start"></div>
<script type="text/javascript">
var _iub = _iub || []; // REQUIRED
_iub.quick_generator = { // REQUIRED. The element of the page to append the Quick Generator iframe badge to.
	placeholder:document.getElementById("iubenda-policy-config-start"), // REQUIRED
	input:{
		privacy_policy:{
			type:"mobile_app", // default 'web_site'. Available are  'mobile_app' and 'web_site'.
			url:"www.example.com", // default null
			app_name:"Example App", // default null
			pro:true, // default false. If subscription is available for api account, the policy will be always created Pro.
			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. 

		},
		user:{
			email:"test@example.com" // default null
		}
	},
	callback:callbackFunc, // default null. Name of the function to be called once generation succeed.
	ok_message:"Please wait, the configuration is being saved...", // default null. Message to show in form once the generation process has completed.
	hide_last_close_btn:true, // default false. Hide the Close button at the bottom of the form when generation ends.
	api_key:"a6639fe1f277bbdad9ef1d92065a9da88cda008d", // REQUIRED
	language:'en', // default 'en'. Language of the form. Available are 'it' and 'en'
	no_style:true, // default false. If true, displays the button with no style applied
	css:"border:2px solid red;", // default null. Style to apply the quick generator button. Valid only if no_style is true
	caption:"Generate a privacy policy", // default "Generate a privacy policy with Iubenda" (en) and "Genera una privacy policy con iubenda" (it). Not language dependent.
	test:false // default false. When true, no update on iubenda db will be performed.
};
</script>
<script type="text/javascript" src="https://www.iubenda.com/assets/cdn/quick_generator/loader.js"></script>

Sono presenti diverse configurazioni opzionali, compresi i valori iniziali con i quali prefillare il form (input.privacy_policy.url o input.privacy_policy.mobile_app e input.user.email).

È possibile fornire in input una lista di lingue in cui si vuole che la privacy policy venga generata. La lista deve essere fornita come array di codici di lingua per il parametro di configurazione input.privacy_policy.langs, come mostrato nell’esempio seguente. I codice di lingua abilitati sono “nl”, “en-GB“, “en”, “fr”, “de”, “it”, “pt-BR”, “ru” e “es”. Se nessuna lingua viene fornita, la privacy policy verrà generata in inglese (si veda l’esempio precedente).
Inoltre, se viene utilizzato il parametro cookie_solution: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.

        ...
	input:{
		privacy_policy:{
			type:"mobile_app", 
			url:"www.example.com",
			app_name:"Example App", 
			pro:true, 
                        langs:['it','en'] // <= Array di codici lingua
			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. 
		},
		user:{
			email:"test@example.com" 
		}
	},
        ...

Le privacy policy generate (una per lingua) saranno ritornate nella proprietà privacy_policies della risposta JSON (sia nel parametro della callback che nell’oggetto _iub.quick_generator.output, si veda l’esempio seguente riguardante l’output del quick generator).

La configurazione minima richiesta è:

<div id="iubenda-policy-config-start"></div>
<script type="text/javascript">
var _iub = _iub || [];                                                					
_iub.quick_generator = {                                              				 
	placeholder:document.getElementById("iubenda-policy-config-start"), 		
	api_key:"a6639fe1f277bbdad9ef1d92065a9da88cda008d"   
};
</script>
<script type="text/javascript" src="https://www.iubenda.com/assets/cdn/quick_generator/loader.js"></script>

Per far aprire o chiudere il Quick Generator form via js:

  _iub.quick_generator.show();
  _iub.quick_generator.close();

Output

Al termine del processo di generazione, se fornita attraverso il parametro :callback, una callback definita dall’utente verrà richiamata. Verrà passato come parametro l’output della generazione.
Questo output è comunque disponibile tramite la variabile globale _iub, in particolare _iub.quick_generator.output, fino alla prossima generazione.

// callback to be executed on return from QuickGeneration form. Passed as argument later below.
function callbackFunc(payload){
  // payload contains output data about generated pp (or pps), example given:
  payload => {
    privacy_policies:[
      {
        edit_url:"https://www.iubenda.com/en/privacy-policy-generator/1289/edit?l_email=example@iubenda.com&l_tok=ui7Rh91581T53Dgsl79z",
        // in case of mobile_app :direct_link is returned instead of :embed_code
        embed_code:"<a href="https://www.iubenda.com/privacy-policy/815115" 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://www.iubenda.com/assets/cdn/iubenda.js"; tag.parentNode.insertBefore(s,tag);}; if(w.addEventListener){w.addEventListener("load", loader, false);}else if(w.attachEvent){w.attachEvent("onload", loader);}else{w.onload = loader;}})(window, document);</script>",
        direct_link:"http://www.iubenda.com/privacy-policy/815115/full"
        id:1289,
        site_id: 1295,
        lang:"en",
        public_id:815115,
        setup_url:"https://www.iubenda.com/en/privacy-policy-generator/1289/services?l_email=example@iubenda.com&l_tok=ui7Rh91581T53Dgsl79z"
      },
      //...
    ],
    user:{
      email:"example@test.com",
      id:108
    }
  }
}

Esempio:

function callbackFunc(payload) {
  console.log(_iub.quick_generator.output.privacy_policies[0].id);
  // or
  console.log(payload.privacy_policies[0].id);
  // ...
  // then, if needed
  _iub.quick_generator.close();
}

O altrimenti tramite _iub.quick_generator, ad esempio:

_iub.quick_generator.output.privacy_policies[0].edit_url
_iub.quick_generator.output.privacy_policies[0].embed_code
_iub.quick_generator.output.privacy_policies[0].user.email

Esempio funzionante