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?¶
- Usuário faz login na sua aplicação
- Sua aplicação gera um JWT com as
custom_claimsdo affiliate - O agente iFriend usa essas claims para customizar:
- Branding de emails
- Cálculo de comissão
- 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:
- Logo do Affiliate — Se disponível nas custom_claims
- Footer do Affiliate — "Powered by [Nome do Affiliate]"
- 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