Documentazione

Consent Solution – Documentazione API HTTP

Le API HTTP della Consent Solution ti permettono di salvare e recuperare le azioni di consenso portate a termine dai tuoi utenti, che di seguito verranno definiti “interessati”.

Headers

Autenticazione

Al fine di poter scrivere tramite le nostre API, forniamo due tipologie di chiavi:

  • Chiave pubblica, comunemente utilizzata dalla libreria Javascript
  • Chiave privata, comunemente utilizzata dall’API HTTP

Tutte le chiamate API, sia tramite HTTP che tramite JS, specificano se sono state autenticate tramite chiave pubblica o privata. Le chiamate effettuate mediante chiave privata sono più affidabili in quanto forniscono maggiore certezza quando è necessario verificare che i dati siano stati realmente inviati dall’utente.

Per le API HTTP, la chiave privata va inviata tramite l’header ApiKey. Le chiavi pubbliche sono accettate solo sull’endpoint POST /public/consent.

Content-Type

Per inviare dati alla nostra API HTTP, è necessario impostare un header content-type uguale ad application/json o x-www-form-urlencoded.

Limiti al numero di chiamate

Il numero massimo di chiamate è di 5 per secondo e 10800 per ora. Lato server, se questi limiti vengono oltrepassati riceverai un messaggio 429 Too Many Requests.

Dimensione massima delle chiamate

Per ogni chiamata, è stato impostato un limite massimo pari a 350kb. Lato server, se questi limiti sono oltrepassati riceverai un messaggio 413 Request Entity Too Large.

Consent

GET consent

Esempi

GET https://consent.iubenda.com/consent/:id
200 OK
{
  "id": "de801ca9-abec-45e2-8f7c-729822cfffad",
  "timestamp": "2018-05-04T14:52:26Z",
  "owner": "1234",
  "subject": {
    "id": "J02eZvKYlo2ClwuJ1",
    "email": "subject@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe"
    "verified": false
  },
  "preferences": {
    "privacy_policy": true,
    "newsletter": false
  },
  "legal_notices": [
    {
      "identifier": "privacy_policy",
      "version": "123"
    },
    {
      "identifier": "terms",
      "version": "123"
    }
  ],
  "proofs": [
    {
      "content": "proof_1",
      "form": "proof form"
    }
  ]
}

In aggiunta alle proprietà evidenziate in precedenza:

id Identificativo univoco dello specifico evento di consenso
owner Identificativo univoco del proprietario dell’API
source private public Chiarisce se il consenso è stato inviato con API pubblica o privata

CREATE consent

Esempi

POST https://consent.iubenda.com/consent
{
  "subject": {
    "id": "J02eZvKYlo2ClwuJ1",
    "email": "john@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe",
    "verified": false
  },
  "legal_notices": [
    {
      "identifier": "privacy_policy",
      "version": "123"
    },
    {
      "identifier": "terms",
      "version": "123"
    }
  ],
  "proofs": [
    {
      "content": "proof_1",
      "form": "proof form"
    }
  ],
  "preferences": {
    "newsletter": false,
    "privacy_policy": true
  }
}

Questa chiamata creerà un nuovo evento di consenso.

La risposta è la seguente:

200 OK
{
  "id": "de801ca9-abec-45e2-8f7c-729822cfffad",
  "timestamp": "2018-05-04T14:52:26Z",
  "subject_id": "J02eZvKYlo2ClwuJ1"
}

Il metodo dei consensi ammette i seguenti campi, tutti opzionali. Alcuni campi verrano compilati automaticamente se non viene fornito alcun valore.

timestamp compilato automaticamente (se non fornito) stringa ISO 8601 timestamp del momento in cui è avvenuto il consenso
subject oggetto
    id compilato automaticamente (se non fornito) stringa
    email stringa
    first_name stringa
    last_name stringa
    full_name stringa
    verified boolean campo che segnala se un interessato è verificato o meno, ad esempio attraverso double opt-in
legal_notices array array di oggetti contenenti dati sugli avvisi legali
    identifier stringa privacy_policy, cookie_policy, terms o un identificativo personalizzato
    version compilato automaticamente (se non fornito) stringa
