pnclFEED Chave gratuita

Notas de quickstart

Liste quedas recentes no Google Sheets sem o stream

O endpoint de quedas responde num GET simples, então uma planilha num gatilho de 15 minutos registra cada movimento recente, sem processo sempre ligado.

O stream de quedas precisa de um plano que empurra alertas, mas o endpoint de quedas não: ele responde à mesma detecção num GET simples, o que significa que uma planilha do Google consegue listar as quedas recentes num agendamento, com as ferramentas que você já tem. Quinze minutos de Apps Script e a planilha lê como um feed de movimentos.

O endpoint é um GET, nada fica aberto

O endpoint de quedas retorna os movimentos que o feed detectou nos últimos minutos como JSON puro, como o quickstart de curl documenta, verificado em 2026-11-04. Três parâmetros moldam a resposta: mode escolhe ao vivo ou pré-jogo, min_drop_pct o tamanho do movimento, e max_age_sec a janela. Sem stream, sem loop de reconexão, sem processo sempre ligado.

Esse formato é exatamente o que um gatilho de planilha consegue rodar. Uma função num timer de 15 minutos pergunta pelos últimos 15 minutos e anexa o que encontra.

A versão em Apps Script

A mesma chamada UrlFetchApp que o quickstart de Sheets usa, com outro endpoint:

function fetchDrops() {
  const PROPS = PropertiesService.getScriptProperties();
  const BASE = PROPS.getProperty('BASE');
  const KEY = PROPS.getProperty('KEY');
  const url = BASE + '/api/drops?mode=prematch&min_drop_pct=5&max_age_sec=900';
  const res = UrlFetchApp.fetch(url, {
    headers: { 'x-portal-apikey': KEY },
    muteHttpExceptions: true,
  });
  if (res.getResponseCode() !== 200) {
    console.warn(res.getContentText());
    return;
  }
  const drops = JSON.parse(res.getContentText()).drops || [];
  if (!drops.length) return;
  const sheet = SpreadsheetApp.getActive().getSheetByName('Drops')
    || SpreadsheetApp.getActive().insertSheet('Drops');
  const rows = drops.map((d) =>
    [new Date(), d.sport_name, d.market, d.side, d.from, d.to, d.drop_pct]);
  sheet.getRange(sheet.getLastRow() + 1, 1, rows.length, 7).setValues(rows);
}

Aponte um gatilho de 15 minutos para ela, como o quickstart de Sheets define o próprio gatilho, verificado em 2026-11-04. Uma chamada por execução dá 96 chamadas por dia, dentro do orçamento diário da chave gratuita.

Leia os campos do jeito do endpoint

Os nomes de campo do endpoint diferem dos do stream: from e to em vez de from_price e to_price, market e side em vez de sect e outcome. O percentual vem pronto como drop_pct, então a planilha não precisa de aritmética. Se um dia você misturar linhas do endpoint com alertas do stream num mesmo log, mapeie os nomes uma vez, deliberadamente, ou o mesmo movimento vai ler como dois objetos diferentes.

Para que a planilha serve

Uma aba Drops é uma ferramenta de revisão: os movimentos de ontem, ordenados por tamanho, com o preço justo ao lado se você adicionar nvp à linha. É a versão calma de um canal de chat, melhor para aprender o que os seus esportes realmente fazem o dia inteiro.

O que ela não é é rápida. Uma planilha de 15 minutos vê um movimento de 15 minutos atrás. Quando você precisar do movimento na hora, esse é o trabalho do stream; a planilha é para o registro.

O gatilho, depois o hábito

O último passo é a mesma disciplina dos outros quickstarts: o gatilho roda você olhando ou não, então confira a aba numa rotina de manhã e deixe as linhas acumularem. Uma semana de quedas registradas ensina a taxa real de movimentos dos seus esportes, que é o número em que toda decisão de limiar depois vai se apoiar.