Iubenda logo
Générer dès maintenant

Documentation

Sommaire

Consent Database – Documentation de l’API via HTTP

L’API HTTP de la Consent Database vous permet d’enregistrer et de récupérer les actions de consentement réalisées par vos utilisateurs – appelés « personnes concernées » dans la solution.

Mise à jour : nous avons maintenant ajouté un canal Beta. Vous pourrez y tester toutes les dernières fonctionnalités avant leur migration vers le canal Current.

Headers

Authentification

Pour pouvoir écrire dans l’API, nous fournissons deux types de clés :

  • Une clé publique, utilisée habituellement par la bibliothèque JavaScript
  • Une clé privée, utilisée habituellement par l’API HTTP

Tous les appels vers l’API, que ce soit via HTTP ou via JS, précisent si l’appel a été authentifié par une clé publique ou par une clé privée. De cette manière, vous savez reconnaître les appels provenant de la clé privée, plus fiables pour vérifier que c’est bien vous qui avez envoyé les données.

Pour l’API HTTP, la clé privée doit être envoyée via le header ApiKey. Les clés API publiques ne sont acceptées que sur le point terminal POST /public/consent.

Mise à jour : pour sécuriser toutes les communications entre les API REST et les clients, la compatibilité avec le protocole HTTP est abandonnée pour tous les appels API de la Consent Database. Après le 31 janvier 2023, toutes les requêtes vers les API de la Consent Database devront adhérer au protocole HTTPS.

Content-Type

Pour pouvoir envoyer des données à notre API HTTP, le header Content-Type doit être configuré sur application/json ou sur application/x-www-form-urlencoded.

❗️ Les API via HTTP de la Consent Database sont compatibles uniquement avec le JSON encodé UTF-8. Les API renverront un code de statut de réponse HTTP 400 pour toute autre rubrique encodée envoyée avec une requête.

Données de sortie API

Par défaut, toutes les réponses json sont automatiquement échappées. Nous recommandons aux utilisateurs d’éviter les valeurs qui pourraient contenir du code HTML et/ou JavaScript s’ils vont les utiliser avec une page web afin d’éviter des attaques XSS.

❗️ Avertissement

Le paramètre unescape_json, qui a été utilisé pour déprotéger la réponse json en passant unescape_json=true à toute requête, est désormais ignoré et chaque requête le considère par défaut.

Limitation du nombre de demandes

Par défaut, vous pouvez exécuter au maximum 50 demandes par seconde, et 108 000 par heure. Au-delà de ces limites, l’API répond par le message « 429 Too Many Requests ».

Limitation de la taille des demandes

Le maximum par appel est de 1MB. Au-delà de ces limites, l’API répond par le message « 413 Request Entity Too Large ».

LIST consents : lister les consentements

Exemples

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

Pour Beta :

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

Bien que tous les champs soient facultatifs, certains sont remplis automatiquement si vous ne le faites pas.

Paramètres de requête acceptés :

facultatif facultatif Booléen
from_timefacultatifChaîne de caractères Filtre par horodatage des consentements. Restitue tous les consentements à partir de la date et de l’heure spécifiées (incluses). Formats acceptés : 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (horodatage unix en secondes). Par défaut : null
to_timefacultatifChaîne de caractères Filtre par horodatage des consentements. Restitue tous les consentements jusqu’à la date et l’heure spécifiées (incluses). Formats acceptés : 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (horodatage unix en secondes). Par défaut : null
sourcefacultatifChaîne de caractères Filtre par source de consentement. Valeurs possibles : public, privé. Par défaut : null
ip_addressfacultatifChaîne de caractères Filtre par adresse IP. Par défaut : null Formats acceptés (format d’adresse IP). Par défaut : none
consent_typefacultatifChaîne de caractères Filtre par type de consentement. Si cette valeur n’est pas transmise, tous les consentements sont restitués. Valeurs possibles : cookie_policy, null. Par défaut : pas de transmission
subject_idfacultatifChaîne de caractères Filtre par ID des Personnes concernées. Par défaut : null
subject_email_exactfacultatifChaîne de caractères Filtre par adresse e-mail des Personnes concernées. La correspondance doit être exacte (en respectant la casse). Par défaut : null
subject_emailfacultatifChaîne de caractères Filtre par adresse e-mail des Personnes concernées. Correspondance partielle (non sensible à la casse). Par défaut : null déclassé
subject_first_namefacultatifChaîne de caractères Filtre par prénom des Personnes concernées. La correspondance doit être exacte (en respectant la casse). Par défaut : null
subject_last_namefacultatifChaîne de caractères Filtre par nom des Personnes concernées. La correspondance doit être exacte (en respectant la casse). Par défaut : null
subject_full_namefacultatufChaîne de caractères Filtre par nom complet des Personnes concernées. Correspondance partielle (non sensible à la casse). Par défaut : null déclassé
subject_verifiedfacultatifBooléen Filtre par statut vérifié des Personnes concernées. Valeurs possibles : true, false. Par défaut : null
preference_keyfacultatifChaîne de caractères Filtre les consentements pour il existe une clé donnée. Par défaut : null déclassé
starting_afterfacultatifChaîne de caractères Curseur marquant le consentement après lequel les consentements doivent être restitués (curseur exclu). Par défaut : null
limitfacultatifNumérique Indique le nombre de résultats restitués. Min : 1, Max : 100. Par défaut : 10

