Iubenda logo
Genera tus documentos

Documentación

Tabla de contenidos

Consent Database: documentación de la API HTTP

La API HTTP de la Consent Database te permite guardar y recuperar las acciones de consentimiento realizadas por tus usuarios, a los que a partir de ahora denominaremos “interesados”.

Actualización: hemos añadido un canal Beta. Aquí podrás probar todas las funciones más recientes antes de que estén disponibles en el canal Current.

Headers

Autenticación

Para escribir en la API, proporcionamos dos tipos de claves:

  • Clave pública, normalmente utilizada por la biblioteca Javascript
  • Clave privada, normalmente utilizada por la API HTTP

Todas las llamadas realizadas a la API, tanto a través de HTTP como de JS, indican si la llamada ha sido autenticada por una clave pública o privada. Las llamadas realizadas con clave privada son más fiables, ya que ofrecen una mayor certeza a la hora de verificar que los datos fueron realmente enviados por el usuario.

Para la API HTTP, la clave privada se debe enviar a través del header ApiKey. Las claves de API públicas se aceptan solo en el endpoint POST /public/consent.

Actualización: Para asegurar todas las comunicaciones entre la API REST y los clientes, se está dejando de admitir el protocolo HTTP en todas las llamadas a la API de la Consent Database. Después del 31 de enero de 2023, todas las solicitudes a las API de la Consent Database deben adherirse al protocolo HTTPS.

Content-Type

Para enviar datos a nuestra API HTTP, el header Content-Type debe establecerse en application/json o application/x-www-form-urlencoded.

❗️ La API HTTP de la Consent Database solo admite JSON con codificación UTF-8. La API devolverá el estado HTTP 400 para cualquier otro encabezado de codificación enviado con una solicitud.

API Output

Por defecto, todas las respuestas json son unescape. Recomendamos a los usuarios que hagan escape en los valores que puedan contener código HTML y/o JavaScript si los van a renderizar desde una página web para evitar ataques XSS.

❗️ Advertencia

El parámetro unescape_json, que se utilizaba para hacer unescape en la respuesta json pasando unescape_json=true a cualquier solicitud, ahora se ignora y todas las solicitudes lo consideran por defecto.

Límites al número de llamadas

De forma predeterminada, puedes realizar un máximo de 50 llamadas por segundo y 108.000 por hora. En el lado del servidor, la API responderá con “429 Too Many Requests” si se superan estos límites.

Tamaño máximo de la llamada

Hay un máximo de 1 MB por llamada. En el lado del servidor, la API responderá con “413 Request Entity Too Large” si se exceden estos límites.

LIST consents (lista de consentimientos)

Ejemplos

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

Para Beta:

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

Todos los campos son opcionales, pero algunos se completarán automáticamente si no se proporciona ningún valor.

Parámetros de consulta aceptados:

from_time opcional Cadena de caracteres Filtra los consentimientos por marca de tiempo. Devuelve todos los consentimientos a partir de ese momento (incluido). Formatos válidos: 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (marca de tiempo Unix en segundos). Default null
to_time opcional Cadena de caracteres Filtra los consentimientos por marca de tiempo. Devuelve todos los consentimientos hasta ese punto (incluido). Formatos válidos: 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (marca de tiempo Unix en segundos). Default null
source opcional Cadena de caracteres Filtra por fuente de consentimiento. Valores posibles: público, privado. Default null
ip_address opcional Cadena de caracteres Filtra por dirección IP. Default null. Formatos válidos (formato de dirección IP). De forma predeterminada ‘none’
subject_id opcional Cadena de caracteres Filtra por ID del interesado. Default null
subject_email_exact opcional Cadena de caracteres Filtra por correo electrónico del interesado. Debe coincidir exactamente (distingue entre mayúsculas y minúsculas). Default null
subject_email opcional Cadena de caracteres Filtra por correo electrónico del interesado. Coincide con la cadena parcialmente (no distingue entre mayúsculas y minúsculas). Default null Obsoleto
subject_first_name opcional Cadena de caracteres Filtra por nombre del interesado. Debe coincidir exactamente (distingue entre mayúsculas y minúsculas). Default null
subject_last_name opcional Cadena de caracteres Filtra por apellido del interesado. Debe coincidir exactamente (distingue entre mayúsculas y minúsculas). Default null
subject_full_name opcional Cadena de caracteres Filtra por nombre completo del interesado. Coincide con la cadena parcialmente (no distingue entre mayúsculas y minúsculas). Default null Obsoleto
subject_verified opcional Boolean Filtra por estado verificado del interesado. Valores posibles: verdadero, falso. Default null
preference_key opcional Cadena de caracteres Filtra por consentimientos en los que existe la clave. Default null Obsoleto
fulltext opcional Cadena de caracteres Filtra por el valor del id del interesado, first_name, last_name, full_name, email. Default null solo beta
starting_after opcional Cadena de caracteres Cursor que indica después de qué consentimiento se deben devolver los resultados (cursor excluido). Default null
limit opcional Numérico Número que indica el número de resultados devueltos. Min: 1, Max: 100. Default 10

