A API Rex permite gerenciar programaticamente ofertas, afiliados e links de checkout da sua loja. Você também pode iniciar sessões de pagamento e receber notificações de vendas em tempo real via webhooks.
🏷️
Ofertas
Crie e gerencie as ofertas com desconto da sua loja.
👥
Afiliados
Convide afiliados e acompanhe o desempenho deles.
🔗
Links
Gere links de checkout exclusivos por afiliado.
🚀
Checkout
Inicie uma sessão de pagamento e redirecione o comprador.
🪝
Webhooks
Seja notificado instantaneamente quando uma venda for confirmada.
🎟️
Vouchers
O comprador recebe um voucher para resgatar na loja física.
Todas as requisições à API devem incluir a chave de API da sua loja no cabeçalho Authorization usando o esquema Bearer. Cada loja possui duas chaves independentes — Produção (Live) para uso real e Sandbox para testes sem cobranças. Gerencie as chaves em Painel da Loja → Chaves de API.
Authorization: Bearer <sua_api_key>
curl https://app.rex.com.br/api/v1/offers \ -H "Authorization: Bearer <chave_producao>"
curl https://app.rex.com.br/api/v1/offers \ -H "Authorization: Bearer <chave_sandbox>"
Mantenha sua chave de produção privada. Nunca a exponha em código client-side ou repositórios públicos. Se comprometida, regenere-a imediatamente pelo Painel. A chave sandbox é segura para testes locais.
A API usa códigos de status HTTP convencionais. Erros retornam um JSON com o campo error (ou array errors para falhas de validação).
{
"errors": ["Title can't be blank", "Commission percent must be greater than 0"]
}
O Rex processa pagamentos via Mercado Pago. A integração envolve três passos simples:
Crie uma Sessão de Checkout
Chame POST /api/v1/checkout_sessions com o offer_id (e opcionalmente um affiliate_token). Você recebe um checkout_url.
Redirecione o Comprador
Redirecione o navegador do comprador para o checkout_url. Ele conclui o pagamento na página hospedada do Mercado Pago.
Receba o Webhook
Após a confirmação do pagamento, o Rex envia um POST para o seu webhook_url configurado com os detalhes da venda.
/api/v1/checkout_sessions
Cria uma sessão de pagamento para uma oferta e retorna um checkout_url para onde você deve redirecionar o comprador.
Parâmetros
{
"offer_id": 3,
"affiliate_token": "FuVUcvE_t2A"
}
curl -X POST https://app.rex.com.br/api/v1/checkout_sessions \\
-H "Authorization: Bearer <sua_api_key>" \\
-H "Content-Type: application/json" \\
-d '{"offer_id": 3, "affiliate_token": "FuVUcvE_t2A"}'
HTTP/1.1 201 Created
{
"checkout_url": "https://www.mercadopago.com.br/checkout/v1/redirect?pref_id=123456789-abc"
}
Configure um endpoint HTTPS público no seu servidor para receber notificações de venda. Defina sua URL em Painel da Loja → Configurações → Webhook URL.
O Rex enviará uma requisição POST para sua URL a cada venda confirmada. Seu endpoint deve responder com 2xx em até 10 segundos.
💡 Dica
Durante o desenvolvimento você pode usar webhook.site ou ngrok para receber webhooks na sua máquina local.
O Rex envia um POST com Content-Type: application/json.
{
"event": "sale.created",
"sale_id": 42,
"offer": "Hambúrguer Artesanal + Fritas",
"customer": "João Silva",
"amount_cents": 3200
}
sale.created.
3200 = R$ 32,00).
/api/v1/offers
Retorna todas as ofertas da loja autenticada, ordenadas por data de criação (mais recente primeiro).
curl https://app.rex.com.br/api/v1/offers \\ -H "Authorization: Bearer <sua_api_key>"
HTTP/1.1 200 OK
[
{
"id": 1,
"title": "Hambúrguer Artesanal + Fritas",
"description": "Pão brioche 200g, batata frita rústica.",
"original_price_cents": 4500,
"discounted_price_cents": 3200,
"commission_percent": 20,
"valid_days": 30,
"active": true,
"created_at": "2026-03-01T10:00:00Z"
}
]
/api/v1/offers
Cria uma nova oferta para a loja.
Parâmetros
{
"offer": {
"title": "Hambúrguer Artesanal + Fritas",
"description": "Pão brioche 200g, batata frita rústica.",
"original_price_cents": 4500,
"discounted_price_cents": 3200,
"commission_percent": 20,
"valid_days": 30
}
}
curl -X POST https://app.rex.com.br/api/v1/offers \\
-H "Authorization: Bearer <sua_api_key>" \\
-H "Content-Type: application/json" \\
-d '{"offer": {"title": "Hambúrguer + Fritas", "commission_percent": 20, "discounted_price_cents": 3200}}'
201 Created + objeto da oferta (veja Listar Ofertas para o schema)
/api/v1/offers/:id
Atualiza um ou mais campos de uma oferta existente.
Parâmetros
{
"offer": {
"commission_percent": 25,
"discounted_price_cents": 2900
}
}
curl -X PATCH https://app.rex.com.br/api/v1/offers/1 \\
-H "Authorization: Bearer <sua_api_key>" \\
-H "Content-Type: application/json" \\
-d '{"offer": {"commission_percent": 25}}'
200 OK + objeto da oferta atualizada
/api/v1/offers/:id
Exclui permanentemente uma oferta e todos os links de afiliado associados.
curl -X DELETE https://app.rex.com.br/api/v1/offers/1 \\ -H "Authorization: Bearer <sua_api_key>"
HTTP/1.1 204 No Content
/api/v1/affiliates
Retorna afiliados que possuem links para as ofertas da sua loja. Filtragem opcional por CPF ou CNPJ.
Parâmetros
curl "https://app.rex.com.br/api/v1/affiliates?doc=123.456.789-00" \\ -H "Authorization: Bearer <sua_api_key>"
HTTP/1.1 200 OK
[
{
"id": 5,
"name": "Maria Afiliada",
"email": "maria@email.com",
"document": "123.456.789-00",
"phone": "(11) 99999-0000",
"created_at": "2026-01-15T12:00:00Z"
}
]
/api/v1/affiliates/:id
Retorna um afiliado específico incluindo seus links para as ofertas da sua loja.
curl https://app.rex.com.br/api/v1/affiliates/5 \\ -H "Authorization: Bearer <sua_api_key>"
HTTP/1.1 200 OK
{
"id": 5,
"name": "Maria Afiliada",
"email": "maria@email.com",
"document": "123.456.789-00",
"phone": "(11) 99999-0000",
"created_at": "2026-01-15T12:00:00Z",
"affiliate_links": [
{
"id": 12,
"offer_id": 3,
"token": "FuVUcvE_t2A",
"checkout_url": "https://app.rex.com.br/checkout/3?token=FuVUcvE_t2A",
"click_count": 47
}
]
}
/api/v1/affiliates
Cria uma nova conta de afiliado com senha aleatória gerada automaticamente. O afiliado precisa redefinir a senha para acessar o painel.
Parâmetros
{
"affiliate": {
"name": "João Silva",
"email": "joao@email.com",
"document": "987.654.321-00",
"phone": "(21) 98888-1234"
}
}
curl -X POST https://app.rex.com.br/api/v1/affiliates \\
-H "Authorization: Bearer <sua_api_key>" \\
-H "Content-Type: application/json" \\
-d '{"affiliate": {"name": "João Silva", "email": "joao@email.com"}}'
201 Created + objeto do afiliado (veja Listar Afiliados para o schema)
/api/v1/affiliate_links
Retorna todos os links de afiliado de todas as ofertas da sua loja, ordenados por data de criação.
curl https://app.rex.com.br/api/v1/affiliate_links \\ -H "Authorization: Bearer <sua_api_key>"
HTTP/1.1 200 OK
[
{
"id": 12,
"offer_id": 3,
"affiliate_id": 5,
"token": "FuVUcvE_t2A",
"checkout_url": "https://app.rex.com.br/checkout/3?token=FuVUcvE_t2A",
"click_count": 47,
"created_at": "2026-02-10T08:00:00Z"
}
]
/api/v1/affiliate_links
Gera uma URL de checkout única e compartilhável para um par afiliado + oferta. Cada par só pode ter um link — retorna 422 se o link já existir.
Parâmetros
{
"offer_id": 3,
"affiliate_id": 5
}
curl -X POST https://app.rex.com.br/api/v1/affiliate_links \\
-H "Authorization: Bearer <sua_api_key>" \\
-H "Content-Type: application/json" \\
-d '{"offer_id": 3, "affiliate_id": 5}'
HTTP/1.1 201 Created
{
"id": 12,
"offer_id": 3,
"affiliate_id": 5,
"token": "FuVUcvE_t2A",
"checkout_url": "https://app.rex.com.br/checkout/3?token=FuVUcvE_t2A",
"click_count": 0,
"created_at": "2026-02-10T08:00:00Z"
}