proofs array array di oggetti contenente dati sulle prove di consenso
    content testo
    form testo
preferences oggetto insieme di coppie chiave-valore relative alle preferenze dell’utente per ogni azione di consenso

List consent

Esempi

GET https://consent.iubenda.com/consent

Parametri della query accettati:

subject_id opzionale Stringa Filtra i consensi per subject ID
preference_key opzionale stringa Filtra i consensi per preference key
starting_after opzionale stringa (UUID) Paginazione con cursore. Restituisce i consensi successivi a un dato id
limit opzionale intero Numero restituito di risultati. Predefinito 10. Min: 1, Max: 100

Ricorda che i risultati sono ordinati di default per timestamp discendente.

Risposta:

200 OK
[
  {
    "id": "bd25e1fc-da53-4b48-8fef-0ecb6068f666",
    "timestamp": "2018-06-11T15:20:07+00:00",
    "owner": "181789",
    "source": "public",
    "subject": {
      "id": "35d1f4ba-5a52-43d8-9fee-68e356a2a9bd",
      "email": "35d1f4ba_43d8_9fee_5a52_68e356a2a9bd@example.net",
      "first_name": "Filomena",
      "last_name": "Turcotte",
      "full_name": "Filomena Turcotte"
    },
    "preferences": {
      "newsletter": true
    }
  },
  {
    "id": "9b6c3cea-3350-4528-89ad-9148db358e20",
    "timestamp": "2018-06-11T15:20:07+00:00",
    "owner": "678255",
    "source": "private",
    "subject": {
      "id": "d685ed47-bdd8-44c4-92c4-0bbf961f2577",
      "email": "0bbf961f2577_92c4_bdd8_d685ed47_44c4@example.net",
      "first_name": "Rachael",
      "last_name": "Hammes",
      "full_name": "Rachael Hammes"
    },
    "preferences": {
      "newsletter": false
    }
  },
  {
    "id": "9783a523-f35e-4133-9875-0b6aed3bce32",
    "timestamp": "2018-06-11T15:20:07+00:00",
    "owner": "837689",
    "source": "public",
    "subject": {
      "id": "b6a14232-ba1a-4a20-afed-fa93c68eb5aa",
      "email": "afed.b6a14232.fa93c68eb5aa.4a20.ba1a@example.com",
      "first_name": "Oliver",
      "last_name": "Gibson",
      "full_name": "Oliver Gibson"
    },
    "preferences": {}
  },
  {
    "id": "92297398-e1fe-4e95-8f15-35d6dcb42897",
    "timestamp": "2018-06-11T15:20:07+00:00",
    "owner": "802558",
    "source": "private",
    "subject": {
      "id": "da024bf5-e571-499b-b20d-65a41789b5a6",
      "email": "e571_499b_65a41789b5a6_da024bf5_b20d@example.net",
      "first_name": "Ike",
      "last_name": "Miller",
      "full_name": "Ike Miller"
    },
    "preferences": {
      "third_party": true,
      "newsletter": true
    }
  },
  {
    "id": "7bbde760-b859-48bf-8cd3-9b1f035c8ef5",
    "timestamp": "2018-06-11T15:20:07+00:00",
    "owner": "615811",
    "source": "private",
    "subject": {
      "id": "a429fa55-c271-43f2-9ba1-8ce3b48c1093",
      "email": "43f2.a429fa55.8ce3b48c1093.9ba1.c271@example.com",
      "first_name": "Macy",
      "last_name": "Farrell",
      "full_name": "Macy Farrell"
    },
    "preferences": {
      "third_party": true,
      "newsletter": true
    }
  },
  {
    "id": "175aa1a4-b9ee-4278-8074-aa1b1384292a",
    "timestamp": "2018-06-11T15:20:07+00:00",
    "owner": "915663",
    "source": "private",
    "subject": {
      "id": "69753d3f-4048-401e-a3b2-112047b91e67",
      "email": "a3b2.4048.69753d3f.112047b91e67.401e@example.net",
      "first_name": "Kaleigh",
      "last_name": "Schulist",
      "full_name": "Kaleigh Schulist"
    },
    "preferences": {}
  },
  {
    "id": "fe7daa65-3d58-4c75-902f-ca0664442f73",
    "timestamp": "2018-06-11T15:20:06+00:00",
    "owner": "743776",
    "source": "public",
    "subject": {
      "id": "234fde6a-34b0-4371-b0a1-bac3436e6c12",
      "email": "bac3436e6c12.b0a1.4371.234fde6a.34b0@example.org",
      "first_name": "Carson",
      "last_name": "Heidenreich",
      "full_name": "Carson Heidenreich"
    },
    "preferences": {
      "newsletter": false
    }
  }
]

