Skip to main content
DELETE
https://api.affiliatus.io
/
v1
/
affiliates
/
{id}
Deletar Afiliado
curl --request DELETE \
  --url https://api.affiliatus.io/v1/affiliates/{id} \
  --header 'X-API-Key: <x-api-key>'
{
  "success": true,
  "message": "<string>"
}

Endpoint

DELETE https://api.affiliatus.io/v1/affiliates/{id}
Este endpoint remove permanentemente um afiliado da campanha e todos os seus dados associados.
Ação Irreversível: Esta operação é permanente e não pode ser desfeita. Todos os dados do afiliado, incluindo conversões, eventos e relacionamentos, serão deletados.Alternativa Recomendada: Considere desativar o afiliado (status: inactive) ao invés de deletá-lo para preservar o histórico.

Autenticação

X-API-Key
string
required
Sua API key obtida no dashboard em Configurações → API Keys

Path Parameters

id
number
required
ID do afiliado que você deseja deletar

Response

success
boolean
Indica se a operação foi bem-sucedida
message
string
Mensagem de confirmação

Exemplos

Deletar Afiliado

curl -X DELETE "https://api.affiliatus.io/v1/affiliates/123" \
  -H "X-API-Key: sua_api_key_aqui"

Resposta de Sucesso (200 OK)

{
  "success": true,
  "message": "Affiliate deleted successfully"
}

O Que é Deletado?

Quando você deleta um afiliado, os seguintes dados são permanentemente removidos:
  • Informações pessoais (nome, e-mail, telefone)
  • Credenciais de acesso
  • Código de referência (referralId)
  • Status e data de criação
  • Vínculo com a campanha (AffiliateCampaign)
  • Associação de cupons (se houver)
  • Page views
  • Leads
  • Eventos de conversão
  • Todas as conversões geradas
  • Histórico de comissões
  • Relacionamentos com payouts
  • Histórico de pagamentos
  • Registros de transações
Deleção em Cascata: O banco de dados está configurado com CASCADE DELETE, garantindo que todos os registros relacionados sejam removidos automaticamente e evitando dados órfãos.

Erros

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.

404 - Afiliado Não Encontrado

{
  "statusCode": 404,
  "message": "Affiliate not found",
  "error": "Not Found"
}
Causas possíveis:
  • O ID do afiliado não existe
  • O afiliado não está associado à campanha da sua API Key
  • O afiliado já foi deletado
Solução: Verifique se o ID está correto e se o afiliado pertence à sua campanha.
Segurança: A API não revela se um afiliado existe em outra campanha.

400 - ID Inválido

{
  "statusCode": 400,
  "message": "Validation failed (numeric string is expected)",
  "error": "Bad Request"
}
Solução: O ID deve ser um número inteiro válido.

429 - Rate Limit

{
  "statusCode": 429,
  "message": "ThrottlerException: Too Many Requests",
  "error": "Too Many Requests"
}
Solução: Aguarde 60 segundos antes de tentar novamente.

Alternativa: Desativar ao Invés de Deletar

Na maioria dos casos, é recomendado desativar o afiliado ao invés de deletá-lo:

Vantagens de Desativar

Mantém todas as conversões e comissões para relatórios e auditoria.
Você pode reativar o afiliado no futuro se necessário.
Facilita compliance e auditorias mantendo registros históricos.
Permite análises de longo prazo sem perder dados.

Como Desativar

Use o endpoint de atualização para mudar o status:
curl -X PATCH "https://api.affiliatus.io/v1/affiliates/123" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sua_api_key_aqui" \
  -d '{"status": "inactive"}'
Afiliados com status inactive não podem gerar novas conversões, mas mantêm todo o histórico intacto.

Quando Usar DELETE

Use a deleção permanente apenas quando:
Se o afiliado foi criado acidentalmente e nunca gerou conversões.
Para limpar dados de teste durante desenvolvimento.
Quando o afiliado solicitar formalmente a remoção completa de seus dados.
Em casos de fraude comprovada onde os registros devem ser eliminados.

Exemplo: Confirmação Antes de Deletar

É uma boa prática consultar o afiliado antes de deletá-lo:
async function deleteAffiliateWithConfirmation(affiliateId) {
  // 1. Consultar o afiliado
  const getResponse = await fetch(
    `https://api.affiliatus.io/v1/affiliates/${affiliateId}`,
    {
      headers: { 'X-API-Key': process.env.AFFILIATUS_API_KEY }
    }
  );
  
  const affiliate = await getResponse.json();
  
  // 2. Verificar se tem conversões
  if (affiliate.totalConversions > 0) {
    console.warn(
      `⚠️ Afiliado ${affiliate.name} tem ${affiliate.totalConversions} conversões.`
    );
    console.warn('Considere desativar ao invés de deletar.');
    return;
  }
  
  // 3. Confirmar deleção
  console.log(`Deletando afiliado ${affiliate.name}...`);
  
  const deleteResponse = await fetch(
    `https://api.affiliatus.io/v1/affiliates/${affiliateId}`,
    {
      method: 'DELETE',
      headers: { 'X-API-Key': process.env.AFFILIATUS_API_KEY }
    }
  );
  
  const result = await deleteResponse.json();
  console.log('✅', result.message);
}

// Usar
deleteAffiliateWithConfirmation(123);

Próximos Passos