Pular para conteúdo

MAILCHIMP Lists Create - Criar Lista de Audiência

O que é este Node?

O Mailchimp Lists Create é o node responsável por criar uma nova lista de audiência no Mailchimp com todas as configurações necessárias (nome, contato da empresa, configurações padrão de campanha).

Por que este Node existe?

Listas são a base do email marketing no Mailchimp. Este node existe para:

  1. Automatizar criação de listas: Criar listas dinamicamente baseado em eventos
  2. Segmentação automática: Criar listas específicas para diferentes públicos
  3. Organização: Manter audiências organizadas por categoria/produto
  4. Compliance: Configurar listas com informações legais corretas

Como funciona internamente?

Quando o Lists Create é executado, o sistema:

  1. Valida configurações de API Key e server
  2. Monta objeto da lista com todas as informações necessárias
  3. Faz requisição POST para API do Mailchimp /lists
  4. Recebe ID da lista criada
  5. Salva resposta na variável especificada
  6. Continua o flow com o ID disponível

Código interno (mailchimp.executor.ts:53-80):

case 'create':
  const listData = {
    name: this.replaceVariables(data.listName || '', context.variables),
    contact: {
      company: this.replaceVariables(data.company || '', context.variables),
      address1: this.replaceVariables(data.address || '', context.variables),
      city: this.replaceVariables(data.city || '', context.variables),
      state: this.replaceVariables(data.state || '', context.variables),
      zip: this.replaceVariables(data.zip || '', context.variables),
      country: this.replaceVariables(data.country || '', context.variables),
    },
    permission_reminder: this.replaceVariables(data.permissionReminder || 'You are receiving this email because you signed up.', context.variables),
    campaign_defaults: {
      from_name: this.replaceVariables(data.fromName || '', context.variables),
      from_email: this.replaceVariables(data.fromEmail || '', context.variables),
      subject: this.replaceVariables(data.subject || '', context.variables),
      language: data.language || 'en',
    },
    email_type_option: data.emailTypeOption !== false,
  };

  const createResponse = await axios.post(`${baseUrl}/lists`, listData, {
    headers: {
      'Authorization': `Bearer ${apiKey}`,
      'Content-Type': 'application/json',
    },
  });
  return createResponse.data;

Quando você DEVE usar este Node?

Use Lists Create quando precisar criar listas dinamicamente:

Casos de uso:

  1. Nova categoria de produto: Criar lista específica para novo produto
  2. Evento especial: Lista temporária para evento/webinar
  3. Segmentação geográfica: Listas por região/cidade
  4. Idiomas diferentes: Lista por idioma do usuário
  5. Campanhas sazonais: Listas para Black Friday, Natal, etc.

Quando NÃO usar Lists Create:

  • Listas fixas: Crie manualmente no Mailchimp (mais controle)
  • Testes: Use lista de teste existente
  • Única lista: Não precisa criar, use Members Add

Parâmetros Detalhados

listName (string, obrigatório)

O que é: Nome da lista que será exibido no Mailchimp.

Exemplo: "Newsletter Principal", "Clientes VIP", "Leads Black Friday 2025"

Flow completo para testar:

