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:
- Automação: Enviar campanha baseado em eventos
- Gatilhos: Disparar quando condição atendida
- Integração: Enviar após ação em outro sistema
- Eficiência: Eliminar envio manual
- 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