Tieni presente che questo metodo non include le prove e gli avvisi legali del consenso. Devi chiamare GET /consent/:id per ottenere l’evento Consent completo.

Subjects

GET subject

Esempi

GET https://consent.iubenda.com/consent/:id
200 OK
{
  "id": "de801ca9-abec-45e2-8f7c-729822cfffad",
  "timestamp": "2018-05-04T14:52:26Z",
  "owner": "1234",
  "subject": {
    "id": "J02eZvKYlo2ClwuJ1",
    "email": "subject@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe"
    "verified": false
  },
  "preferences": {
    "privacy_policy": true,
    "newsletter": false
  },
  "legal_notices": [
    {
      "identifier": "privacy_policy",
      "version": "123"
    },
    {
      "identifier": "terms",
      "version": "123"
    }
  ],
  "proofs": [
    {
      "content": "proof_1",
      "form": "proof form"
    }
  ]
}

CREATE subject

Esempi

POST https://consent.iubenda.com/subjects
{
  "id": "J02eZvKYlo2ClwuJ1",
  "email": "john@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "full_name": "John Doe",
  "verified": false
}

Questo metodo crea un nuovo interessato e può essere usato anche da consent. Controlla la documentazione riferita al metodo consent per ulteriori dettagli.

id compilato automaticamente (se non fornito) stringa
email opzionale stringa
first_name opzionale stringa
last_name opzionale stringa
full_name opzionale stringa
verified opzionale boolean campo che segnala se un interessato è verificato o meno, ad esempio attraverso double opt-in
In arrivo a breve
custom_attributes opzionale oggetto insieme di coppie chiave-valore contenenti attributi custom

La risposta è la seguente:

200 OK
{
  "id": "J02eZvKYlo2ClwuJ1",
  "timestamp": "2018-05-04T14:52:26Z"
}

UPDATE subject

Esempi

PATCH https://consent.iubenda.com/subjects/:id
{
  "first_name": "Mary",
  "verified": true
}

Questa chiamata aggiorna un interessato esistente.

La risposta è la seguente:

200 OK
{
  "id": "testsubject",
  "created_at": "2018-05-04T14:52:26Z"
}

Legal Notice

Ottieni la versione dell’avviso legale

Esempi

GET /legal_notices/:identifier/:version

Risposta:

# GET /legal_notices/privacy_policy/1
# 200 OK
{
    "identifier": "privacy_policy",
    "content": "legal text",
    "timestamp": "2018-05-16T13:55:57Z",
    "version": 1
}

Ottieni tutte le versioni degli avvisi legali

Esempi

GET /legal_notices/:identifier

Parametri della query accettati:

Nome Valore Descrizione
limit opzionale numero Limita il numero dei risultati. Default 10
starting_after opzionale numero Paginazione con cursore. Default null

Questo metodo supporta la paginazione con cursore tramite il parametro starting_after. Quest’ultimo prende la versione di un avviso legale esistente e restituisce gli oggetti in ordine inverso.

# 200 OK
[
    {
        "identifier": "privacy_policy",
        "timestamp": "2018-05-16T13:55:57Z",
        "version": 3
    },
    {
        "identifier": "privacy_policy",
        "timestamp": "2018-03-16T13:55:57Z",
        "version": 2
    },
    {
        "identifier": "privacy_policy",
        "timestamp": "2018-01-16T13:55:57Z",
        "version": 1
    }
]

Note
Questo metodo si limita ai metadati e non include il contenuto dell’avviso legale. Devi chiamare GET /legal_notices/:identifier/:version per ottenere il documento completo.

