Pular para conteúdo

MAILCHIMP Campaigns Send - Enviar Campanha

O que é este Node?

O Mailchimp Campaigns Send é o node responsável por enviar imediatamente uma campanha já criada para todos os destinatários.

Por que este Node existe?

Enviar campanhas automaticamente é poderoso. Este node existe para:

  1. Automação: Enviar campanha baseado em eventos
  2. Gatilhos: Disparar quando condição atendida
  3. Integração: Enviar após ação em outro sistema
  4. Eficiência: Eliminar envio manual
  5. Escala: Enviar múltiplas campanhas automaticamente

Como funciona internamente?

Código interno (mailchimp.executor.ts:257-264):

case 'send':
  const sendCampaignId = this.replaceVariables(data.campaignId || '', context.variables);
  const sendResponse = await axios.post(`${baseUrl}/campaigns/${sendCampaignId}/actions/send`, {}, {
    headers: {
      'Authorization': `Bearer ${apiKey}`,
    },
  });
  return { success: true, message: 'Campaign sent' };

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

Esta ação envia IMEDIATAMENTE para TODOS os destinatários!

  • Não há "desfazer" após enviar
  • Verifique conteúdo antes
  • Teste em lista pequena primeiro
  • Confirme campanha ID correto

Parâmetros

Campo Tipo Obrigatório Descrição
campaignId string Sim ID da campanha a enviar

Pré-requisitos

Antes de enviar, a campanha DEVE ter:

  • ✅ Conteúdo HTML ou texto configurado
  • ✅ Lista de destinatários válida
  • ✅ Assunto definido
  • ✅ Remetente configurado
  • ✅ Status "save" (não enviada ainda)

Exemplo: Enviar Campanha Automaticamente

{
  "name": "Criar e Enviar Campanha Automática",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início - Evento Detectado" }
    },
    {
      "id": "mailchimp_create",
      "type": "mailchimp",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Criar Campanha",
        "resource": "campaigns",
        "operation": "create",
        "config": {
          "apiKey": "{{mailchimp_api_key}}",
          "server": "{{mailchimp_server}}"
        },
        "type": "regular",
        "listId": "{{list_id}}",
        "subject": "Oferta Especial - {{produto}}",
        "fromName": "Ofertas Lumina",
        "replyTo": "ofertas@lumina.com.br",
        "title": "Campanha Automática {{produto}}",
        "responseVariable": "newCampaign"
      }
    },
    {
      "id": "message_aviso",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Aviso",
        "parameters": {
          "message": "⚠️ Campanha criada!\n\nID: {{newCampaign.id}}\n\n⏳ Aguarde enquanto adicionamos o conteúdo..."
        }
      }
    },
    {
      "id": "delay_1",
      "type": "delay",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Aguardar Conteúdo",
        "parameters": {
          "duration": 5,
          "unit": "seconds"
        }
      }
    },
    {
      "id": "message_confirm",
      "type": "message",
      "position": { "x": 900, "y": 100 },
      "data": {
        "label": "Confirmar Envio",
        "parameters": {
          "message": "⚠️ CONFIRMAR ENVIO\n\nCampanha: {{newCampaign.settings.title}}\nDestinatários: {{newCampaign.recipients.recipient_count}}\n\nVocê tem certeza? Digite SIM para enviar:"
        }
      }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 1100, "y": 100 },
      "data": {
        "label": "Confirmação",
        "parameters": {
          "message": "Digite SIM:",
          "variable": "confirm"
        }
      }
    },
    {
      "id": "condition_1",
      "type": "condition",
      "position": { "x": 1300, "y": 100 },
      "data": {
        "label": "Verificar",
        "parameters": {
          "condition": "{{confirm}} == 'SIM'"
        }
      }
    },
    {
      "id": "mailchimp_send",
      "type": "mailchimp",
      "position": { "x": 1500, "y": 50 },
      "data": {
        "label": "ENVIAR",
        "resource": "campaigns",
        "operation": "send",
        "config": {
          "apiKey": "{{mailchimp_api_key}}",
          "server": "{{mailchimp_server}}"
        },
        "campaignId": "{{newCampaign.id}}",
        "responseVariable": "sendResult"
      }
    },
    {
      "id": "message_sent",
      "type": "message",
      "position": { "x": 1700, "y": 50 },
      "data": {
        "label": "Enviado",
        "parameters": {
          "message": "✅ CAMPANHA ENVIADA!\n\n📧 {{newCampaign.settings.subject_line}}\n👥 {{newCampaign.recipients.recipient_count}} destinatários\n\nAcompanhe resultados no Mailchimp!"
        }
      }
    },
    {
      "id": "message_cancelled",
      "type": "message",
      "position": { "x": 1500, "y": 150 },
      "data": {
        "label": "Cancelado",
        "parameters": {
          "message": "❌ Envio cancelado.\n\nCampanha salva mas não enviada."
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 1900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "mailchimp_create" },
    { "source": "mailchimp_create", "target": "message_aviso" },
    { "source": "message_aviso", "target": "delay_1" },
    { "source": "delay_1", "target": "message_confirm" },
    { "source": "message_confirm", "target": "input_1" },
    { "source": "input_1", "target": "condition_1" },
    { "source": "condition_1", "target": "mailchimp_send", "label": "true" },
    { "source": "condition_1", "target": "message_cancelled", "label": "false" },
    { "source": "mailchimp_send", "target": "message_sent" },
    { "source": "message_sent", "target": "end_1" },
    { "source": "message_cancelled", "target": "end_1" }
  ]
}

Resposta do Node

{
  "success": true,
  "message": "Campaign sent"
}

Checklist Antes de Enviar

  • [ ] Campanha tem conteúdo HTML/texto?
  • [ ] Assunto está correto?
  • [ ] Lista de destinatários é a correta?
  • [ ] Testei em email pessoal?
  • [ ] Links funcionam?
  • [ ] Imagens carregam?
  • [ ] Remetente está verificado?
  • [ ] Horário é apropriado?

Tratamento de Erros

Campanha sem conteúdo

{
  "status": 400,
  "title": "Campaign Not Ready",
  "detail": "Campaign content is required before sending."
}

Solução: Adicione conteúdo no Mailchimp antes de enviar.

Campanha já enviada

{
  "status": 400,
  "title": "Invalid Action",
  "detail": "Campaign has already been sent."
}

Boas Práticas

SIM: - SEMPRE teste antes de enviar - Implemente confirmação dupla - Verifique horário de envio - Valide lista de destinatários - Monitore após envio

NÃO: - NUNCA envie sem testar - Não envie em horários ruins - Não envie sem conteúdo - Não ignore validações

Alternativa: Agendar Envio

Para mais controle, use Campaigns Schedule ao invés de envio imediato.

Próximos Passos

Campaigns Schedule - Agendar envio futuro → Campaigns Get - Verificar status após envio