API DESCANSO

Dos endpoints públicos, sin autenticación requerida (el siteId sirve como clave). Servidos bajo tu instancia Palladium.

GET /api/consent/{siteId}

Devuelve la configuración del banner (textos, colores, categorías, cookies, logo). Llamado automáticamente por palladium.js al cargar.

Ajustes

siteIdPathIdentificador del dominio.langQuery (opcional)Código BCP-47 preferido del visitante.Accept-LanguageHeaderUsado como respaldo si lang está ausente.
ConfiguraciónPosiciónDescripción

Códigos de respuesta

200Configuración servida.404 site_not_foundsiteId desconocido.403 domain_pausedDominio en pausa en la consola.403 origin_mismatchHostname de la petición ≠ el registrado.429Límite de tasa alcanzado (60 req/min/IP).
CódigoSignificado

POST /api/consent

Registra la decisión del visitante. Llamado por palladium.js tras Aceptar / Rechazar / Guardar.

Cuerpo

{
  "siteId":      "plm_a9f4e2c7b3",
  "consentId":   "abcd1234",
  "acceptedAll": true,
  "preferences": true,
  "statistics":  true,
  "marketing":   true,
  "userAgent":   "Mozilla/5.0 …"
}

Almacenamiento

El servidor deriva y almacena:

  • La marca de tiempo y el ID de consentimiento.
  • Un hash SHA-256 de la IP (nunca la IP en bruto).
  • Geolocalización anónima (país, región, ciudad) resuelta desde IP a través de ip-api.com: luego se descarta la IP.
  • El User-Agent (truncado a 500 caracteres).
CORS: ambos endpoints están abiertos a todos los orígenes (Access-Control-Allow-Origin: *) porque el snippet debe poder cargarse desde cualquier sitio registrado. La validación del origen se hace sobre el Origin recibido, no vía whitelist CORS.