Skip to content

Configuração de Affiliate

O que é um Affiliate?

Um affiliate é um parceiro que comercializa os serviços da iFriend sob sua própria marca, com regras de negócio e configuração específicas.

Configuração via JWT

O sistema de affiliate é configurado através do JWT de autenticação. O token carrega as custom_claims que definem o comportamento específico.

Custom Claims no JWT

{
  "sub": "user@partner.com",
  "company_id": "partner123",
  "partner_code": "MEU_PARCEIRO",
  "custom_claims": {
    "logo_url": "https://partner.com/logo.png",
    "footer_text": "Powered by Meu Parceiro",
    "primary_color": "#FF5733",
    "commission_rate": 0.15
  },
  "roles": ["ROLE_USER", "ROLE_AFFILIATE"]
}

Campos de Custom Claims

Campo Descrição
logo_url URL do logo do parceiro (usado em emails)
footer_text Texto do rodapé em comunicações
primary_color Cor primária para customização visual
commission_rate Taxa de comissão do affiliate

Como funciona a identificação?

  1. Usuário faz login na sua aplicação
  2. Sua aplicação gera um JWT com as custom_claims do affiliate
  3. O agente iFriend usa essas claims para customizar:
  4. Branding de emails
  5. Cálculo de comissão
  6. Políticas específicas

Configuração no .env

# Seu partner code (verificado contra JWT)
PARTNER_CODE=MEU_PARCEIRO

# URLs de callback para conversão
AFFILIATE_WEBHOOK_URL=https://partner.com/webhook/conversion

Emails Customizados

Quando um affiliate está ativo, os emails enviados usam:

  1. Logo do Affiliate — Se disponível nas custom_claims
  2. Footer do Affiliate — "Powered by [Nome do Affiliate]"
  3. Cor primária — Se definida, aplicada nos botões

Exemplos de Uso

Criar reserva com affiliate

# O affiliate_id vem do JWT, automaticamente
payload = {
    "experience_id": "exp-123",
    "data": "2024-06-15",
    "participantes": 2
}
# O sistema identifica o affiliate e calcula Comissão

Consultar comissões

# GET /api/affiliates/{id}/commissions
# Retorna total de vendas e comissão do período