Saltar al contenido

Cloudflare Workers

Sirve la llave y el endpoint desde tu dominio con un Worker.

  1. Crea un Worker con este código

    Reenvía dos rutas y respeta las cabeceras que la ingesta necesita para el país y el navegador.

    // worker.js
    const ORIGIN = "https://pisi.to";
    
    export default {
      async fetch(request) {
        const url = new URL(request.url);
    
        if (url.pathname === "/js/llave.js") {
          const res = await fetch(ORIGIN + "/js/llave.js", {
            cf: { cacheTtl: 86400, cacheEverything: true },
          });
          return new Response(res.body, res);
        }
    
        if (url.pathname === "/api/event") {
          const headers = new Headers(request.headers);
          // La ingesta necesita la IP real para el país. Nunca la guarda.
          headers.set("X-Forwarded-For", request.headers.get("CF-Connecting-IP"));
          return fetch(ORIGIN + "/api/event", {
            method: request.method,
            headers,
            body: request.body,
          });
        }
    
        return fetch(request);
      },
    };
    js
  2. Añádele dos rutas

    example.com/js/llave.js y example.com/api/event, en la pestaña Triggers del Worker.

  3. Apunta el script a tu dominio

    data-api le dice a la llave dónde mandar los eventos.

    <script defer
            data-domain="example.com"
            data-api="https://example.com/api/event"
            src="https://example.com/js/llave.js"></script>
    html

Comprobar que funciona

Abre tu web en una pestaña nueva y mira el dashboard: deberías aparecer en «ahora mismo en casa» en menos de diez segundos. Si no aparece, revisa el checklist del onboarding.