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
idintegerL'identificativo dello spazio web su cui viene creato il consenso

Headers richiesti

NomeTipoObbligatorioDescrizione
AuthorizationstringToken di autorizzazione per l'accesso all'API
AcceptstringSpecifica il formato di risposta desiderato (application/json)
Content-TypestringSpecifica il formato del contenuto della richiesta (application/json)

Parametri nella richiesta (formato JSON)

NomeTipoObbligatorioDescrizione
ip_addressstringL'indirizzo IP del soggetto che fornisce il consenso
consent_typestringIl tipo di consenso (es. "banner", "form", "explicit")
optinstringStato 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
identifierstringIdentificativo 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.