Pular para conteúdo

MAILCHIMP Members Delete - Remover Assinante

O que é este Node?

O Mailchimp Members Delete é o node responsável por remover permanentemente um assinante da lista.

Por que este Node existe?

Compliance e limpeza de dados são necessários. Este node existe para:

  1. LGPD/GDPR: Direito ao esquecimento
  2. Limpeza: Remover emails inválidos
  3. Solicitação: Usuário pediu remoção total
  4. Manutenção: Limpar lista de testes
  5. Compliance: Atender requisições legais

Como funciona internamente?

Código interno (mailchimp.executor.ts:215-224):

case 'delete':
  const deleteEmail = this.replaceVariables(data.email || '', context.variables);
  const deleteHash = require('crypto').createHash('md5').update(deleteEmail.toLowerCase()).digest('hex');

  await axios.delete(`${baseUrl}/lists/${listId}/members/${deleteHash}`, {
    headers: {
      'Authorization': `Bearer ${apiKey}`,
    },
  });
  return { success: true, message: 'Member deleted' };

⚠️ ATENÇÃO - AÇÃO PERMANENTE

ESTA AÇÃO NÃO PODE SER DESFEITA!

  • Assinante será PERMANENTEMENTE removido
  • Histórico será apagado
  • Estatísticas serão perdidas
  • Não poderá ser recuperado

Use com cautela!

Parâmetros

Campo Tipo Obrigatório Descrição
listId string Sim ID da lista
email string Sim Email do assinante a remover

Diferença: Delete vs Unsubscribe

Unsubscribe (Members Update com status="unsubscribed"): - ✅ Mantém histórico - ✅ Mantém estatísticas - ✅ Pode ser reativado - ✅ Conta para métricas

Delete (Members Delete): - ❌ Remove TUDO permanentemente - ❌ Perde histórico - ❌ Não pode recuperar - ⚠️ Use apenas quando necessário

Exemplo: Processamento de Solicitação LGPD

{
  "name": "Processar Solicitação LGPD - Remover Dados",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "email_1",
      "type": "email",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Email a Remover",
        "parameters": {
          "message": "Digite o email que deseja remover permanentemente:",
          "variable": "email_remover"
        }
      }
    },
    {
      "id": "message_aviso",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Aviso LGPD",
        "parameters": {
          "message": "⚠️ REMOÇÃO PERMANENTE\n\nSeu email ({{email_remover}}) será REMOVIDO PERMANENTEMENTE de nossa base.\n\n✅ Todos seus dados serão apagados\n✅ Não receberá mais emails\n✅ Histórico será excluído\n\n❌ Esta ação NÃO pode ser desfeita\n\nDigite CONFIRMAR para prosseguir:"
        }
      }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Digite CONFIRMAR:",
          "variable": "confirmacao"
        }
      }
    },
    {
      "id": "condition_1",
      "type": "condition",
      "position": { "x": 900, "y": 100 },
      "data": {
        "label": "Verificar",
        "parameters": {
          "condition": "{{confirmacao}} == 'CONFIRMAR'"
        }
      }
    },
    {
      "id": "mailchimp_1",
      "type": "mailchimp",
      "position": { "x": 1100, "y": 50 },
      "data": {
        "label": "Remover do Mailchimp",
        "resource": "members",
        "operation": "delete",
        "config": {
          "apiKey": "{{mailchimp_api_key}}",
          "server": "{{mailchimp_server}}"
        },
        "listId": "{{list_id}}",
        "email": "{{email_remover}}",
        "responseVariable": "resultado"
      }
    },
    {
      "id": "message_removido",
      "type": "message",
      "position": { "x": 1300, "y": 50 },
      "data": {
        "label": "Confirmação",
        "parameters": {
          "message": "✅ DADOS REMOVIDOS\n\n{{email_remover}} foi permanentemente removido de nossa base.\n\nConform LGPD/GDPR, seus dados foram completamente apagados."
        }
      }
    },
    {
      "id": "message_cancelado",
      "type": "message",
      "position": { "x": 1100, "y": 150 },
      "data": {
        "label": "Cancelado",
        "parameters": {
          "message": "❌ Remoção cancelada.\n\nSeus dados foram mantidos."
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 1500, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "email_1" },
    { "source": "email_1", "target": "message_aviso" },
    { "source": "message_aviso", "target": "input_1" },
    { "source": "input_1", "target": "condition_1" },
    { "source": "condition_1", "target": "mailchimp_1", "label": "true" },
    { "source": "condition_1", "target": "message_cancelado", "label": "false" },
    { "source": "mailchimp_1", "target": "message_removido" },
    { "source": "message_removido", "target": "end_1" },
    { "source": "message_cancelado", "target": "end_1" }
  ]
}

Resposta do Node

{
  "success": true,
  "message": "Member deleted"
}

Checklist Antes de Remover

  • [ ] Tenho autorização do titular?
  • [ ] É realmente necessário remover (vs unsubscribe)?
  • [ ] Fiz backup se necessário?
  • [ ] Confirmei o email correto?
  • [ ] Documentei a solicitação?
  • [ ] Avisei o usuário sobre permanência?

Boas Práticas

SIM: - Implemente dupla confirmação - Documente motivo da remoção - Avise sobre permanência - Use para compliance LGPD/GDPR - Confirme email antes de remover

NÃO: - Não remova sem confirmação - Não use para "unsubscribe" normal - Não remova emails errados - Não ignore requisições legais

Alternativa Recomendada

Em vez de DELETE, considere UPDATE com unsubscribed:

{
  "resource": "members",
  "operation": "update",
  "email": "usuario@email.com",
  "status": "unsubscribed"
}

Vantagens: - Mantém histórico - Pode ser revertido - Preserva estatísticas - Melhor para análise

Próximos Passos

Members Update - Alternativa: usar status "unsubscribed" → Members Get - Verificar antes de remover