Se usi iubenda per i tuoi documenti legali, aggiorneremo automaticamente i contenuti del metodo legal_notices ogni volta che i tuoi documenti legali vengono cambiati. Puoi scoprire di più su questa funzionalità qui (in inglese).

Crea una Legal Notice

Esempi

POST /legal_notices
{
    "identifier": "privacy_policy",
    "content": "privacy policy content",
    "timestamp": "2018-05-16T13:55:57Z"
}

Con contenuti multi-lingua

POST /legal_notices
{
    "identifier": "privacy_policy",
    "content": {
        "en": "privacy policy content",
        "it": "contenuto della privacy policy"
    },
    "timestamp": "2018-05-16T13:55:57Z"
}

Risposta:

# 200 OK
{
    "identifier": "privacy_policy",
    "timestamp": "2018-05-16T13:55:57Z",
    "version": 1
}

Crea più Legal Notice

POST /legal_notices
[
    {
        "identifier": "privacy_policy",
        "content": "privacy policy content",
        "timestamp": "2018-05-16T13:55:57Z"
    },
        {
        "identifier": "cookie_policy",
        "content": "cookie policy content",
        "timestamp": "2018-05-16T13:55:57Z"
    }
]

Risposta:

# 200 OK
[
    {
        "identifier": "privacy_policy",
        "timestamp": "2018-05-16T13:55:57Z",
        "version": 1
    },
    {
        "identifier": "cookie_policy",
        "timestamp": "2018-05-16T13:55:57Z",
        "version": 1
    }

]

Esempi


consent

POST /consent

$ curl https://consent.iubenda.com/consent \
  -X POST \
  -H "ApiKey: your-private-api-key" \
  -H "Content-Type: application/json" \
  -d  '{ "subject": { "id": "J02eZvKYlo2ClwuJ1", "email": "subject@example.com" }, "preferences": { "newsletter": true }, "legal_notices": [{ "identifier": "privacy_policy" }], "proofs": [{ "content": "proof_content", "form": "proof_form" }] }'



Risposta

{"id":"1dbbc6f8-6a57-4407-b687-d6e6f818742f","timestamp":"2018-06-06T09:48:44.265Z","subject_id":"J02eZvKYlo2ClwuJ1"}

GET /consent

$ curl https://consent.iubenda.com/consent/ \
  -H "ApiKey: your-private-api-key"



Risposta