Este método admite la paginación basada en el cursor a través del parámetro starting_after. Este parámetro toma un consentimiento existente y devuelve sus objetos.

Ten en cuenta que los resultados están ordenados de forma predeterminada por marca de tiempo descendente.

Algunos campos están obsoletos y es posible que no funcionen. Desaconsejamos su uso, ya que podríamos eliminar el soporte en el futuro.

Respuesta:

# 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
    }
  }
]

Este método no incluye las pruebas ni los avisos legales del consentimiento. Debes llamar a GET /consent/:id para obtener el evento de consentimiento completo.

GET consent

Ejemplos

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

Para 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
}

Además de las propiedades descritas anteriormente:

id Identificador único del evento de consentimiento específico
owner Identificador único del titular de la clave API
source private public Aclara si el consentimiento se envió con API pública o privada

CREATE consent

Ejemplos

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

Para 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"
}

Esta llamada publicará un nuevo consentimiento.

La respuesta es la siguiente:

# 200 OK
{
  "id": "de801ca9-abec-45e2-8f7c-729822cfffad",
  "timestamp": "2018-05-04T14:52:26Z",
  "subject_id": "testsubject"
}
timestamp se completa automáticamente si no se proporciona Cadena de caracteres Timestamp ISO 8601 del momento en que se produjo el consentimiento
subject Objeto
id se completa automáticamente si no se proporciona Cadena de caracteres
email Cadena de caracteres
first_name Cadena de caracteres
last_name Cadena de caracteres
full_name Cadena de caracteres
verified Boolean Campo reservado que indica si un interesado está verificado, por ejemplo, mediante el método de suscripción doble
legal_notices Array Array de objetos que contienen datos de avisos legales
identifier Cadena de caracteres privacy_policy, cookie_policy, term o un identificador personalizado
version se completa automáticamente si no se proporciona Cadena de caracteres
proofs Array Array de objetos que contienen datos de las pruebas
content Texto
form Texto
preferences Objeto Conjunto de pares clave-valor con las preferencias del usuario para la acción de consentimiento
ip_address se completa automáticamente si se usa ‘autodetect_ip_address’ Cadena de caracteres Solo se considera cuando se usa una clave “privada”. Guarda la dirección IP transmitida en el Consentimiento. Default null
autodetect_ip_address Default ‘true’ Cadena de caracteres Solo se considera cuando se usa una clave “pública”. Habilita o deshabilita (verdadero, falso) la detección automática de direcciones IP. Default true

LAST consent

Ejemplos

Para Beta:

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

El método Last Consent devuelve el último consentimiento creado al interesado.

La respuesta es la siguiente:

# 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
}

Interesados

LIST subjects (lista de los interesados)

Ejemplos

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

Para Beta:

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

Todos los campos son opcionales, pero algunos se completarán automáticamente si no se proporciona ningún valor.

Parámetros de consulta aceptados:

id opcional Cadena de caracteres Filtra por id. Debe coincidir exactamente. Default null
email_exact opcional Cadena de caracteres Filtra por correo electrónico. Debe coincidir exactamente (distingue entre mayúsculas y minúsculas). Default null
email opcional Cadena de caracteres Filtra por correo electrónico. Coincide parcialmente con la cadena de caracteres (no distingue entre mayúsculas y minúsculas). Obsoleto
first_name opcional Cadena de caracteres Filtra por nombre. Debe coincidir exactamente (distingue entre mayúsculas y minúsculas). Default null
last_name opcional Cadena de caracteres Filtra por apellido. Debe coincidir exactamente (distingue entre mayúsculas y minúsculas). Default null
full_name opcional Cadena de caracteres Filtra por nombre completo. Coincide parcialmente con la cadena de caracteres (no distingue entre mayúsculas y minúsculas). Obsoleto
from_time opcional Cadena de caracteres Filtra los interesados por marca de tiempo. Devuelve todos los interesados a partir de ese momento (incluido). Formatos válidos: 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (marca de tiempo Unix en segundos). Default null
to_time opcional Cadena de caracteres Filtra los interesados por marca de tiempo. Devuelve todos los interesados hasta ese punto (incluido). Formatos válidos: 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (marca de tiempo Unix en segundos). Default null
verified opcional Boolean Filtra por estado verificado. Valores posibles: verdadero, falso. Default null
fulltext opcional Cadena de caracteres Filtra los resultados con el valor proporcionado en id, first_name, last_name, full_name, email. Default null
starting_after opcional Cadena de caracteres Cursor que indica después de qué interesado se deben devolver los resultados (cursor excluido). Default null
limit opcional Numérico Número que indica el número de resultados devueltos. Min: 1, Max: 101. Default 10