Cette méthode utilise la pagination basée sur un curseur via le paramètre starting_after, qui part d’un consentement existant et restitue les objets suivants.

N’oubliez pas que les résultats sont classés par défaut par horodatage décroissant.

Certains champs ont été déclassés et pourraient ne pas donner les résultats escomptés. Dans la mesure ou nous sommes susceptibles de les exclure de l’assistance, nous déconseillons de les utiliser.

Réponse :

# 200 OK
[{
    "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
    }
  }
]

Notez également que cette méthode n’inclut pas les preuves et les informations légales concernant le consentement. Pour obtenir l’événement de consentement complet, appelez GET /consent/:id.

GET consent : trouver un consentement

Exemples

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

Pour Beta :

GET https://consent.iubenda.com/beta/consent/:id
# 200 OK
{
  "id": "de801ca9-abec-45e2-8f7c-729822cfffad",
  "timestamp": "2018-05-04T14:52:26Z",
  "checksum": "336dd0c5ee2253794b8cca6ee2b2fec835ab25a7097c4405014d02e4ffe4d5e5",
  "owner": "1",
  "subject": {
    "id": "custom_subject_id",
    "owner_id": "1",
    "email": "subject@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "verified": false
  },
  "preferences": {
    "privacy_policy": true,
    "newsletter": false
  },
  "legal_notices": [
    {
      "identifier": "privacy_policy",
      "version": 123
    },
    {
      "identifier": "term",
      "version": 123
    }
  ],
  "proofs": [
    {
      "content": "proof_1",
      "form": "proof_1 form"
    },
    {
      "content": "proof_2",
      "form": "proof_2 form"
    }
  ],
  "ip_address": null
}

Outre les propriétés précédemment présentées :

idIdentifiant unique de l’événement de consentement spécifique
ownerIdentifiant unique du propriétaire de la clé API
sourceprivéepubliquePrécise si le consentement a été enregistré à partir de la clé API publique ou privée.

CREATE consent : définir un consentement

Exemples

POST https://consent.iubenda.com/consent

Pour Beta :

POST https://consent.iubenda.com/beta/consent
{
  "subject": {
    "id": "testsubject",
    "email": "subject@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "verified": false
  },
  "legal_notices": [
    {
      "identifier": "privacy_policy",
      "version": 123
    },
    {
      "identifier": "term",
      "version": 123
    }
  ],
  "proofs": [
    {
      "content": "proof_1",
      "form": "proof_1 form"
    },
    {
      "content": "proof_2",
      "form": "proof_2 form"
    }
  ],
  "preferences": {
    "newsletter": false,
    "privacy_policy": true
  },
  "ip_address": "127.0.0.1"
}

Cet appel créera un nouveau consentement.

La réponse se présente ainsi :

