Skip to main content

Consent Solution API

Endpoint

POST {{base_url}}/{{tenant}}/domains_groups/1/consents

Descrizione

Questo endpoint consente di registrare il consenso dell'utente per le varie politiche e preferenze.

Input

Il corpo della richiesta dovrebbe essere un oggetto JSON contenente i seguenti campi:

  • subject (oggetto): Contiene le informazioni del soggetto che concede il consenso.
    • email (stringa): L'indirizzo email del soggetto.
    • first_name (stringa): Il nome del soggetto.
    • last_name (stringa): Il cognome del soggetto.
    • age (numero intero): L'età del soggetto.
    • address (stringa, facoltativa): L'indirizzo del soggetto.
  • identifier (stringa): L'identificatore del soggetto (ad esempio, "email").
  • ip_address (stringa): L'indirizzo IP del soggetto.
  • proofs (stringa HTML): Le prove del consenso fornite dal soggetto.
  • legal_notices (array di oggetti): Elenco delle politiche legali con le seguenti proprietà per ciascuna politica.
    • name (stringa): Nome della politica (ad esempio, "privacy_policy").
  • preferences (array di oggetti): Elenco delle preferenze con le seguenti proprietà per ciascuna preferenza.
    • name (stringa): Nome della preferenza (ad esempio, "newsletter").
    • accepted (booleano): Indica se la preferenza è stata accettata o meno.

Un esempio di input per le API può essere il seguente:

{
    "subject": {
        "email": "test@email.it",
        "first_name": "Mario",
        "last_name": "Rossi",
        "age": 33,
        "address": "Via Esempio 123"
    },
    "identifier": "email",
    "ip_address": "12.64.193.89",
    "proofs": "<html></html>",
    "legal_notices": [
        {
            "name": "privacy_policy"
        },
        {
            "name": "cookie_policy"
        }
    ],
    "preferences": [
        {
            "name": "newsletter",
            "accepted": true
        },
        {
            "name": "updates",
            "accepted": true
        }
    ]
}

Output in caso di successo

Se la richiesta ha successo, verrà restituito un oggetto JSON con i seguenti campi:

{
    "data": {
        "id": 6,
        "subject_id": null,
        "domains_group_id": 1,
        "ip_address": "12.64.193.89",
        "proofs": "<html></html>",
        "legal_notices": [
            {
                "name": "privacy_policy"
            },
            {
                "name": "cookie_policy"
            }
        ],
        "created_at": "2023-11-08T09:39:52.000000Z",
        "updated_at": "2023-11-08T09:39:52.000000Z",
        "consent_data": [
            {
                "name": "newsletter",
                "accepted": true
            },
            {
                "name": "updates",
                "accepted": true
            }
        ],
        "subject_data": {
            "email": "test@email.it",
            "first_name": "Mario",
            "last_name": "Rossi",
            "age": 33,
            "address": "Via Esempio 123",
            "identifier": "email"
        }
    }
}

Output in caso di token non valido

Se il token fornito nella richiesta non è valido, verrà restituito un oggetto JSON con il seguente campo:

{
    "message": "Unauthenticated"
}

Questa risposta indica che l'utente non è autenticato o che il token fornito non è valido per l'accesso all'endpoint. Assicurati di gestire adeguatamente questa situazione nel tuo sistema e fornire le istruzioni appropriate per l'utente o il client per risolvere il problema di autenticazione.

Configurazione plugin Wordpress

Tramite il plugin, installabile con una zip, sarà possibile decidere quali dati salvare nell'archivio dei consensi su Avacy.

L'interfaccia si presenta nel modo seguente:

Alt text

Nella sezione Account è possibile configurare:

  • Il nome del tenant è la parte del dominio che identifica in modo univoco il tuo spazio o la tua organizzazione su Avacy. (Ad esempio mycompany.avacy.eu, il nome del tenant sarà mycompany)

  • l'ID dello spazio web è un numero o un identificativo univoco assegnato a uno specifico spazio o risorsa all'interno di un sistema. Puoi andare nella dashboard del tuo spazio web e, nella barra degli indirizzi l'URL sarà del tipo mycompany.avacy.eu/dashboard/89. In questo caso, 89 è l'ID dello spazio web.

  • l'API Token è una stringa di caratteri alfanumerici generata in modo casuale nella sezione Consent Solution. Questo token viene utilizzato per l'autenticazione e l'autorizzazione quando una richiesta è inviata all'API e funge da modalità di autenticazione.

Nella sezione Moduli invece sarà presente una tabella con i form di contatto rilevati all'interno del proprio sito. Ogni riga della tabella avrà le seguenti colonne:

  • Form ID: stringa alfanumerica che identifica univocamente il form sul sito web
  • Type: il tipo di form (Avacy supporta Elementor Forms, Forms di WooCommerce, HTMLForms e quelli creati tramite WP Posts)
  • Active: permette di selezionare se vuoi memorizzare il consenso prestato a quel form oppure no
  • Fields: i campi rilevati in ciascun form, è possibile selezionare quelli che si vuole memorizzare nell'archivio consensi
  • Identifier: il campo che vuoi utilizzare per identificare l'utente (è consigliato utilizzare il campo email)

Testing

Per testare le API basta selezionare una o più righe del form, segnarle come attive, selezionare i campi che si vuole memorizzare nel consenso e il campo da utilizzare come identificatore dell'utente (consigliato il campo email).

Quindi basterà inserire dei dati validi nei form di contatto e inviarli (assicurandosi di smarcare la spunta di consenso al trattamento dei dati personali, qualora fosse presente). I dati del consenso saranno visibili nella sezione Archivio Consensi dalla dashboard di Avacy.