Endpoint
POST https://api.affiliatus.io/v1/affiliates
Este endpoint permite criar um novo afiliado associado à campanha da sua API Key.
Auto-geração de Referral ID: Se você não fornecer um referralId, o sistema gerará automaticamente um código único de 8 caracteres alfanuméricos.
Autenticação
Sua API key obtida no dashboard em Configurações → API Keys
Body Parameters
E-mail do afiliado. Deve ser único dentro da campanha.
Senha para o afiliado acessar o portal. Mínimo de 6 caracteres.
Nome completo do afiliado
Telefone de contato do afiliado
Código de referência único para rastreamento. Se não fornecido, será gerado automaticamente.Regras:
- Deve ser único globalmente (não apenas na campanha)
- Alfanumérico (A-Z, 0-9)
- Recomendado: 4-12 caracteres
Response
ID único do afiliado criado
Código de referência único
Status do afiliado (pending, active ou inactive)
Data de criação (ISO 8601)
Número total de conversões (sempre 0 para novos afiliados)
Valor total de comissões em BRL
Valor total já pago ao afiliado em BRL
Exemplos
Criar Afiliado Completo
curl -X POST https://api.affiliatus.io/v1/affiliates \
-H "Content-Type: application/json" \
-H "X-API-Key: sua_api_key_aqui" \
-d '{
"name": "João Silva",
"email": "[email protected]",
"phone": "+55 11 99999-9999",
"referralId": "JOAO123",
"password": "senha_segura_123"
}'
Resposta de Sucesso (201 Created)
{
"id": 123,
"name": "João Silva",
"email": "[email protected]",
"phone": "+55 11 99999-9999",
"referralId": "JOAO123",
"status": "active",
"createdAt": "2024-01-15T10:30:00.000Z",
"totalConversions": 0,
"totalCommissions": 0,
"totalPaid": 0
}
Criar Afiliado Mínimo (Auto-gerar Referral ID)
curl -X POST https://api.affiliatus.io/v1/affiliates \
-H "Content-Type: application/json" \
-H "X-API-Key: sua_api_key_aqui" \
-d '{
"email": "[email protected]",
"password": "senha123"
}'
Resposta de Sucesso (Referral ID gerado)
{
"id": 124,
"email": "[email protected]",
"referralId": "A7K9M2X5",
"status": "active",
"createdAt": "2024-01-15T10:35:00.000Z",
"totalConversions": 0,
"totalCommissions": 0,
"totalPaid": 0
}
Erros
400 - Dados Inválidos
{
"statusCode": 400,
"message": [
"email must be a valid email",
"password must be at least 6 characters long"
],
"error": "Bad Request"
}
Solução: Corrija os dados conforme as mensagens de erro.
401 - API Key Inválida
{
"statusCode": 401,
"message": "Invalid or inactive API Key",
"error": "Unauthorized"
}
Solução: Verifique se o header X-API-Key está correto e se a chave está ativa.
403 - Limite Excedido
{
"statusCode": 403,
"message": "Affiliate limit exceeded: Affiliate limit reached for starter plan. Current: 50/50",
"error": "Forbidden"
}
Solução: Faça upgrade do seu plano ou remova afiliados inativos.
409 - E-mail ou Referral ID Não Disponível
{
"statusCode": 409,
"message": "Email is not available",
"error": "Conflict"
}
ou
{
"statusCode": 409,
"message": "Referral ID is not available",
"error": "Conflict"
}
Solução: Use um e-mail ou referralId diferente.
Segurança: As mensagens não revelam se o conflito é dentro da sua campanha ou em outra campanha.
429 - Rate Limit
{
"statusCode": 429,
"message": "ThrottlerException: Too Many Requests",
"error": "Too Many Requests"
}
Solução: Aguarde 60 segundos antes de tentar novamente.
Validações
- Obrigatório
- Deve ser um e-mail válido
- Único por campanha
- Obrigatória
- Mínimo de 6 caracteres
- Será armazenada com hash bcrypt (segura)
- Opcional (auto-gerado se não fornecido)
- Único globalmente
- Alfanumérico (A-Z, 0-9)
- Case-insensitive para validação
- Opcionais
- Podem ser atualizados posteriormente
Próximos Passos