pnclFEED Chave gratuita

Notas de quickstart

Teste o stream de quedas da Pinnacle com curl

Um flag do curl transforma o stream SSE de quedas em linhas no seu terminal. O que você deve ver, o que plan_lacks_sse significa e quando parar.

Antes de escrever qualquer código de stream, observe o stream de quedas cru. Um comando curl com os flags certos abre o stream SSE e imprime cada queda quando ela chega, que é o jeito mais rápido de confirmar sua chave, seu plano e o formato do stream antes de construir sobre eles.

O único comando que importa

SSE é uma resposta HTTP simples que nunca termina, então os flags importam mais que a URL. Você precisa de -N para impedir que o curl bufferize a resposta, o cabeçalho Accept para o event stream, e sua chave no cabeçalho, exatamente como o quickstart de curl envia nas chamadas REST:

curl -N -H "x-portal-apikey: $ODDS_API_KEY" \
     -H "Accept: text/event-stream" \
     "$ODDS_BASE_URL/odds-drop?min_drop=5"

O flag -N é o que as pessoas esquecem. Sem ele, o curl acumula o stream num buffer e você não vê nada por minutos.

O que você deve ver

A primeira linha é uma mensagem de controle: um objeto JSON, não uma lista, começando com a saudação connected. Depois disso, cada linha data: carrega um array JSON de alertas conforme as quedas são detectadas, o mesmo formato que o quickstart de Python escuta. Num board quieto nada chega por minutos, e isso é normal: sem quedas, sem linhas.

Se o plano da sua chave não tem stream, o primeiro objeto de controle avisa: plan_lacks_sse. É o stream dizendo que a chave funciona e que o plano não inclui SSE, o que o quickstart nota ser o caso da chave gratuita, verificado em 2026-10-01.

Baixe o piso enquanto testa

O parâmetro min_drop define quão grande uma queda precisa ser para chegar, e ele desce até 1. Enquanto você observa, ajuste para 1 para que uma tarde quieta ainda produza linhas; volte ao seu limiar real quando o teste acabar. Um teste de fumaça que não mostra nada não prova nada.

Lendo um stream ao vivo sem jq

O jq quer documentos JSON completos, e um stream é uma série de linhas, então pipe a saída por um leitor de linhas. Para ver só os lotes de alertas e pular os objetos de controle, filtre pelas linhas que carregam arrays:

curl -N -H "x-portal-apikey: $ODDS_API_KEY" \
     "$ODDS_BASE_URL/odds-drop?min_drop=1" | grep '^data: \['

Para algo mais rico, incorpore o tratamento de linhas em cinco linhas de Python depois. A observação no terminal existe para confirmar o feed, não para rodá-lo.

Quando parar o teste

Você terminou quando viu a saudação e um lote de alertas, ou confirmou a mensagem de plano. Encerre com Ctrl+C; o servidor fecha o lado dele quando você fecha. Para qualquer coisa mais longa que uma observação, os endpoints REST de snapshots e quedas sob demanda servem melhor um shell script do que um stream, e o quickstart de curl cobre ambos.

Um flag, um stream, um minuto de observação. Confirme o formato primeiro, depois escreva o cliente.