Skip to main content

Endpoint

Descrição

Retorna a variante que deve ser mostrada para um usuário específico. A atribuição é determinística e o mesmo user_id sempre receberá a mesma variante para o mesmo experimento.

Características

  • Determinístico: Mesmo usuário = mesma variante
  • Baseado em hash: Usa user_id + experiment_key para calcular
  • Respeita traffic allocation: Distribui usuários conforme pesos configurados
  • Retorna null: Se experimento não estiver rodando

Autenticação

Envie sua API Key de uma das formas:

Opção 1: Header (Recomendado)

Opção 2: Query Parameter

Segurança: Sempre use o header x-testly-auth em produção. Query parameters podem aparecer em logs.

Parâmetros

Query Parameters

Headers


Resposta

Sucesso (200 OK)

Experimento Não Rodando (200 OK)

Quando acontece:
  • Experimento está pausado ou inativo
  • Experimento não existe
  • Experimento foi deletado
Quando variant_key for null, implemente um fallback para mostrar a versão padrão do seu componente.

Sem Variantes Configuradas (200 OK)

Erro: Parâmetros Faltando (400 Bad Request)

Erro: API Key Inválida (401 Unauthorized)


Exemplos

JavaScript / Fetch

Python

PHP

cURL


Como Funciona

1. Validação

O endpoint valida:
  • ✅ API Key existe e pertence a uma organização ativa
  • ✅ Experimento existe e pertence à organização
  • ✅ Experimento está com status running
  • ✅ Experimento tem variantes configuradas

2. Atribuição Determinística

Resultado: O mesmo usuário sempre cai no mesmo bucket.

3. Cache Recomendado

Como a atribuição é determinística, você pode (e deve) cachear o resultado:

Casos de Uso

Server-Side Rendering (SSR)

API Gateway / Middleware

Edge Functions (Vercel/Cloudflare)


Erros Comuns

Erro: “Invalid API Key”

Causa: API Key não existe ou está incorreta Solução:
  1. Verifique a key no dashboard
  2. Certifique-se que está usando a key da organização correta
  3. Verifique se não tem espaços extras na key

Erro: “experiment_not_running”

Causa: Experimento não está ativo Solução:
  1. Acesse o dashboard
  2. Verifique se o experimento está com status “Running”
  3. Se estiver pausado, ative-o

Erro: “no_variants”

Causa: Experimento não tem variantes configuradas Solução:
  1. Acesse o experimento no dashboard
  2. Crie pelo menos 2 variantes (controle + teste)
  3. Configure os pesos de tráfego

Timeout / Sem resposta

Causa: Rede lenta ou API temporariamente indisponível Solução:

Rate Limits

Headers de resposta:
Se exceder:

Próximos Passos

Track Event

Registre impressões e conversões

Authentication

Detalhes sobre API Keys

SDK React

Use o SDK oficial (recomendado)

Exemplos

Veja implementações completas