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
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
id | integer | Sì | L'identificativo dello spazio web su cui viene creato il consenso |
Headers richiesti
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
Authorization | string | Sì | Token di autorizzazione per l'accesso all'API |
Accept | string | Sì | Specifica il formato di risposta desiderato (application/json) |
Content-Type | string | Sì | Specifica il formato del contenuto della richiesta (application/json) |
Parametri nella richiesta (formato JSON)
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
ip_address | string | Sì | L'indirizzo IP del soggetto che fornisce il consenso |
consent_type | string | Sì | Il tipo di consenso (es. "banner", "form", "explicit") |
optin | string | Sì | Stato del consenso ("accepted", "rejected", "partial") |
consent_data | array | No | Array di oggetti contenenti i dati del consenso con struttura label/value |
versions | array | No | Array di oggetti contenenti le versioni delle policy a cui si fa riferimento |
identifier | string | Sì | Identificativo univoco del soggetto che fornisce il consenso |
source | string | No | Sorgente del consenso (es. "website", "app") |
consent_features | array | No | Array di stringhe che indicano le funzionalità per cui è stato dato il consenso |
html_form | string | No | Rappresentazione 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.