Determine o que cada verificação demonstra
Projete dois percursos separados: um para observar a resposta HTTP pública e outro para recuperar registros históricos protegidos. GET /v1/status não exige chave ou créditos e retorna uma declaração estática. Não verifica saldo, identidade, busca, cobertura ou capacidade. Não use esse sucesso para autorizar usuários na sua aplicação ou converter todas as buscas pendentes em uma suposta indicação de arquivo saudável.
Reddit Gateway é um arquivo histórico independente, sem afiliação com o Reddit, dados ao vivo, escrita ou Reddit OAuth. A chave API autentica seu cliente perante o arquivo, não os usuários finais do seu produto. Defina quem pode iniciar uma busca, quais filtros serão aceitos e quanto consumo seu sistema admite. Esses controles são decisões do seu backend, não permissões por projeto fornecidas pelo arquivo.
Guarde a chave em configuração protegida do servidor, fora de código público, respostas ao navegador e registros. Para recuperar dados use X-API-Key: <chave> ou Authorization: Bearer <chave>. A sessão Secure HttpOnly do painel da conta é separada. O widget guarda identificadores de fatura e usuário no localStorage por hostname, não a chave original; isso não garante proteção contra todos os riscos do aplicativo.
Restrinja solicitações e valide os resultados
Fixe https://api.redditgateway.com e os caminhos aceitos no servidor. Não use uma URL arbitrária fornecida pelo visitante como destino de uma solicitação com credenciais. Comece por https://api.redditgateway.com/v1/search?q=database&subreddit=backend&limit=3, explicando que busca texto em backend com até três registros, sem garantir material pertinente. Consulte a documentação para os filtros e Obter chave API para cadastrar a conta antes do pagamento.
Confira o resultado HTTP antes de interpretar o corpo como dados. Depois analise o JSON e valide data como array, junto com os campos necessários ao produto. Diferencie falha de transporte, erro HTTP, sucesso vazio e rejeição por transformação local. Os registros são planos e os campos podem variar. Se parent_id ou link_id aparecerem, preserve as referências sem inventar contexto ou presumir conversas completas.
Use parâmetros permitidos: q, subreddit, author, kind com post ou comment, from, to, min_score, limit e page nas rotas de busca. from e to usam YYYY-MM-DD em UTC, filtram created_utc e incluem todo o dia to. min_score filtra sem ordenar. A ordem interna _doc não é cronológica, por relevância ou pontuação; ordenar localmente reorganiza apenas o que foi recebido.
Limite trabalho e tentativas com evidência local
limit e page vão de 1 a 100, com uma página por solicitação. Leia total com relation: eq indica total exato da consulta, gte um limite inferior e unknown um total não confiável, possivelmente null. Desconhecido não é zero. Um total exato, a divisão de períodos ou a remoção local de duplicatas não provam download completo. Grave resposta e parâmetros antes de avançar o progresso.
HTTP 400 exige corrigir parâmetros, 401 conferir credenciais, 402 consultar o saldo no painel e 429 espaçar tentativas. Você pode definir esperas progressivas e um número máximo de repetições, sem garantir recuperação automática. A elegibilidade de teste é diferente dos limites de frequência. Registre resultados e decisões locais sem segredos para distinguir falhas do adaptador de falhas do serviço de origem.
Cada recuperação bem-sucedida custa um crédito, mesmo vazia ou repetida. Pedidos inválidos não descontam saldo e falhas do serviço de origem devolvem a reserva. Uma desconexão do cliente pode seguir um sucesso cobrado; outra tentativa bem-sucedida custa outro crédito. Consulte os preços para incluir testes e páginas no orçamento. Regenerar exige entrar e confirmar a senha, invalidando a chave anterior: atualize os clientes antes da próxima consulta.