Revenue API

API server-to-server para registrar pagamentos, assinaturas e reembolsos dos seus gateways.

Voltar à Home
Overview

Visão geral financeira

A Revenue API recebe webhooks dos seus gateways de pagamento (Stripe, Kiwify, Hotmart, Eduzz, Braip, PagSeguro, Mercado Pago, custom) e normaliza tudo num formato único. A partir daí, o Mytrics calcula automaticamente MRR, ARR, Churn, Receita Líquida e Ticket Médio.

A atribuição de receita funciona em conjunto com o tracking de página: o Mytrics correlaciona o visitorId da sessão com o evento de receita via first-touch attribution, mostrando qual canal (Google, direto, Instagram) trouxe clientes que mais gastaram.

Requer Pro+
A Revenue API + webhooks de entrada é recurso do plano Pro. No Starter, você não vê receita atrelada a origens.
Auth

Autenticação — API Key Bearer

Toda requisição envia sua chave no header Authorization como Bearer Token:

Authorization: Bearer mytrics_sk_live_SEU_TOKEN_AQUI

Você gera API keys em Configurações → API Keys no painel. A chave é mostrada UMA VEZ na criação — guarde em variáveis de ambiente de backend.

Guarde com segurança
Chaves vazadas devem ser revogadas IMEDIATAMENTE. A revogação é instantânea — todas as requisições com a chave revogada retornam 401.
POST

POST /api/v1/revenue/events

Endpoint unificado para enviar eventos de receita:

POST/api/v1/revenue/events

Registra pagamentos, assinaturas e reembolsos.

bash
curl -X POST https://analytics.mytrics.com.br/api/v1/revenue/events \
  -H "Authorization: Bearer mytrics_sk_live_SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type": "subscription.created",
    "provider": "stripe",
    "site_id": "SEU_SITE_ID",
    "customer": {
      "email": "cliente@exemplo.com",
      "name": "Maria Silva"
    },
    "subscription": {
      "id": "sub_abc123",
      "status": "active",
      "amount": 4990,
      "interval": "month"
    }
  }'

Tipos de eventos

event_typestring"payment.succeeded" | "payment.failed" | "subscription.created" | "subscription.cancelled" | "refund.created"
Schema

Catálogo de payloads

Campos obrigatórios

Parâmetros

CAMPOTIPOOBRIG.DESCRIÇÃO
event_idstringSimID do evento no gateway (chave de idempotência)
event_typestringSimVer tipos acima
site_idstringSimID do site no Mytrics
customer.emailstringSimEmail único do comprador

Campos opcionais

Parâmetros

CAMPOTIPOOBRIG.DESCRIÇÃO
provider = customstringNãostripe, hotmart, braip, eduzz, kiwify, pagseguro, mercadopago, custom
transaction.amountintegerNãoValor em CENTAVOS. R$ 19,90 → 1990
transaction.statusstringNãopaid, failed, refunded, etc.
subscription.idstringNãoID da assinatura
subscription.amountintegerNãoValor recorrente em centavos
subscription.interval'week' | 'month' | 'year'NãoPeriodicidade (usado no MRR/ARR)
occurred_atdatetimeNãoISO 8601 UTC. Default: agora
metadataobjectNãoPropriedades customizadas (cupom, URL de origem, etc.)

Resposta

200Sucesso — Evento registrado, com dados enriquecidos (atribuição detectada automaticamente).
{
  "success": true,
  "eventId": "rev_abc123",
  "enriched": {
    "source": "google",
    "plan": "pro",
    "amount": 4990
  }
}
Idempotência

Idempotência e erros

A Revenue API implementa idempotência automática via event_id. Caso seu webhook reenvie o mesmo evento (retry do gateway), a API responde com 200 e flag duplicated=true.

Códigos de retorno

STATUSCAUSASOLUÇÃO
200Sucesso (ou duplicate)Verificar flag duplicated na resposta
400Schema inválidoConferir campos obrigatórios e tipos
401API key inválidaVerificar token no header Authorization
403site_id não pertence à contaConferir vínculo entre API key e site
429Rate limitRespeitar Retry-After
500Erro internoEnfileirar para retry