Este método admite la paginación basada en el cursor a través del parámetro starting_after. Este parámetro toma un interesado existente y devuelve sus objetos.

Respuesta:

# 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"
  }
]

Algunos campos están obsoletos y es posible que no funcionen. Desaconsejamos su uso, ya que podríamos eliminar el soporte en el futuro.

GET subjects

Ejemplos

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

Para 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"
    }
  }
}

CREATE subjects

Ejemplos

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

Para 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
}

Este método publicará un nuevo interesado. También se puede utilizar desde consent. Consulta la referencia dentro del método de consent para obtener más detalles.

id se completa automáticamente si no se proporciona Cadena de caracteres
email opcional Cadena de caracteres
first_name opcional Cadena de caracteres
last_name opcional Cadena de caracteres
full_name opcional Cadena de caracteres
verified opcional Boolean Campo reservado que indica si un interesado está verificado, por ejemplo, mediante el método de suscripción doble
Próximamente
custom_attributes opcional Objeto Un conjunto de pares clave-valor que contienen atributos personalizados.

La respuesta es la siguiente:

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

UPDATE subjects

Ejemplos

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

Para Beta:

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

Esta llamada actualizará un interesado existente.

La respuesta es la siguiente:

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

Avisos legales

LIST Legal Notices (lista de los avisos legales)

Ejemplos

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

Para Beta:

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

Los documentos se ordenan por marca de tiempo.

Todos los campos son opcionales, pero algunos se completarán automáticamente si no se proporciona ningún valor.

Parámetros de consulta aceptados:

id opcional Cadena de caracteres Filtra por id. Debe coincidir exactamente. Default null
identifier opcional Cadena de caracteres Filtra por identificador. Debe coincidir exactamente (distingue entre mayúsculas y minúsculas). Default null
version opcional Numérico Filtra por versión. Debe coincidir exactamente. Default null
language opcional Cadena de caracteres Filtra por avisos legales en un idioma específico (utilizando una forma abreviada como “en”, “es”, etc.). Default null
from_time opcional Cadena de caracteres Filtra los avisos legales por marca de tiempo. Devuelve todos los avisos legales a partir de ese momento (inclusive). Formatos válidos: 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (marca de tiempo Unix en segundos). Default null
to_time opcional Cadena de caracteres Filtra los avisos legales por marca de tiempo. Devuelve todos los avisos legales hasta ese punto (incluido). Formatos válidos: 2018-02-22 00:40:00 UTC, 2018-02-22T00:40:00Z (ISO 8601), 1519260000 (marca de tiempo Unix en segundos). Default null
starting_after_version opcional Numérico Cursor que indica después de qué versión del aviso legal se deben devolver los resultados (cursor excluido). Default null
starting_after_identifier opcional Cadena de caracteres Cursor que indica después de qué identificador del aviso legal se deben devolver los resultados (cursor excluido). Default null
limit opcional Numérico Número que indica el número de resultados devueltos. Min: 1, Max: 101. Default 10

Este método admite la paginación basada en el cursor a través de los parámetros starting_after_version y starting_after_identifier. Estos parámetros toman un aviso legal existente y devuelven sus objetos. Ambos parámetros son necesarios para paginar.

Respuesta:

# 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 (versión del aviso legal)

Ejemplos

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

Para Beta:

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

Respuesta:

# 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 (versiones de todos los avisos legales)

Ejemplos

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

Para Beta:

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

Los documentos se ordenan por versión.

Parámetros de consulta aceptados:

limit opcional Número Limita la cantidad de resultados. Default 10
starting_after opcional Número Cursor para uso en paginación. Default null

Este método admite la paginación basada en el cursor a través del parámetro starting_after. Este parámetro toma una versión del aviso legal existente y devuelve los objetos en orden inverso.

# 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"
  }
]

Nota, este método no incluye el contenido del aviso legal, solo los metadatos de cada uno de ellos. Tienes que llamar a GET /legal_notices/:identifier/:version para obtener el documento completo.

Si utilizas iubenda para tus documentos legales, actualizaremos automáticamente el contenido del método legal_notices cada vez que se modifiquen tus documentos legales. Puedes obtener más información sobre cómo habilitar esta función aquí.

CREATE a Legal Notice (crea un aviso legal)

Ejemplos

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

Para Beta:

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

Con contenido en varios idiomas:

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

Respuesta:

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

CREATE multiple Legal Notices (crea varios avisos legales)

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

Para 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"
  }
]

Respuesta:

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

Ejemplos

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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Interesados

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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Con parámetros de límite y paginación:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Respuesta:


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

Con parámetros de límite y paginación:


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

Respuesta:


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

Más información