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
Sua API key obtida no dashboard em Configurações → API Keys
Path Parameters
ID do afiliado que você deseja deletar
Response
Indica se a operação foi bem-sucedida
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:
Afiliado criado por engano
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