[{"id":"b04c4b2b-80b7-439f-8997-ade3d35cbb95","timestamp":"2018-06-04T08:11:34.000+00:00","owner":"521686","source":"private","subject":{"id":"0e371678-634a-4016-83ce-9b7c36f828e6","email":"83ce_634a_4016_9b7c36f828e6_0e371678@example.com","first_name":"Kianna","last_name":"Fahey","full_name":"Kianna Fahey","verified":false},"preferences":{"newsletter":false}},{"id":"ee6644ea-08e9-4aaa-a7a9-18602731a123","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"681109","source":"public","subject":{"id":"8c6d1b71-0908-4604-948f-2f706500b5b1","email":"0908.8c6d1b71.2f706500b5b1.4604.948f@example.org","first_name":"Eleanora","last_name":"Adams","full_name":"Eleanora Adams","verified":false},"preferences":{"newsletter":true}},{"id":"e7a9f5db-481e-4c80-ac7d-a35e35d37f98","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"178473","source":"private","subject":{"id":"d084ab70-0460-4523-94b2-44841055b49c","email":"94b2_4523_44841055b49c_0460_d084ab70@example.com","first_name":"Abbie","last_name":"Heidenreich","full_name":"Abbie Heidenreich","verified":false},"preferences":{"third_party":true}},{"id":"e3481085-296c-4b11-a999-73d5d1309128","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"393753","source":"private","subject":{"id":"be8ca546-150d-4a6e-b2ac-ef76fb8a279e","email":"b2ac_ef76fb8a279e_150d_4a6e_be8ca546@example.net","first_name":"Grace","last_name":"Dooley","full_name":"Grace Dooley","verified":false},"preferences":{"another_preference_key":false,"newsletter":false}},{"id":"e1be0320-a854-4b01-a468-49b1752ee4f3","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"629879","source":"public","subject":{"id":"f8878254-c7ae-4169-b474-19e90d7b2f4f","email":"f8878254_b474_19e90d7b2f4f_4169_c7ae@example.net","first_name":"Providenci","last_name":"Kulas","full_name":"Providenci Kulas","verified":false},"preferences":{"newsletter":false,"random_preference_key":true,"third_party":true,"another_preference_key":false}},{"id":"cbe2bba8-d31d-4a27-9e2d-b38de4f22a68","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"989797","source":"public","subject":{"id":"6387dc5d-d474-4da8-8c40-8b197dee8d7c","email":"6387dc5d.4da8.d474.8c40.8b197dee8d7c@example.com","first_name":"Alan","last_name":"Rutherford","full_name":"Alan Rutherford","verified":false},"preferences":{"newsletter":true,"random_preference_key":true}},{"id":"ca429c28-e1cd-4b95-87ae-48adb8fe56bb","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"885846","source":"public","subject":{"id":"b2ad578d-0aa9-4bd5-becd-e2e7a2019e7a","email":"b2ad578d.becd.e2e7a2019e7a.0aa9.4bd5@example.net","first_name":"Ruby","last_name":"Lemke","full_name":"Ruby Lemke","verified":false},"preferences":{"third_party":true,"random_preference_key":false}},{"id":"bf12770e-840a-40cd-ab79-5d88576b6b73","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"369168","source":"public","subject":{"id":"d4f24d92-56c2-4372-8696-fec829da5ccc","email":"fec829da5ccc.8696.4372.56c2.d4f24d92@example.com","first_name":"Hank","last_name":"Klein","full_name":"Hank Klein","verified":false},"preferences":{"newsletter":false}},{"id":"b489e2d4-2fc6-44e1-ba54-e5f81000d30a","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"781022","source":"public","subject":{"id":"38bc623f-b386-4b66-8ee6-5e7d91c19800","email":"38bc623f.8ee6.4b66.5e7d91c19800.b386@example.net","first_name":"Kamren","last_name":"Pacocha","full_name":"Kamren Pacocha","verified":false},"preferences":{"newsletter":true}},{"id":"b2ec7aa8-35e7-470c-8b51-bd39fa686a3a","timestamp":"2018-06-04T08:11:33.000+00:00","owner":"527898","source":"public","subject":{"id":"0cc94c66-d9eb-4ace-af3d-1d48fba265f9","email":"1d48fba265f9_4ace_af3d_d9eb_0cc94c66@example.net","first_name":"Maryjane","last_name":"Wiegand","full_name":"Maryjane Wiegand","verified":false},"preferences":{"newsletter":true}}]

GET /consent/:id

$ curl https://consent.iubenda.com/consent/1dbbc6f8-6a57-4407-b687-d6e6f818742f \
  -H "ApiKey: your-private-api-key"



Risposta

{"id":"1dbbc6f8-6a57-4407-b687-d6e6f818742f","timestamp":"2018-06-06T09:48:44.000+00:00","owner":"123","source":"public","subject":{"id":"J02eZvKYlo2ClwuJ1","email":"subject@example.com"},"preferences":{"newsletter":"true"},"legal_notices":[{"identifier":"privacy_policy","version":"latest"}],"proofs":[{"form":"proof_form","content":"proof_content"}]}

POST /consent

$consent_data = array(
    "subject" => array(
        "id" => "J02eZvKYlo2ClwuJ1",
        "email" => "subject@example.com"
    ),
    "legal_notices" => array(
        array(
            "identifier" => "newsletter"
        ),
        array(
            "identifier" => "privacy_policy"
        )
    ),
    "proofs" => array(
        array(
            "content" => "proof_content",
            "form" => "proof_form"
        )
    ),
    "preferences" => array(
        "newsletter" => true,
        "privacy_policy" => true
    )
);

$req = curl_init();
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/consent');
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));
curl_setopt($req, CURLOPT_POST, true);
curl_setopt($req, CURLOPT_POSTFIELDS, json_encode($consent_data));