# 200 OK
{
  "id": "de801ca9-abec-45e2-8f7c-729822cfffad",
  "timestamp": "2018-05-04T14:52:26Z",
  "subject_id": "testsubject"
}
timestamprempli automatiquement si non préciséChaîne de caractèresHorodatage ISO 8601 marquant le moment du consentement
subjectobjet
idrempli automatiquement si non préciséChaîne de caractères
emailChaîne de caractères
first_nameChaîne de caractères
last_nameChaîne de caractères
full_nameChaîne de caractères
verifiedBooléenChamp réservé, utilisé pour indiquer si le consentement d’une personne concernée a été vérifié, par exemple par double confirmation.
legal_noticesTableauTableau regroupant les objets contenant les données legal_notices
identifierChaîne de caractèresprivacy_policy, cookie_policy, un terme ou un identifiant personnalisé
versionrempli automatiquement si non préciséChaîne de caractères
proofsTableauTableau regroupant les objets contenant les données relatives aux preuves
contentTexte
formTexte
preferencesObjetEnsemble de paires clé-valeur contenant les préférences de l’utilisateur concernant l’acte de consentement
ip_addressrempli automatiquement si vous utilisez « autodetect_ip_address »Chaîne de caractères Pris en compte uniquement lorsqu’une clé « privée » est utilisée. Sauvegarde dans le Consentement l’adresse IP transmise. Par défaut : null
autodetect_ip_addressPar défaut : true`Chaîne de caractèresing Pris en compte uniquement lorsqu’une clé « publique » est utilisée. Active ou désactive (true, false) l’autodétection de l’adresse IP. Par défaut : true

LAST consent

Exemples

Pour Beta:

GET https://consent.iubenda.com/beta/subjects/:id/consent/last

La méthode Last Consent renvoie le dernier consentement créé pour la personne concernée en particulier.

La réponse est la suivante :

# 200 OK
{
  "id": "de801ca9-abec-45e2-8f7c-729822cfffad",
  "timestamp": "2018-05-04T14:52:26Z",
  "checksum": "336dd0c5ee2253794b8cca6ee2b2fec835ab25a7097c4405014d02e4ffe4d5e5",
  "owner": "1",
  "subject": {
    "id": "custom_subject_id",
    "owner_id": "1",
    "email": "subject@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "verified": false
  },
  "preferences": {
    "privacy_policy": true,
    "newsletter": false
  },
  "legal_notices": [
    {
      "identifier": "privacy_policy",
      "version": 123
    },
    {
      "identifier": "term",
      "version": 123
    }
  ],
  "proofs": [
    {
      "content": "proof_1",
      "form": "proof_1 form"
    },
    {
      "content": "proof_2",
      "form": "proof_2 form"
    }
  ],
  "ip_address": null
}

Personnes concernées

LIST subjects : lister les personnes concernées

Exemples

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

Pour Beta :

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

Bien que tous les champs soient facultatifs, certains sont remplis automatiquement si vous ne le faites pas.

Paramètres de requête acceptés :

facultatif facultatif
idfacultatifChaîne de caractères Filtre par id. La correspondance doit être exacte. Par défaut : null
email_exactfacultatifChaîne de caractères Filtre par e-mail. La correspondance doit être exacte (en respectant la casse). Par défaut : null
emailfacultatifChaîne de caractères Filtre par e-mail. Il correspond partiellement à la chaîne de caractères (non sensible la casse) déclassé
first_namefacultatifChaîne de caractères Filtre par prénom. La correspondance doit être exacte (en respectant la casse). Par défaut : null
last_namefacultatifChaîne de caractères Filtre par nom. La correspondance doit être exacte (en respectant la casse). Par défaut : null
full_namefacutlatifChaîne de caractères Filtre par le nom complet. Il correspond partiellement à la chaîne de caractères (non sensible la casse) déclassé
from_timefacultatifChaîne de caractères Filtre les personnes concernées en fonction de l’horodatage. Restitue toutes les personnes concernées à partir de la date et de l’heure indiquées (incluses). Formats acceptés : 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (horodatage unix en secondes). Par défaut : null
to_timefacultatifChaîne de caractères Filtre les personnes concernées en fonction de l’horodatage. Restitue toutes les personnes concernées jusqu’à la date et l’heure indiquées (incluses). Formats acceptés : 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (horodatage unix en secondes). Par défaut : null
verifiedfacultatifBooléen Filtre par statut vérifié de la personne concernée. Valeurs possibles : true, false. Par défaut : null
starting_afterfacultatifChaîne de caractères Curseur marquant la personne concernée après laquelle les résultats doivent être restitués (curseur exclu). Par défaut : null
limitfacultatifNumérique Indique le nombre de résultats restitués. Min : 1, Max : 101. Par défaut : 10

Cette méthode utilise la pagination basée sur un curseur via le paramètre starting_after, Qui part d’une personne concernée donnée et restitue les objets suivants.

Réponse :

# 200 OK
[
  {
    "id": "d2a55da5-0777-4625-94bd-b69948703e71",
    "owner_id": "131132",
    "email": "rath.jorge@example.com",
    "first_name": "Jorge",
    "last_name": "Rath",
    "full_name": "Jorge Rath",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
  },
  {
    "id": "b75c6d0c-550f-4f84-9e92-2f351d481220",
    "owner_id": "131132",
    "email": "aufderhar_alfonso@example.net",
    "first_name": "Alfonso",
    "last_name": "Aufderhar",
    "full_name": "Alfonso Aufderhar",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
  },
  {
    "id": "a9c8c720-cb07-4a52-81c3-7cb7fb4f877e",
    "owner_id": "131132",
    "email": "vandervort.furman@example.net",
    "first_name": "Furman",
    "last_name": "Vandervort",
    "full_name": "Furman Vandervort",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
  },
  {
    "id": "6ccc2802-3bcb-49af-a4c5-14dc89ba94bc",
    "owner_id": "131132",
    "email": "alvis.rohan@example.org",
    "first_name": "Alvis",
    "last_name": "Rohan",
    "full_name": "Alvis Rohan",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
  },
  {
    "id": "5900f856-619e-42b0-92a5-b2ebd016ac01",
    "owner_id": "131132",
    "email": "brown.marlee@example.net",
    "first_name": "Marlee",
    "last_name": "Brown",
    "full_name": "Marlee Brown",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
  }
]

Certains champs sont déclassés et peuvent ne pas être performants. Nous décourageons leur utilisation, car nous pourrions en abandonner le support à l’avenir.

TROUVER les personnes concernées

Exemples

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

Pour Beta :

GET https://consent.iubenda.com/beta/subjects/:id
# 200 OK
{
  "id": "testsubject",
  "owner_id": "1",
  "email": "subject@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "verified": false,
  "preferences": {
    "privacy_policy": {
      "value": true,
      "consent_id": "de801ca9-abec-45e2-8f7c-729822cfffad"
    },
    "newsletter": {
      "value": true,
      "consent_id": "de801ca9-abec-45e2-8f7c-729822cfffad"
    }
  }
}

DÊFINIR les personnes concernées

Exemples

POST https://consent.iubenda.com/subjects

Pour Beta :

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

Cette méthode crée une nouvelle personne concernée. Elle peut également être utilisée depuisconsent. Pour plus de détails, référez-vous aux informations concernant la méthode consent.

idrempli automatiquement si non préciséChaîne de caractères
emailfacultatifChaîne de caractères
first_namefacultatifChaîne de caractères
last_namefacultatifChaîne de caractères
full_namefacutlatifChaîne de caractères
verifiedfacultatifBooléenChamp réservé, utilisé pour indiquer si le consentement d’une personne concernée a été vérifié, par exemple par double confirmation
À venir
custom_attributesfacultatifObjetEnsemble de paires clé-valeur contenant des attributs personnalisés

La réponse se présente ainsi :

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

MISE À JOUR des personnes concernées

Exemples

PUT|PATCH https://consent.iubenda.com/subjects/:id

Pour Beta :

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

Cet appel mettra à jour une personne concernée existante.

La réponse se présente ainsi :

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

Informations légales

LISTER les informations légales

Exemples

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

Pour Beta :

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

Les documents sont renvoyés suivant l’ordre de l’horodatage.

Bien que tous les champs soient facultatifs, certains sont remplis automatiquement si vous ne le faites pas.

Paramètres de requête acceptés :

facultatif facultatif
idfacultatifChaîne de caractères Filtre par id. La correspondance doit être exacte. Par défaut : null
identifierfacultatifChaîne de caractères Filtre par identifiant. La correspondance doit être exacte (en respectant la casse). Par défaut : null
versionfacultatifNumerique Filtre par version. La correspondance doit être exacte. Par défaut : null
languagefacultatifChaîne de caractères Filtre par information légale contenant la langue indiquée (en format court, p. ex. « en », « it », etc.). Par défaut : null
from_timefacultatifChaîne de caractères Filtre des informations légales en fonction de l’horodatage. Restitue toutes les informations légales à partir de cette date et de cette heure (incluses). Formats acceptés : 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (horodatage unix en secondes). Par défaut : null
to_timefacultatifChaîne de caractères Filtre des informations légales en fonction de l’horodatage. Restitue toutes les informations légales jusqu’à cette date et cette heure (incluses). Formats acceptés : 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (horodatage unix en secondes). Par défaut : null
starting_after_versionfacultatifNumerique Curseur marquant la version de l’Information légale après laquelle les résultats doivent être restitués (curseur exclu). Par défaut : null
starting_after_identifierfacultatifChaîne de caractères Curseur marquant l’identifiant d’Information légale après lequel les résultats doivent être restitués (curseur exclu). Par défaut : null
limitfacultatifNumérique Indique le nombre de résultats restitués. Min : 1, Max : 101. Par défaut : 10

Cette méthode utilise la pagination basée sur un curseur via les starting_after_version et les parametres starting_after_identifier. qui partent d’une Information légale donnée et restituent les objets suivants. Les deux sont nécessaires pour pouvoir paginer.

Réponse :

# 200 OK

[
  {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 20,
    "timestamp": "2018-10-09T12:38:04Z",
    "content": {
      "en": "Et vinculum clam decerno arguo admoveo velum sponte tot suppellex venustas defendo dolor decumbo est.",
      "it": "Collum tutis esse confugo porro urbs varius abscido turpis decor praesentium tardus voluptate fugit numquam."
    }
  },
  {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 19,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Venia valde vel surculus capitulus adfectus patior comparo acsi cur vero super cursim.",
      "it": "Consuasor arcesso conscendo crudelis cauda aer aut adeptio illo argentum comis subiungo subito colo."
    }
  },
  {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 18,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Ullus voco aufero speculum fugiat audacia laboriosam vilicus amita trans aut ut.",
      "it": "Alo veritatis ipsa tristis cuius occaecati adflicto creta verecundia facere solvo despirmatio cupiditate crinis aqua bos."
    }
  },
  {
    "id": "0_privacy_policy",
    "owner_id": "0",
    "identifier": "privacy_policy",
    "version": 17,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Confero succedo caelum adhaero quo vir deorsum quaerat utor sit ustulo cribro.",
      "it": "Bibo cubitum unus est ambitus contego apparatus alo via abutor utroque xiphias voco."
    }
  },
  {
    "id": "0_privacy_policy",
    "owner_id": "0",
    "identifier": "privacy_policy",
    "version": 16,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Qui porro culpo attero benevolentia aut sed sulum adfero artificiose adsidue tam amo validus vel spectaculum.",
      "it": "Cerno ipsum fugit compello cursim ter surgo asporto debilito excepturi adversus facere."
    }
  },
  {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 15,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Tunc timidus veritatis maiores advenio aperio testimonium defluo celo cuius adsuesco deripio.",
      "it": "Depulso dignissimos vinitor curatio caelestis cedo et sum concedo id admoneo appositus."
    }
  },
  {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 14,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Repellat mollitia desidero videlicet est textilis stips nisi aequus solum depromo agnitio usus.",
      "it": "Vomito tonsor comitatus illum aut usitas laboriosam canonicus tepesco benigne confugo trado."
    }
  },
  {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 13,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Temperantia alias somniculosus absorbeo utique caecus terror demitto trucido desidero baiulus sublime.",
      "it": "Perspiciatis at tredecim curriculum comprehendo deduco corrupti attonbitus barba cruentus communis comparo thorax cauda spero vito anser."
    }
  },
  {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 12,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Allatus cena surculus ventito ver adversus torrens demo venustas toties veritas qui cado vis.",
      "it": "Talio avoco aptus compono et subiungo peior bellum depromo aureus torqueo adeptio nobis."
    }
  },
  {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 11,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
      "en": "Aliquam cubicularis tergum utor cinis concido ratione vociferor uter deduco tertius verecundia alo claustrum sto vos aegrotatio.",
      "it": "Corona ut comes sub coaegresco caute casus laboriosam tremo vulariter aegrotatio pauci callide assentator basium."
    }
  }
]

GET a Legal Notice version : trouver une version donnée des Informations légales

Exemples

GET https://consent.iubenda.com/legal_notices/:identifier/:version

Pour Beta :

GET https://consent.iubenda.com/beta/legal_notices/:identifier/:version

Réponse :

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

GET all Legal Notice versions : trouver toutes les versions des Informations légales

Exemples

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

Pour Beta :

GET https://consent.iubenda.com/beta/legal_notices/:identifier

Les documents sont renvoyés dans l’ordre des versions.

Paramètres de requête acceptés :

limitfacultatifNombre Limite le nombre de résultats restitués. Par défaut : 10
starting_afterfacultatifNombre Curseur à utiliser pour la pagination Par défaut : null

Cette méthode utilise la pagination basée sur un curseur via le paramètre starting_after, qui part d’une Information légale donnée et restitue les objets suivants.

# 200 OK
[
  {
    "identifier": "privacy_policy",
    "version": 3,
    "timestamp": "2018-05-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
  },
  {
    "identifier": "privacy_policy",
    "version": 2,
    "timestamp": "2018-03-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
  },
  {
    "identifier": "privacy_policy",
    "version": 1,
    "timestamp": "2018-01-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
  }
]

Notez également que cette méthode n’inclut que les métadonnées et non le contenu de chaque Information légale. Pour obtenir le document complet, appelez GET /legal_notices/:identifier/:version.

Si vous utilisez iubenda pour générer vos documents juridiques, nous nous chargeons de mettre automatiquement à jour le contenu de la legal_notices méthode legal_notices à chaque modification de vos documents. Pour savoir comment activer cette fonctionnalité, cliquez ici.

CREATE a Legal Notice : définir une Information légale

Exemples

POST https://consent.iubenda.com/legal_notices

Pour Beta :

POST https://consent.iubenda.com/beta/legal_notices
{
  "identifier": "privacy_policy",
  "content": "privacy policy content",
  "timestamp": "2018-05-16T13:55:57Z"
}

Avec un contenu multilingue :

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

Réponse :

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

CREATE multiple Legal Notices : définir plusieurs Informations légales

POST https://consent.iubenda.com/legal_notices

Pour Beta :

POST https://consent.iubenda.com/beta/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"
  }
]

Réponse :

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

Exemples

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" }], "ip_address": "127.0.0.1" }'

Réponse :


{
    "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"

Réponse :


[{
    "id": "b04c4b2b-80b7-439f-8997-ade3d35cbb95",
    "timestamp": "2018-06-04T08:11:34.000+00:00",
    "owner": "12345",
    "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
    },
    "ip_address": "79.42.49.139"
}, {
    "id": "ee6644ea-08e9-4aaa-a7a9-18602731a123",
    "timestamp": "2018-06-04T08:11:33.000+00:00",
    "owner": "12345",
    "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
    },
    "ip_address": null
}, {
    "id": "bf12770e-840a-40cd-ab79-5d88576b6b73",
    "timestamp": "2018-06-04T08:11:33.000+00:00",
    "owner": "12345",
    "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
    },
    "ip_address": "79.42.49.139"
}]
GET /consent/:id

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

Réponse :


{
    "id": "1dbbc6f8-6a57-4407-b687-d6e6f818742f",
    "timestamp": "2018-05-04T14:52:26Z",
    "owner": "1",
    "subject": {
        "id": "custom_subject_id",
        "owner_id": "1",
        "email": "subject@example.com",
        "first_name": "John",
        "last_name": "Doe",
        "verified": false
    },
    "preferences": {
        "privacy_policy": true,
        "newsletter": false
    },
    "legal_notices": [{
        "identifier": "privacy_policy",
        "version": "123.0"
    }, {
        "identifier": "term",
        "version": "123.0"
    }],
    "proofs": [{
        "content": "proof_1",
        "form": "proof_1 form"
    }, {
        "content": "proof_2",
        "form": "proof_2 form"
    }],
    "ip_address": null
}
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
    ),
    "ip_address" => "127.0.0.1"
);

$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);

Réponse :


{
    "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);

Réponse :


[{
    "id": "b04c4b2b-80b7-439f-8997-ade3d35cbb95",
    "timestamp": "2018-06-04T08:11:34.000+00:00",
    "owner": "12345",
    "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
    },
    "ip_address": "79.42.49.139"
}, {
    "id": "ee6644ea-08e9-4aaa-a7a9-18602731a123",
    "timestamp": "2018-06-04T08:11:33.000+00:00",
    "owner": "12345",
    "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
    },
    "ip_address": null
}, {
    "id": "bf12770e-840a-40cd-ab79-5d88576b6b73",
    "timestamp": "2018-06-04T08:11:33.000+00:00",
    "owner": "12345",
    "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
    },
    "ip_address": "79.42.49.139"
}]
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);

Réponse :


{
    "id": "1dbbc6f8-6a57-4407-b687-d6e6f818742f",
    "timestamp": "2018-05-04T14:52:26Z",
    "owner": "1",
    "subject": {
        "id": "custom_subject_id",
        "owner_id": "1",
        "email": "subject@example.com",
        "first_name": "John",
        "last_name": "Doe",
        "verified": false
    },
    "preferences": {
        "privacy_policy": true,
        "newsletter": false
    },
    "legal_notices": [{
        "identifier": "privacy_policy",
        "version": "123.0"
    }, {
        "identifier": "term",
        "version": "123.0"
    }],
    "proofs": [{
        "content": "proof_1",
        "form": "proof_1 form"
    }, {
        "content": "proof_2",
        "form": "proof_2 form"
    }],
    "ip_address": null
}

Personnes concernées

POST /subjects

$ 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" }'

Réponse :


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

$ curl https://consent.iubenda.com/subjects \
  -X GET \
  -H "ApiKey: your-private-api-key" \
  -H "Content-Type: application/json"

Réponse :


[{
    "id": "d2a55da5-0777-4625-94bd-b69948703e71",
    "owner_id": "131132",
    "email": "rath.jorge@example.com",
    "first_name": "Jorge",
    "last_name": "Rath",
    "full_name": "Jorge Rath",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "b75c6d0c-550f-4f84-9e92-2f351d481220",
    "owner_id": "131132",
    "email": "aufderhar_alfonso@example.net",
    "first_name": "Alfonso",
    "last_name": "Aufderhar",
    "full_name": "Alfonso Aufderhar",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "a9c8c720-cb07-4a52-81c3-7cb7fb4f877e",
    "owner_id": "131132",
    "email": "vandervort.furman@example.net",
    "first_name": "Furman",
    "last_name": "Vandervort",
    "full_name": "Furman Vandervort",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "6ccc2802-3bcb-49af-a4c5-14dc89ba94bc",
    "owner_id": "131132",
    "email": "alvis.rohan@example.org",
    "first_name": "Alvis",
    "last_name": "Rohan",
    "full_name": "Alvis Rohan",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "5900f856-619e-42b0-92a5-b2ebd016ac01",
    "owner_id": "131132",
    "email": "brown.marlee@example.net",
    "first_name": "Marlee",
    "last_name": "Brown",
    "full_name": "Marlee Brown",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}]
GET /subjects/:id

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

Réponse :


{
    "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 /subjects/: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" }'

Réponse :


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

$ curl https://consent.iubenda.com/beta/subjects \
  -X GET \
  -H "ApiKey: your-private-api-key" \
  -H "Content-Type: application/json"

Réponse :


[{
    "id": "d2a55da5-0777-4625-94bd-b69948703e71",
    "owner_id": "131132",
    "email": "rath.jorge@example.com",
    "first_name": "Jorge",
    "last_name": "Rath",
    "full_name": "Jorge Rath",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "b75c6d0c-550f-4f84-9e92-2f351d481220",
    "owner_id": "131132",
    "email": "aufderhar_alfonso@example.net",
    "first_name": "Alfonso",
    "last_name": "Aufderhar",
    "full_name": "Alfonso Aufderhar",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "a9c8c720-cb07-4a52-81c3-7cb7fb4f877e",
    "owner_id": "131132",
    "email": "vandervort.furman@example.net",
    "first_name": "Furman",
    "last_name": "Vandervort",
    "full_name": "Furman Vandervort",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "6ccc2802-3bcb-49af-a4c5-14dc89ba94bc",
    "owner_id": "131132",
    "email": "alvis.rohan@example.org",
    "first_name": "Alvis",
    "last_name": "Rohan",
    "full_name": "Alvis Rohan",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "5900f856-619e-42b0-92a5-b2ebd016ac01",
    "owner_id": "131132",
    "email": "brown.marlee@example.net",
    "first_name": "Marlee",
    "last_name": "Brown",
    "full_name": "Marlee Brown",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}]
GET /beta/subjects/:id

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

Réponse :


{
    "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 /beta/subjects/:id

$ curl https://consent.iubenda.com/beta/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" }'

Réponse :


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

$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);

Réponse :


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

$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);

Réponse :


[{
    "id": "d2a55da5-0777-4625-94bd-b69948703e71",
    "owner_id": "131132",
    "email": "rath.jorge@example.com",
    "first_name": "Jorge",
    "last_name": "Rath",
    "full_name": "Jorge Rath",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "b75c6d0c-550f-4f84-9e92-2f351d481220",
    "owner_id": "131132",
    "email": "aufderhar_alfonso@example.net",
    "first_name": "Alfonso",
    "last_name": "Aufderhar",
    "full_name": "Alfonso Aufderhar",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "a9c8c720-cb07-4a52-81c3-7cb7fb4f877e",
    "owner_id": "131132",
    "email": "vandervort.furman@example.net",
    "first_name": "Furman",
    "last_name": "Vandervort",
    "full_name": "Furman Vandervort",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "6ccc2802-3bcb-49af-a4c5-14dc89ba94bc",
    "owner_id": "131132",
    "email": "alvis.rohan@example.org",
    "first_name": "Alvis",
    "last_name": "Rohan",
    "full_name": "Alvis Rohan",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "5900f856-619e-42b0-92a5-b2ebd016ac01",
    "owner_id": "131132",
    "email": "brown.marlee@example.net",
    "first_name": "Marlee",
    "last_name": "Brown",
    "full_name": "Marlee Brown",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}]
GET /subjects/: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);

Réponse :


{
    "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 /subjects/: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);

Réponse :


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

$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/beta/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);

Réponse :


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

$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/beta/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);

Réponse :


[{
    "id": "d2a55da5-0777-4625-94bd-b69948703e71",
    "owner_id": "131132",
    "email": "rath.jorge@example.com",
    "first_name": "Jorge",
    "last_name": "Rath",
    "full_name": "Jorge Rath",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "b75c6d0c-550f-4f84-9e92-2f351d481220",
    "owner_id": "131132",
    "email": "aufderhar_alfonso@example.net",
    "first_name": "Alfonso",
    "last_name": "Aufderhar",
    "full_name": "Alfonso Aufderhar",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "a9c8c720-cb07-4a52-81c3-7cb7fb4f877e",
    "owner_id": "131132",
    "email": "vandervort.furman@example.net",
    "first_name": "Furman",
    "last_name": "Vandervort",
    "full_name": "Furman Vandervort",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "6ccc2802-3bcb-49af-a4c5-14dc89ba94bc",
    "owner_id": "131132",
    "email": "alvis.rohan@example.org",
    "first_name": "Alvis",
    "last_name": "Rohan",
    "full_name": "Alvis Rohan",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}, {
    "id": "5900f856-619e-42b0-92a5-b2ebd016ac01",
    "owner_id": "131132",
    "email": "brown.marlee@example.net",
    "first_name": "Marlee",
    "last_name": "Brown",
    "full_name": "Marlee Brown",
    "preferences": null,
    "verified": true,
    "timestamp": "2018-09-12T16:22:21+00:00"
}]
GET /beta/subjects/:id
$req = curl_init();
$req = curl_init();
curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/beta/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);

Réponse :


{
    "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 /beta/subjects/:id

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

$req = curl_init();
curl_setopt($req, CURLOPT_URL, 'https://consent.iubenda.com/beta/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);

Réponse :


{
    "id": "df39c1bf-5f27-4c3a-bf94-64360cc7e4f8",
    "timestamp": "2018-06-11T08:57:13.000+00:00"
}
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" }'

Réponse :


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

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

Réponse :


[{
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 20,
    "timestamp": "2018-10-09T12:38:04Z",
    "content": {
        "en": "Et vinculum clam decerno arguo admoveo velum sponte tot suppellex venustas defendo dolor decumbo est.",
        "it": "Collum tutis esse confugo porro urbs varius abscido turpis decor praesentium tardus voluptate fugit numquam."
    }
}, {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 19,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Venia valde vel surculus capitulus adfectus patior comparo acsi cur vero super cursim.",
        "it": "Consuasor arcesso conscendo crudelis cauda aer aut adeptio illo argentum comis subiungo subito colo."
    }
}, {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 18,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Ullus voco aufero speculum fugiat audacia laboriosam vilicus amita trans aut ut.",
        "it": "Alo veritatis ipsa tristis cuius occaecati adflicto creta verecundia facere solvo despirmatio cupiditate crinis aqua bos."
    }
}, {
    "id": "0_privacy_policy",
    "owner_id": "0",
    "identifier": "privacy_policy",
    "version": 17,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Confero succedo caelum adhaero quo vir deorsum quaerat utor sit ustulo cribro.",
        "it": "Bibo cubitum unus est ambitus contego apparatus alo via abutor utroque xiphias voco."
    }
}, {
    "id": "0_privacy_policy",
    "owner_id": "0",
    "identifier": "privacy_policy",
    "version": 16,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Qui porro culpo attero benevolentia aut sed sulum adfero artificiose adsidue tam amo validus vel spectaculum.",
        "it": "Cerno ipsum fugit compello cursim ter surgo asporto debilito excepturi adversus facere."
    }
}, {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 15,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Tunc timidus veritatis maiores advenio aperio testimonium defluo celo cuius adsuesco deripio.",
        "it": "Depulso dignissimos vinitor curatio caelestis cedo et sum concedo id admoneo appositus."
    }
}, {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 14,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Repellat mollitia desidero videlicet est textilis stips nisi aequus solum depromo agnitio usus.",
        "it": "Vomito tonsor comitatus illum aut usitas laboriosam canonicus tepesco benigne confugo trado."
    }
}, {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 13,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Temperantia alias somniculosus absorbeo utique caecus terror demitto trucido desidero baiulus sublime.",
        "it": "Perspiciatis at tredecim curriculum comprehendo deduco corrupti attonbitus barba cruentus communis comparo thorax cauda spero vito anser."
    }
}, {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 12,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Allatus cena surculus ventito ver adversus torrens demo venustas toties veritas qui cado vis.",
        "it": "Talio avoco aptus compono et subiungo peior bellum depromo aureus torqueo adeptio nobis."
    }
}, {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 11,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Aliquam cubicularis tergum utor cinis concido ratione vociferor uter deduco tertius verecundia alo claustrum sto vos aegrotatio.",
        "it": "Corona ut comes sub coaegresco caute casus laboriosam tremo vulariter aegrotatio pauci callide assentator basium."
    }
}]
GET /legal_notices/:identifier/:version

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

Réponse :


{
    "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"

Réponse :


[{
    "identifier": "privacy_policy",
    "version": 3,
    "timestamp": "2018-05-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}, {
    "identifier": "privacy_policy",
    "version": 2,
    "timestamp": "2018-03-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}, {
    "identifier": "privacy_policy",
    "version": 1,
    "timestamp": "2018-01-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}]

Avec les paramètres de limitation et de pagination :


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

Réponse :


[{
    "identifier": "privacy_policy",
    "version": 2,
    "timestamp": "2018-03-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}, {
    "identifier": "privacy_policy",
    "version": 1,
    "timestamp": "2018-01-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}]
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);

Réponse :


{
    "identifier": "privacy_policy",
    "version": 1,
    "timestamp": "2018-06-11T10:26:00.413Z"
}
GET /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);

Réponse :


[{
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 20,
    "timestamp": "2018-10-09T12:38:04Z",
    "content": {
        "en": "Et vinculum clam decerno arguo admoveo velum sponte tot suppellex venustas defendo dolor decumbo est.",
        "it": "Collum tutis esse confugo porro urbs varius abscido turpis decor praesentium tardus voluptate fugit numquam."
    }
}, {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 19,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Venia valde vel surculus capitulus adfectus patior comparo acsi cur vero super cursim.",
        "it": "Consuasor arcesso conscendo crudelis cauda aer aut adeptio illo argentum comis subiungo subito colo."
    }
}, {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 18,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Ullus voco aufero speculum fugiat audacia laboriosam vilicus amita trans aut ut.",
        "it": "Alo veritatis ipsa tristis cuius occaecati adflicto creta verecundia facere solvo despirmatio cupiditate crinis aqua bos."
    }
}, {
    "id": "0_privacy_policy",
    "owner_id": "0",
    "identifier": "privacy_policy",
    "version": 17,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Confero succedo caelum adhaero quo vir deorsum quaerat utor sit ustulo cribro.",
        "it": "Bibo cubitum unus est ambitus contego apparatus alo via abutor utroque xiphias voco."
    }
}, {
    "id": "0_privacy_policy",
    "owner_id": "0",
    "identifier": "privacy_policy",
    "version": 16,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Qui porro culpo attero benevolentia aut sed sulum adfero artificiose adsidue tam amo validus vel spectaculum.",
        "it": "Cerno ipsum fugit compello cursim ter surgo asporto debilito excepturi adversus facere."
    }
}, {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 15,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Tunc timidus veritatis maiores advenio aperio testimonium defluo celo cuius adsuesco deripio.",
        "it": "Depulso dignissimos vinitor curatio caelestis cedo et sum concedo id admoneo appositus."
    }
}, {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 14,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Repellat mollitia desidero videlicet est textilis stips nisi aequus solum depromo agnitio usus.",
        "it": "Vomito tonsor comitatus illum aut usitas laboriosam canonicus tepesco benigne confugo trado."
    }
}, {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 13,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Temperantia alias somniculosus absorbeo utique caecus terror demitto trucido desidero baiulus sublime.",
        "it": "Perspiciatis at tredecim curriculum comprehendo deduco corrupti attonbitus barba cruentus communis comparo thorax cauda spero vito anser."
    }
}, {
    "id": "0_cookie_policy",
    "owner_id": "0",
    "identifier": "cookie_policy",
    "version": 12,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Allatus cena surculus ventito ver adversus torrens demo venustas toties veritas qui cado vis.",
        "it": "Talio avoco aptus compono et subiungo peior bellum depromo aureus torqueo adeptio nobis."
    }
}, {
    "id": "0_term",
    "owner_id": "0",
    "identifier": "term",
    "version": 11,
    "timestamp": "2018-10-09T12:38:03Z",
    "content": {
        "en": "Aliquam cubicularis tergum utor cinis concido ratione vociferor uter deduco tertius verecundia alo claustrum sto vos aegrotatio.",
        "it": "Corona ut comes sub coaegresco caute casus laboriosam tremo vulariter aegrotatio pauci callide assentator basium."
    }
}]
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);

Réponse :


{
    "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);

Réponse :


[{
    "identifier": "privacy_policy",
    "version": 3,
    "timestamp": "2018-05-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}, {
    "identifier": "privacy_policy",
    "version": 2,
    "timestamp": "2018-03-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}, {
    "identifier": "privacy_policy",
    "version": 1,
    "timestamp": "2018-01-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}]

Avec les paramètres de limitation et de pagination :


$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);

Réponse :


[{
    "identifier": "privacy_policy",
    "version": 2,
    "timestamp": "2018-03-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}, {
    "identifier": "privacy_policy",
    "version": 1,
    "timestamp": "2018-01-16T13:55:57Z",
    "id": "1234_privacy_policy",
    "owner_id": "1234",
    "content": "privacy policy content"
}]

Voir aussi