{
  "name": "Teste Mailchimp Lists Create - Nome",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "mailchimp_1",
      "type": "mailchimp",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Criar Lista",
        "resource": "lists",
        "operation": "create",
        "config": {
          "apiKey": "{{mailchimp_api_key}}",
          "server": "{{mailchimp_server}}"
        },
        "listName": "Newsletter Teste Automático",
        "company": "Minha Empresa",
        "address": "Rua Teste, 123",
        "city": "São Paulo",
        "state": "SP",
        "zip": "01000-000",
        "country": "BR",
        "permissionReminder": "Você está recebendo porque se inscreveu no site.",
        "fromName": "Equipe Minha Empresa",
        "fromEmail": "contato@minhaempresa.com",
        "subject": "Novidades Semanais",
        "responseVariable": "listResult"
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "✅ Lista criada!\nID: {{listResult.id}}\nNome: {{listResult.name}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "mailchimp_1" },
    { "source": "mailchimp_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Execute o flow. Verifique no Mailchimp que a lista foi criada!

company (string, obrigatório)

O que é: Nome da empresa/organização que aparecerá nos emails.

Exemplo: "Lumina Tech", "E-commerce Brasil"

address, city, state, zip, country (string, obrigatório)

O que é: Endereço físico da empresa (exigido por leis anti-spam).

Importante: Estes campos são OBRIGATÓRIOS por leis como CAN-SPAM (EUA) e GDPR (Europa).

permissionReminder (string, opcional)

O que é: Lembrete de como o assinante entrou na lista.

Padrão: "You are receiving this email because you signed up."

Exemplos: - "Você está recebendo porque se inscreveu no site." - "Você solicitou receber nossas novidades." - "Você participou de nosso evento."

fromName (string, obrigatório)

O que é: Nome do remetente padrão dos emails.

Exemplo: "Equipe Lumina", "João da Marketing"

fromEmail (string, obrigatório)

O que é: Email remetente padrão (deve ser válido e verificado).

Exemplo: "contato@lumina.app.br", "newsletter@empresa.com"

Importante: Este email precisa estar verificado no Mailchimp!

subject (string, obrigatório)

O que é: Assunto padrão para campanhas desta lista.

Exemplo: "Novidades Semanais", "Ofertas Exclusivas"

language (string, opcional)

O que é: Idioma padrão dos emails.

Padrão: "en"

Valores: "pt", "en", "es", "fr", "de", etc.

emailTypeOption (boolean, opcional)

O que é: Permitir que assinantes escolham receber HTML ou texto.

Padrão: true

Parâmetros

Campo Tipo Obrigatório Descrição
listName string Sim Nome da lista
company string Sim Nome da empresa
address string Sim Endereço da empresa
city string Sim Cidade
state string Sim Estado/Província
zip string Sim CEP/Código Postal
country string Sim País (código ISO)
permissionReminder string Não Lembrete de opt-in
fromName string Sim Nome do remetente
fromEmail string Sim Email do remetente
subject string Sim Assunto padrão
language string Não Idioma (padrão: "en")
emailTypeOption boolean Não Permitir escolha HTML/texto (padrão: true)

Exemplo 1: Criar Lista para Newsletter

Objetivo: Criar lista de newsletter automaticamente quando novo produto é lançado.

JSON para Importar

{
  "name": "Criar Lista Newsletter Produto",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "variable_1",
      "type": "variable",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Definir Produto",
        "parameters": {
          "variable": "produto_nome",
          "value": "Curso de Marketing Digital"
        }
      }
    },
    {
      "id": "mailchimp_1",
      "type": "mailchimp",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Criar Lista",
        "resource": "lists",
        "operation": "create",
        "config": {
          "apiKey": "{{mailchimp_api_key}}",
          "server": "{{mailchimp_server}}"
        },
        "listName": "Newsletter - {{produto_nome}}",
        "company": "Lumina Educação",
        "address": "Av. Paulista, 1000",
        "city": "São Paulo",
        "state": "SP",
        "zip": "01310-100",
        "country": "BR",
        "permissionReminder": "Você se inscreveu para receber informações sobre {{produto_nome}}",
        "fromName": "Equipe Lumina",
        "fromEmail": "cursos@lumina.com.br",
        "subject": "Novidades sobre {{produto_nome}}",
        "language": "pt",
        "responseVariable": "novaLista"
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Sucesso",
        "parameters": {
          "message": "🎉 Lista criada com sucesso!\n\n📋 Nome: {{novaLista.name}}\n🆔 ID: {{novaLista.id}}\n👥 Link de inscrição: {{novaLista.subscribe_url_short}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "variable_1" },
    { "source": "variable_1", "target": "mailchimp_1" },
    { "source": "mailchimp_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: 🎉 Lista criada com sucesso!

📋 Nome: Newsletter - Curso de Marketing Digital
🆔 ID: abc123def456
👥 Link de inscrição: http://eepurl.com/xyz

Exemplo 2: Lista por Região Geográfica

Objetivo: Criar listas específicas por estado para campanhas regionais.

JSON para Importar

{
  "name": "Criar Lista por Estado",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Pedir Estado",
        "parameters": {
          "message": "Digite o estado (SP, RJ, MG, etc):",
          "variable": "estado"
        }
      }
    },
    {
      "id": "mailchimp_1",
      "type": "mailchimp",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Criar Lista Regional",
        "resource": "lists",
        "operation": "create",
        "config": {
          "apiKey": "{{mailchimp_api_key}}",
          "server": "{{mailchimp_server}}"
        },
        "listName": "Clientes {{estado}} - 2025",
        "company": "Rede Nacional Varejo",
        "address": "Rua Principal, 500",
        "city": "São Paulo",
        "state": "{{estado}}",
        "zip": "00000-000",
        "country": "BR",
        "permissionReminder": "Você é cliente da região {{estado}} e optou por receber ofertas regionais",
        "fromName": "Ofertas {{estado}}",
        "fromEmail": "regional@empresa.com.br",
        "subject": "Ofertas Exclusivas para {{estado}}",
        "language": "pt",
        "responseVariable": "listaRegional"
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Confirmação",
        "parameters": {
          "message": "✅ Lista regional criada para {{estado}}!\n\nID da lista: {{listaRegional.id}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "mailchimp_1" },
    { "source": "mailchimp_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: Digite o estado (SP, RJ, MG, etc):
Usuário: SP
Sistema: ✅ Lista regional criada para SP!

ID da lista: abc123def456

Resposta do Node

{
  "id": "abc123def456",
  "web_id": 123456,
  "name": "Newsletter Teste Automático",
  "contact": {
    "company": "Minha Empresa",
    "address1": "Rua Teste, 123",
    "city": "São Paulo",
    "state": "SP",
    "zip": "01000-000",
    "country": "BR"
  },
  "permission_reminder": "Você está recebendo porque se inscreveu no site.",
  "campaign_defaults": {
    "from_name": "Equipe Minha Empresa",
    "from_email": "contato@minhaempresa.com",
    "subject": "Novidades Semanais",
    "language": "pt"
  },
  "email_type_option": true,
  "subscribe_url_short": "http://eepurl.com/xyz",
  "subscribe_url_long": "https://minhaempresa.us1.list-manage.com/subscribe?u=...",
  "date_created": "2025-10-13T10:00:00+00:00",
  "list_rating": 0,
  "stats": {
    "member_count": 0,
    "unsubscribe_count": 0,
    "cleaned_count": 0
  }
}

Boas Práticas

SIM: - Use nomes descritivos para as listas - Configure endereço real da empresa (exigido por lei) - Use email verificado no fromEmail - Defina permissionReminder claro - Use language correto para o público - Salve o ID da lista criada para uso posterior

NÃO: - Não use endereços falsos (ilegal) - Não use emails não verificados - Não crie listas duplicadas - Não ignore campos obrigatórios - Não exponha API Keys no código

Dicas

💡 Nomenclatura: Use padrão consistente "Tipo - Detalhes - Ano" 💡 Verificação de Email: Configure SPF/DKIM antes de enviar 💡 Teste: Sempre teste com lista pequena primeiro 💡 Documentação: Anote o List ID para usar em outros nodes 💡 Compliance: Revise leis locais de email marketing (LGPD, CAN-SPAM, GDPR)

Próximos Passos

Lists Get - Buscar detalhes da lista criada → Members Add - Adicionar assinantes à nova lista → Lists List - Listar todas as listas