Ir al contenido

Declaración de cookies embebible

La declaración de cookies es una tabla con las cookies detectadas en tu sitio — nombre, dominio, proveedor, propósito, duración y tipo — agrupadas por categoría. Se genera automáticamente a partir del último escaneo de tu sitio y se actualiza sola después de cada escaneo: no hay que republicar nada.

Publicarla dentro de tu política de privacidad cubre el deber de informar al titular qué cookies usa el sitio (Ley 21.719 art. 14, GDPR art. 13).

En el dashboard, la sección Cookies (/dashboard/cookies) incluye la tarjeta “Declaración de cookies” con un preview del widget y los dos snippets listos para copiar con tu Site ID real. Visible para los roles admin y DPO.

Opción 1 — Widget (script + custom element)

Sección titulada «Opción 1 — Widget (script + custom element)»

Pegá esto donde quieras que aparezca la tabla (por ejemplo, en la página de tu política de privacidad):

<cookie-declaration
data-site-id="TU-SITE-ID"
data-api-base="https://api.cookycmp.com"
></cookie-declaration>
<script src="https://api.cookycmp.com/cookie-declaration.js" defer></script>

Atributos del elemento <cookie-declaration>:

AtributoRequeridoDescripción
data-site-idUUID del sitio.
data-api-baseNoURL base del API. Por defecto https://api.cookycmp.com.
data-langNoIdioma del widget. Si falta, usa el lang del documento; por defecto es.

El script es JavaScript puro, sin frameworks ni dependencias, con tabla accesible (WCAG 2.2 AA).

Para CMS que no permiten JavaScript externo:

<iframe
src="https://api.cookycmp.com/v1/declaration/TU-SITE-ID/embed"
title="Declaración de cookies"
loading="lazy"
style="width:100%;min-height:600px;border:0"
></iframe>

El iframe sirve un HTML autocontenido (CSS inline, sin scripts) con la misma tabla, y respeta el modo claro/oscuro del visitante.

Opción 3 — JSON (para integraciones propias)

Sección titulada «Opción 3 — JSON (para integraciones propias)»

Si querés renderizar la tabla con tu propio código, el endpoint público devuelve los datos en JSON:

GET https://api.cookycmp.com/v1/declaration/TU-SITE-ID

Respuesta:

{
"siteId": "",
"lastScanAt": "2026-07-30T12:00:00.000Z",
"categories": [
{
"id": "analytics",
"label": "",
"description": "",
"cookies": [
{
"name": "_ga",
"domain": "",
"vendor": "",
"purpose": "",
"duration": "",
"type": "persistent"
}
]
}
]
}

Si el sitio todavía no fue escaneado, responde 200 con categories: [] y lastScanAt: null. Si el Site ID no existe, responde 404 { "error": "site_not_found" }.

  • Sin autenticación — los tres formatos son públicos; la respuesta nunca expone datos del tenant, solo el Site ID.
  • Rate limit: 60 solicitudes por minuto por IP. Al superarlo, 429 con header Retry-After.
  • Caché: las respuestas se cachean 5 minutos y usan ETag (basado en el último escaneo), así que el widget solo descarga datos cuando hay un escaneo nuevo.
  • Las cookies que dejaron de detectarse en el último escaneo pueden mostrarse marcadas como “no detectada en el último escaneo” según la configuración de tu sitio.