Desarrolladores
Esta sección está diseñada para ayudarte a integrar, personalizar y extender las funcionalidades de Lawwwing de manera eficiente y segura. Aquí encontrarás referencias de API, ejemplos de código y buenas prácticas para aprovechar al máximo nuestra plataforma.
Si estás buscando una guía básica para comenzar con la implementación predeterminada de Lawwwing, puedes consultarla aquí.
En esta sección se documenta nuestro SDK, el cual te permitirá crear implementaciones personalizadas del banner de consentimiento y el control de cookies. También se describen las opciones disponibles para realizar sobreescrituras manuales de los mecanismos automatizados del banner de consentimiento.
Importante: Para que el SDK funcione correctamente, es necesario que el script de Lawwwing esté integrado en tu sitio web.
Puedes integrar el script de Lawwwing de la siguiente manera:
<!-- Lawwwing plugin for https://your-web.com -->
<script src="https://cdn.lawwwing.com/widgets/current/<your-client-id>/cookie-widget.min.js" type="text/javascript" data-lwid="<your-client-id>"></script>
Este código es únicamente un ejemplo; encontrarás el tuyo dentro de tu panel de control.
Una vez cargado, el script genera un objeto JavaScript en el cliente llamado Lawwwing, que expone las siguientes propiedades, métodos públicos, eventos para facilitar una integración avanzada.
Eventos personalizados
lawwwing:consent:ready
Evento que se activa cuando el consentimiento del usuario está listo, ya sea por haber sido enviado o cargado desde una cookie existente. Escucha este evento si necesitas recuperar el consentimiento del usuario y ejecutar scripts adicionales tan pronto como sea posible según los valores de consentimiento.
El evento devuelve un objeto CustomEvent con la propiedad detail que contiene el objeto consent con los valores de consentimiento del usuario.
| Propiedad | Tipo | Descripción | Valores |
|---|---|---|---|
consent.technical | boolean | Valor de consentimiento para la categoría técnica. | true o false |
consent.preferences | boolean | Valor de consentimiento para las preferencias. | true o false |
consent.marketing | boolean | Valor de consentimiento para el marketing. | true o false |
consent.analytics | boolean | Valor de consentimiento para las analíticas. | true o false |
Este evento se lanzará siempre que el consentimiento esté disponible, incluso si el usuario no ha interactuado con el banner (por ejemplo, si ya había dado su consentimiento previamente).
Ejemplo de uso
document.addEventListener('lawwwing:consent:ready', function(event) {
if (event.detail.consent.marketing) {
// Ejecutar scripts adicionales con la categoría de marketing permitida
}
});
lawwwing:ui:ready
Evento que se activa cuando la interfaz de usuario del banner de consentimiento está completamente cargada y lista para interactuar. Escucha este evento si necesitas realizar acciones específicas relacionadas con la interfaz del banner, como personalizar su apariencia o comportamiento.
document.addEventListener('lawwwing:ui:ready', function() {
// La interfaz del banner de consentimiento está lista
// Por ejemplo, abrir el aviso legal automáticamente
Lawwwing.sdk.document('notice').open();
});
Métodos Públicos (SDK)
En Lawwwing, el consentimiento del usuario se gestiona a través de un sistema de capas que permite una experiencia más flexible.
- Capa 1: Banner de consentimiento principal. Es el mensaje inicial que informa al usuario sobre el uso de cookies y le solicita aceptar o configurar sus preferencias.
- Capa 2: Panel de configuración avanzada. Permite al usuario seleccionar con mayor detalle qué categorías de cookies desea aceptar o rechazar.
El SDK de Lawwwing ofrece métodos públicos para mostrar u ocultar estas capas de forma manual, ideal si deseas controlar la experiencia del usuario desde tu aplicación o sitio.
Lawwwing.sdk.show(layer)
Este método permite mostrar manualmente una de las capas del banner de consentimiento.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
layer | int | Número de capa a mostrar. Usa 1 para la primera capa y 2 para el panel de configuración. |
Ejemplos
// Mostrar la primera capa: Banner de consentimiento
Lawwwing.sdk.show();
// Mostrar la primera capa: Banner de consentimiento
Lawwwing.sdk.show(1);
// Mostrar la segunda capa: Configuración avanzada
Lawwwing.sdk.show(2)
Lawwwing.sdk.hide(layer)
Este método permite ocultar manualmente una de las capas del banner de consentimiento.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
layer | int | Número de capa a ocultar. Usa 1 para el banner principal y 2 para el panel de configuración. |
Ejemplos
// Ocultar la primera capa: Banner de consentimiento
Lawwwing.sdk.hide();
// Ocultar la primera capa: Banner de consentimiento
Lawwwing.sdk.hide(1);
// Ocultar la segunda capa: Configuración avanzada
Lawwwing.sdk.hide(2)
Puedes combinar estos métodos con eventos del SDK o con botones personalizados en tu interfaz para ofrecer una experiencia de consentimiento más fluida y amigable.
Gestión programática del consentimiento
Además de mostrar u ocultar las capas del widget, el SDK permite aceptar, rechazar o actualizar el consentimiento del usuario desde tu propia interfaz. Estos métodos reutilizan el mismo flujo interno del widget, por lo que guardan el estado y disparan los eventos de consentimiento correspondientes.
Utiliza estos métodos únicamente cuando el script de Lawwwing ya se haya inicializado en la página.
Lawwwing.sdk.accept()
Acepta todas las categorías de consentimiento disponibles.
Ejemplo
// Aceptar todo el consentimiento desde un botón propio
Lawwwing.sdk.accept();
Lawwwing.sdk.deny()
Rechaza todas las categorías opcionales y mantiene activas únicamente las categorías necesarias.
Ejemplo
// Rechazar todas las categorías opcionales
Lawwwing.sdk.deny();
Lawwwing.sdk.update(categories)
Actualiza el consentimiento de forma granular por categoría.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
categories | object | Objeto con las categorías a actualizar. Cada clave debe ser una categoría válida y cada valor debe ser true o false. |
Categorías habituales
| Categoría | Tipo | Descripción |
|---|---|---|
technical | boolean | Cookies técnicas o estrictamente necesarias. |
preferences | boolean | Preferencias de usuario y personalización. |
analytics | boolean | Medición y analítica. |
marketing | boolean | Publicidad y seguimiento comercial. |
Ejemplos
// Permitir analítica y desactivar marketing
Lawwwing.sdk.update({
analytics: true,
marketing: false,
});
// Mantener solo las categorías necesarias y preferencias
Lawwwing.sdk.update({
technical: true,
preferences: true,
analytics: false,
marketing: false,
});
Lawwwing.sdk.update(categories) solo aplica las categorías incluidas en el objeto enviado, por lo que puedes actualizar una o varias sin necesidad de reenviar todo el estado.
Los métodos Lawwwing.sdk.accept(), Lawwwing.sdk.deny() y Lawwwing.sdk.update(categories) disparan el flujo de consentimiento y devuelven el control inmediatamente. No esperan a que todas las integraciones o procesos posteriores terminen antes de continuar la ejecución.
Lawwwing.sdk.document(document)
Este método permite acceder a los documentos de Lawwwing desde tu aplicación o sitio web.
Puedes usarlo para mostrar cualquier documento que tengas activo en tu cuenta de Lawwwing.
Para que el visor funcione correctamente, es necesario tener una subscripción activa en tu cuenta de Lawwwing.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
document | string | Tipo de documento a mostrar. Opciones: notice privacy terms, cookies o purchase |
El tipo de documentos disponibles puede variar según el plan de suscripción que tengas contratado.
Ejemplos
// Abrir aviso legal
Lawwwing.sdk.document('notice').open();
// Cerrar aviso legal
Lawwwing.sdk.document('notice').close();
// Abrir política de privacidad
Lawwwing.sdk.document('privacy').open();
// Cerrar política de privacidad
Lawwwing.sdk.document('privacy').close();