Passa al contenuto principale

Integrazione dell'archivio consensi tramite REST API


In questa sezione è mostrata l'integrazione e consultazione dell'archivio consensi, necessario per poter memorizzare delle prove del consenso al trattamento dei dati personali che gli utenti possono aver prestato consapevolmente navigando sul tuo sito web.

Questa documentazione descrive gli endpoint per la gestione dei consensi all'interno dei webspace. L'URL base dell'API è

https://api.avacy.eu/:team/v4

Crea un nuovo consenso per uno specifico spazio web​

POST /webspaces/:id/consents

Parametri di route​

NomeTipoObbligatorioDescrizione
idintegerSìL'identificativo dello spazio web su cui viene creato il consenso

Headers richiesti​

NomeTipoObbligatorioDescrizione
AuthorizationstringSìAccess key di autorizzazione per l'accesso all'API
AcceptstringSìSpecifica il formato di risposta desiderato (application/json)
Content-TypestringSìSpecifica il formato del contenuto della richiesta (application/json)

Parametri nella richiesta (formato JSON)​

NomeTipoObbligatorioDescrizione
ip_addressstringSìL'indirizzo IP del soggetto che fornisce il consenso
consent_typestringSìIl tipo di consenso (es. "banner", "form", "explicit")
optinstringSìStato del consenso ("accepted", "rejected", "partial")
consent_dataarrayNoArray di oggetti contenenti i dati del consenso con struttura label/value
versionsarrayNoArray di oggetti contenenti le versioni delle policy a cui si fa riferimento
identifierstringSìIdentificativo univoco del soggetto che fornisce il consenso
sourcestringNoSorgente del consenso (es. "website", "app")
consent_featuresarrayNoArray di stringhe che indicano le funzionalità per cui è stato dato il consenso
html_formstringNoRappresentazione HTML del form di consenso mostrato all'utente

Esempio:

{
"ip_address": "192.168.1.20",
"consent_type": "banner",
"optin": "accepted",
"consent_data": [
{
"label": "nome",
"value": "Mario"
},
{
"label": "cognome",
"value": "Rossi"
}
],
"versions": [
{
"slug": "privacy_policy",
"link": "https://example.com/privacy",
"date": "2025-05-15"
}
],
"identifier": "user-123",
"source": "website",
"consent_features": [
"privacy_policy",
"cookie_policy"
],
"html_form": "<p>Usiamo cookie e altre tecnologie...</p>"
}

Risposta di Successo​

Codice: 201 Created

{
"message": "Consent created successfully",
"data": {
"id": 123,
"webspace_id": 1,
"ip_address": "192.168.1.20",
"consent_type": "banner",
"optin": "accepted",
"consent_data": [
{
"label": "nome",
"value": "Mario"
},
{
"label": "cognome",
"value": "Rossi"
}
],
"versions": [
{
"slug": "privacy_policy",
"link": "https://example.com/privacy",
"date": "2025-05-15"
}
],
"identifier": "user-123",
"source": "website",
"consent_features": [
"privacy_policy",
"cookie_policy"
],
"html_form": "<p>Usiamo cookie e altre tecnologie...</p>",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"created_at": "2025-11-12T10:30:00.000000Z",
"updated_at": "2025-11-12T10:30:00.000000Z"
}
}

Risposta di Errore​

Codice: 400 Bad Request se i campi richiesti sono mancanti o non validi.

Codice: 404 Not Found se il webspace con l'ID specificato non esiste.