Playground
O Playground (barra lateral > Playground) permite que você execute requests de API reais usando sua chave sem escrever nenhum código. É a maneira mais rápida de testar um novo site de destino, depurar uma response complexa ou comparar Auto, Single, Proxy e Browser lado a lado.
Abra em foura.ai/dashboard#playground.
O que ele faz
Um formulário. Quatro motores. Tráfego real.
- Auto: fetch inteligente. Você passa uma URL e uma regra
validatee a FourA escolhe o caminho mais barato que funciona. - Single: fetch HTTP direto com características de rede realistas semelhantes a um navegador
- Proxy: fetch via proxy rotativo gerenciado, opcionalmente com escopo para países visíveis ao alvo
- Browser: abre a URL em uma instância do navegador Chrome para sites renderizados em JS
Os requests são executados usando a chave de API que você escolher no topo da página. O uso conta contra a cota dessa chave da mesma forma que uma chamada de produção, portanto, não gaste todo o seu plano em testes.
Escolhendo uma Chave
O menu suspenso de chaves de API mostra todas as chaves ativas em seu escopo: chaves pessoais, chaves de organização que você administra e chaves compartilhadas de equipe que você pode acessar. Escolha aquela na qual deseja que o request seja cobrado. Se você ainda não tem chaves ativas, um prompt na mesma linha vincula você à página API Keys para criar uma.
Escolhendo um Modo
A linha superior Mode alterna entre Auto e os motores manuais. Quando Auto é selecionado, o formulário muda para a superfície Auto mínima (URL mais validate mais alguns controles). Quando você desativa Auto, três opções aparecem: Single, Proxy, Browser. Alternar entre elas muda quais campos são visíveis e qual motor o request atinge. A seleção atual é preservada quando você recarrega a página.
| Mode | Quando usar |
|---|---|
| Auto | Novo alvo ou site com proteção mista. Auto escolhe o caminho mais barato e lembra o que funciona. |
| Single | Fetch HTTP rápido. Melhor primeira escolha para um host conhecido. |
| Proxy | O mesmo fetch com rotação automática de proxy. Defina exitCountries quando precisar de um país visível ao alvo. |
| Browser | Carrega a página em uma instância de navegador Chrome. Use quando os dados aparecerem apenas após a execução do JavaScript. |
Construindo o Request
Linha de URL
A linha superior contém o método HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), a URL de destino e o botão Send. Single, Proxy e Auto respeitam todos os métodos. Browser ignora o método (Chrome sempre emite GET para navegação) e o corpo.
Abas de Request
Abaixo da linha de URL, cinco abas permitem preencher o restante:
| Tab | O que controla |
|---|---|
| UI | Campos de formulário para timeouts, redirects, flags, proxy, opções específicas do navegador e regras de validação |
| Body | Corpo em formato livre para requests POST / PUT / PATCH |
| Headers | Headers de request customizados como pares chave-valor |
| Cookies | Cookies para enviar com o request |
| Raw | O payload JSON exato que será enviado, editável diretamente |
O que você alterar em UI / Body / Headers / Cookies será refletido no Raw. Editar o Raw também funciona e as outras guias serão atualizadas para corresponder. Um ponto vermelho aparece em qualquer guia ou seção recolhível que contenha um valor diferente dos padrões da engine, para que você possa identificar rapidamente o que foi personalizado.
UI Pane Sections
A guia UI agrupa as configurações em seções recolhíveis. Os campos vazios recorrem ao padrão do schema da engine. As seções que não se aplicam ao Mode atual ficam ocultas.
- Timeouts:
timeout_ms,connect_timeout_ms,accept_timeout_ms,server_response_timeout_ms,dns_cache_timeout_sec. O Auto expõe apenastimeout_ms(o orçamento total). - Redirects: alternar e definir
followRedirects(0-20). Single, Proxy, Auto. O Browser segue os redirecionamentos por conta própria. - Flags:
unblockerpara Single, Proxy e Browser (o desbloqueador no Browser aciona o solucionador automático de defesa),tryJsonDataereturnBufferpara Single e Proxy. O Auto expõeforceProxyereturnSession. - Proxy: escolha um ID de proxy específico para Single ou Browser, ou defina
maxTries, o tempo limite externo do Proxy,exitCountrieseignoreProxiespara a engine Proxy. O Auto também expõeignoreProxies. - Browser profile: três menus suspensos em cascata, os, browser e version, listando o que o FourA pode realmente apresentar. Eles aparecem no modo Single e Proxy. Deixe-os em branco para o Chrome mais recente. Cada seleção restringe as outras duas, de modo que uma combinação que não resulta em nada nunca aparece. A seção precisa que o Web Unblocker esteja ativado: se estiver desativado nenhum header de navegador será enviado, um perfil só se aplicaria pela metade e a API recusará o request em vez disso.
- Browser: opções exclusivas do navegador, como
checkStatusecheckText. - Validate: regras de aceitação / falha em
validate.status(códigos de status),validate.headers(regras de key-value de header) evalidate.data(substrings de aceitação / falha de corpo, alternativas separadas por|). Disponível para todos os Modes, incluindo o Auto.
Exit Country Scoping (Proxy Mode)
O campo exitCountries no Proxy aceita uma lista separada por vírgulas de códigos de país de duas letras visíveis ao destino (CZ, GB). Os valores são cortados, colocados em maiúsculas e deduplicados no envio. A seleção é uma allowlist estrita: proxies com saídas desconhecidas são excluídos e o request nunca recorre a outro país. Se o pool atual não tiver correspondência, a resposta retornará code: "no_eligible_proxy" com o escopo solicitado refletido em details.exitCountries. Preserve o escopo e tente novamente mais tarde.
Quando uma chamada de proxy for bem-sucedida no escopo, a faixa de resposta mostrará exit <CODE> ao lado do ID do proxy para que você possa verificar se o país atendido corresponde ao que você solicitou.
Toolbar Reset
O botão Reset na barra de ferramentas (ao lado de History e Saved) limpa o playground para um estado inicial. Como é destrutivo, ele abre uma caixa de diálogo de confirmação que lista exatamente o que será apagado: os três formulários de produto (Single, Proxy, Browser), quaisquer cookies salvos no jar, quaisquer proxies transferidos e a response atual. Os presets salvos e a chave de API selecionada são mantidos. Clique em Reset everything para confirmar; qualquer outra ação cancela.
Enviando e Cancelando
Clique em Send para disparar a request. A coluna da direita muda para um estado de carregamento com um spinner e um botão Cancel enquanto a chamada está em andamento. Clique em Cancel (ou toque no botão novamente no celular) para abortar. Uma request cancelada restaura o placeholder inativo com "Request canceled." em vez de renderizar um erro.
O card de response muda para o resultado no momento em que a request é concluída (ou falha). As execuções Auto podem demorar mais do que as engines manuais porque a escada pode subir vários degraus em um alvo frio.
Lendo a Response
A coluna de response reflete o layout da request com suas próprias abas:
| Aba | O que ela mostra |
|---|---|
| Body | Body processado. Alterna entre visualizações JSON, HTML e Text dependendo do que foi retornado. |
| Headers | Response headers, um por linha. |
| Cookies | Cookies retornados pelo alvo, nas visualizações processadas (agrupadas por host) e raw (texto Set-Cookie). A visualização processada mostra um badge HO nos cookies apenas de host; os cookies de domínio não são marcados. |
| Raw | O envelope JSON completo retornado pela API. |
Uma faixa de meta acima das abas mostra o status HTTP upstream, o tempo total, o ID do proxy que manipulou a chamada e (para uma chamada de Proxy com escopo) as duas letras exit <CODE>. Para execuções Auto, a faixa também mostra qual degrau da escada entregou a response, quantas subtentativas foram feitas e os créditos gastos.
Transferir Valores Entre Execuções
Após qualquer execução que retornou dados de sessão reutilizáveis, um pequeno controle Carry na barra de ferramentas da response mostra o que está disponível:
- As execuções Auto oferecem o triplo completo de
session(proxy,cookies,userAgent). - As execuções Browser oferecem o
userAgentda response, mais o ID do proxy, caso tenha sido usado. - As execuções Proxy oferecem o ID do proxy retornado.
Clique em Carry e escolha onde aplicar cada valor em um clique: userAgent se torna um header User-Agent no Single ou Proxy, e o ID do proxy cai no campo proxy no Single ou Browser. Os campos que recebem um valor transferido mostram o ponto vermelho de "modificado" para você poder ver o que mudou.
Expandir para Tela Cheia
O ícone de expandir na barra de ferramentas da response tira o card da response do layout dividido e o coloca em uma sobreposição de tela cheia. Use isso para árvores JSON profundas, dumps longos de Set-Cookie ou corpos HTML largos onde a coluna de meia largura fica apertada. A própria página para de rolar enquanto a sobreposição está aberta. Clique no ícone novamente (ou pressione Escape) para recolher.
O Reprodutor curl
Abaixo do response, um bloco curl mostra o equivalente exato da linha de comando do request que você acabou de criar. Copie-o para reproduzir o request a partir de um terminal, compartilhar com um colega de equipe ou colar em um relatório de bug.
Para chaves reveláveis, um botão Reveal key ao lado do trecho insere a chave real em texto simples diretamente no curl para que você possa copiar e executar como está. Clique novamente para ocultar. Chaves legadas (criadas antes do envio do recurso de revelar) mantêm um placeholder PASTE_PLAINTEXT_FOR_<key-name>; regenere a chave na página API Keys para torná-la revelável.
A revelação é registrada em auditoria no servidor todas as vezes, e a chave em texto simples vive apenas na memória durante a sessão da página atual.
Salvando Presets
Se você se deparar reconfigurando o mesmo destino repetidamente, salve-o. Clique em Save na linha de guias de request para armazenar a configuração atual como um preset nomeado.
Abra Saved na barra de ferramentas para navegar, renomear ou excluir seus presets. Clique em qualquer preset para carregá-lo novamente no formulário.
| Campo de preset | O que armazena |
|---|---|
| Nome | Um rótulo curto (até 100 caracteres) |
| Descrição | Notas opcionais (até 500 caracteres) |
| Endpoint | Para qual engine o preset serve (auto / single / proxy / browser) |
| Configuração | O payload completo do request, incluindo campos de interface do usuário, headers, cookies e body |
Os presets têm como escopo a sua conta de usuário e não são compartilhados com os membros da equipe.
Reproduzindo do Histórico
Cada request executado é registrado. Abra History na barra de ferramentas para ver suas últimas 20 execuções, classificadas da mais recente para a mais antiga.
Cada linha mostra o endpoint, URL de destino, status e hora. Clique em Replay em qualquer linha para carregar esse request de volta no formulário e, em seguida, em Send para executá-lo novamente.
O histórico é automaticamente limitado ao escopo da sua conta: você vê apenas as suas próprias execuções.
Abrindo da Atividade
O diálogo de detalhes do Activity Log tem um botão Open in Playground. Clique nele e o Playground carrega tanto o request arquivado quanto o response arquivado. O formulário é preenchido a partir do payload armazenado, e o cartão de response mostra o que a API retornou naquele momento com um selo "archived" na faixa meta de proxy ("archived
A partir daí, você pode alterar um parâmetro e clicar em Send para executar um novo request contra a API em tempo real, ou apenas inspecionar o payload arquivado sem executá-lo novamente. Os payloads são mantidos por 24 horas, portanto, as linhas de Atividade mais antigas não terão um response recarregável.
Dicas
- Comece no Playground antes de escrever código para um novo alvo. Com o Auto ativado, você saberá em segundos se um fetch barato é suficiente ou se o site exige uma resolução do browser.
- Para alvos com bloqueio de país, execute uma chamada de Proxy com
exitCountriesdefinido e, em seguida, leve o ID de proxy retornado para uma chamada de Browser para que a renderização do JavaScript ocorra pela mesma saída. - Salve um preset para cada alvo que você faz scraping regularmente. Refazer um preset salvo leva um clique; reconstruir o request de memória leva mais tempo.
- Use a aba Cookies para depurar o scraping baseado em sessão. A visualização bruta de Set-Cookie mostra exatamente o que o alvo enviou.
- Quando um alvo recusar você, tente outra entrada nas seleções de perfil de Browser antes de recorrer a um mecanismo mais pesado. Trocar o browser apresentado é gratuito; uma renderização de browser não é.
- Os requests do Playground são faturados na chave que você escolher. Use uma chave dedicada de baixa cota para exploração casual se quiser manter o uso em produção limpo.
Relacionados
- API Endpoints: Referência completa de parâmetros para todos os quatro mecanismos, incluindo
exitCountriese os campos de perfil do browser - Smart Fetch (Auto): O que o Auto faz por baixo dos panos
- Choosing the Right Endpoint: Quando escolher Auto vs Single vs Proxy vs Browser
- API Keys: Gerencie as chaves com as quais você autentica os requests do Playground
- Activity Log: Abra um request anterior diretamente no Playground
- Dashboard Overview: Todas as seções da barra lateral