pnclFEED Clave gratuita

Notas de quickstart

Llama a la API de cuotas desde un Cloudflare Worker

Un Worker es JavaScript en el servidor en el borde: tu clave queda secreta, tu página queda estática, y la llamada a la API ocurre a un salto del usuario.

Nunca debes llamar a la API de cuotas desde JavaScript en el navegador, porque la clave quedaría visible para todo visitante. Un Cloudflare Worker es el camino intermedio limpio: JavaScript que corre en el borde, en el lado del servidor, donde la clave vive en un secreto y nunca llega a un navegador. Tu página puede quedarse estática, y la llamada de cuotas ocurre a un salto del lector.

La forma que guarda el secreto

El Worker guarda la clave como un secreto de entorno, no en el código, la misma frontera que el quickstart de curl mantiene con sus variables de entorno, verificado el 2026-10-16. La página llama a tu Worker, el Worker llama a la API con la clave en la cabecera x-portal-apikey, recorta la respuesta a lo que la página necesita, y la devuelve. El navegador ve la URL de tu Worker, nunca la de la API, y nunca la clave.

export default {
  async fetch(request, env) {
    const url = `${env.ODDS_BASE_URL}/kit/v1/markets?sport_id=1`;
    const r = await fetch(url, {
      headers: { "x-portal-apikey": env.ODDS_API_KEY }
    });
    const data = await r.json();
    const rows = data.events.slice(0, 20).map((ev) => ({
      home: ev.home, away: ev.away,
      line: ev.periods?.num_0?.money_line ?? null,
    }));
    return Response.json({ rows, last: data.last });
  },
};

La respuesta también mantiene el hábito del sobre: eventos más el cursor last, para que tu página pueda pedir el próximo delta después.

Por qué el borde vale la pena aquí

Las páginas de cuotas son pesadas en el lado de lectura: muchos lectores, un upstream. Un Worker puede cachear la respuesta recortada unos segundos en el borde, así que cien lectores de la misma página cuestan una llamada upstream, el mismo principio de un lector y muchos consumidores que los quickstarts usan en el servidor. Las 100 llamadas al día de la clave gratuita rinden mucho más cuando el borde absorbe el tráfico.

La alternativa, una página estática llamando a la API directamente, pone la clave en manos de todo visitante, que es lo único que no puedes deshacer.

Mantén el Worker honesto

Recorta antes de enviar: el tablero completo es grande, y tu página necesita veinte filas, no cientos. Mantén el cursor fuera de la respuesta si la página no sondea, y mantén la clave fuera de cualquier URL, porque una clave en una URL acaba en logs. Cuando el tablero falle, responde con una edad, no una página de error: tus lectores conviven con cuotas un poco viejas, claramente marcadas, mejor que con nada.

Clave en un secreto, llamada en el borde, recorte antes de enviar. El Worker es la forma segura-para-el-navegador de poner cuotas en vivo en una página estática.