$response = curl_exec($req);

Risposta

{"id":"7abe5f70-22e4-4181-878c-9f931034fab5","timestamp":"2018-06-08T08:25:30.395Z","subject_id":"J02eZvKYlo2ClwuJ1"}

GET /consent

$req = curl_init();
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/consent');
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));

$response = curl_exec($req);



Risposta

 [{"id":"b04c4b2b-80b7-439f-8997-ade3d35cbb95","timestamp":"2018-06-04T08:11:34.000+00:00","owner":"521686","source":"private","subject":{"id":"0e371678-634a-4016-83ce-9b7c36f828e6","email":"83ce_634a_4016_9b7c36f828e6_0e371678@example.com","first_name":"Kianna","last_name":"Fahey","full_name":"Kianna Fahey","verified":false},"preferences":{"newsletter":false}}]

GET /consent/:id

$req = curl_init();
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/consent/7abe5f70-22e4-4181-878c-9f931034fab5');
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));

$response = curl_exec($req);



Risposta

{"id":"7abe5f70-22e4-4181-878c-9f931034fab5","timestamp":"2018-06-08T08:25:30.000+00:00","owner":"123","source":"private","subject":{"id":"J02eZvKYlo2ClwuJ1","email":"subject@example.com"},"preferences":{"newsletter":true,"privacy_policy":true},"legal_notices":[{"identifier":"newsletter","version":"1.0"},{"identifier":"privacy_policy","version":"1.0"}],"proofs":[{"form":"proof_form","content":"proof_content"}]}


subject

POST /subject

$ curl https://consent.iubenda.com/subjects \
  -X POST \
  -H "ApiKey: your-private-api-key" \
  -H "Content-Type: application/json" \
  -d '{ "email": "john@example.com", "first_name": "John", "last_name": "Doe" }'

Risposta

{"id":"9f5a50f6-052c-4595-8bc4-760dc05d86ba","timestamp":"2018-06-06T11:05:41.600Z"}

GET /subject/:id

$ curl https://consent.iubenda.com/subjects/9f5a50f6-052c-4595-8bc4-760dc05d86ba \
  -H "ApiKey: your-private-api-key"



Risposta

{"id":"9f5a50f6-052c-4595-8bc4-760dc05d86ba","owner_id":"123","email":"john@example.com","first_name":"John","last_name":"Doe","full_name":null,"preferences":null,"verified":false,"timestamp":"2018-06-06T11:05:41+00:00"}

PATCH /subject/:id

$ curl https://consent.iubenda.com/subjects/9f5a50f6-052c-4595-8bc4-760dc05d86ba \
  -X PATCH \
  -H "ApiKey: your-private-api-key" \
  -H "Content-Type: application/json" \
  -d '{ "email": "mary@example.com", "first_name": "Mary", "last_name": "Doe" }'



Risposta

{"id":"9f5a50f6-052c-4595-8bc4-760dc05d86ba","timestamp":"2018-06-06T11:05:41.000+00:00"}

POST /subject

$subject_data = array(
    "email" => "subject@example.com",
    "first_name" => "John",
    "last_name" => "Doe"
);

$req = curl_init();
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/subjects');
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));
curl_setopt($req, CURLOPT_POST, true);
curl_setopt($req, CURLOPT_POSTFIELDS, json_encode($subject_data));

$response = curl_exec($req);

Risposta

{"id":"df39c1bf-5f27-4c3a-bf94-64360cc7e4f8","timestamp":"2018-06-11T08:57:13.662Z"}

GET /subject/:id

$req = curl_init();
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/subjects/df39c1bf-5f27-4c3a-bf94-64360cc7e4f8');
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));

$response = curl_exec($req);



Risposta

{"id":"df39c1bf-5f27-4c3a-bf94-64360cc7e4f8","owner_id":"123","email":"subject@example.com","first_name":"John","last_name":"Doe","full_name":null,"preferences":null,"verified":false,"timestamp":"2018-06-11T08:57:13+00:00"}

PATCH /subject/:id

$subject_data = array(
    "first_name" => "Mary"
);

$req = curl_init();
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/subjects/df39c1bf-5f27-4c3a-bf94-64360cc7e4f8');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));
curl_setopt($req, CURLOPT_POSTFIELDS, json_encode($subject_data));

$response = curl_exec($req);



Risposta

{"id":"df39c1bf-5f27-4c3a-bf94-64360cc7e4f8","timestamp":"2018-06-11T08:57:13.000+00:00"}


legal_notices

POST /legal_notices

$ curl https://consent.iubenda.com/legal_notices \
  -X POST \
  -H "ApiKey: your-private-api-key" \
  -H "Content-Type: application/json" \
  -d '{ "identifier": "privacy_policy", "content": "privacy policy legal text" }'

Risposta

{"identifier":"privacy_policy","version":1,"timestamp":"2018-06-06T15:56:10.090Z"}

GET /legal_notices/:identifier/:version

$ curl https://consent.iubenda.com/legal_notices/privacy_policy/1 \
  -H "ApiKey: your-private-api-key"



Risposta

{"identifier":"privacy_policy","version":1,"timestamp":"2018-06-06T15:56:10.000+00:00","content":"privacy policy legal text"}

GET /legal_notices/:identifier

$ curl https://consent.iubenda.com/legal_notices/privacy_policy \
  -H "ApiKey: your-private-api-key"



Risposta

[{"identifier":"privacy_policy","version":1,"timestamp":"2018-06-06T15:56:10.000+00:00"}]


Con parametri limit e starting_after (paginazione):

$ curl https://consent.iubenda.com/legal_notices/privacy_policy?limit=20&starting_after=3 \
  -H "ApiKey: your-private-api-key" \
  -G



Risposta

[{"identifier":"privacy_policy","version":2,"timestamp":"2018-06-06T15:56:10.000+00:00"},{"identifier":"privacy_policy","version":1,"timestamp":"2018-06-06T15:56:10.000+00:00"}]

POST /legal_notices

$legal_notice_data = array(
    "identifier" => "privacy_policy",
    "content" => "privacy policy legal text"
);

$req = curl_init();
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/legal_notices');
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));
curl_setopt($req, CURLOPT_POST, true);
curl_setopt($req, CURLOPT_POSTFIELDS, json_encode($legal_notice_data));

$response = curl_exec($req);

Risposta

{"identifier":"privacy_policy","version":1,"timestamp":"2018-06-11T10:26:00.413Z"}

GET /legal_notices/:identifier/:version

$req = curl_init();
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/legal_notices/privacy_policy/1');
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));

$response = curl_exec($req);



Risposta

{"identifier":"privacy_policy","version":1,"timestamp":"2018-06-11T10:26:00.000+00:00","content":"privacy policy legal text"}

GET /legal_notices/:identifier

$req = curl_init();
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/legal_notices/privacy_policy');
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));

$response = curl_exec($req);



Risposta

[{"identifier":"privacy_policy","version":5,"timestamp":"2018-06-11T10:35:17.000+00:00"},{"identifier":"privacy_policy","version":4,"timestamp":"2018-06-11T10:35:16.000+00:00"},{"identifier":"privacy_policy","version":3,"timestamp":"2018-06-11T10:35:15.000+00:00"},{"identifier":"privacy_policy","version":2,"timestamp":"2018-06-11T10:35:13.000+00:00"},{"identifier":"privacy_policy","version":1,"timestamp":"2018-06-11T10:26:00.000+00:00"}]


Con parametri limit e starting_after (paginazione):

$req = curl_init();
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/legal_notices/privacy_policy?limit=3&starting_after=4');
curl_setopt($req, CURLOPT_HTTPHEADER, array(
    'ApiKey: your-secret-api-key',
    'Content-Type: application/json'
));

$response = curl_exec($req);



Risposta

[{"identifier":"privacy_policy","version":3,"timestamp":"2018-06-11T10:35:15.000+00:00"},{"identifier":"privacy_policy","version":2,"timestamp":"2018-06-11T10:35:13.000+00:00"},{"identifier":"privacy_policy","version":1,"timestamp":"2018-06-11T10:26:00.000+00:00"}]