MAILCHIMP Members Get - Buscar Assinante
O que é este Node?
O Mailchimp Members Get é o node responsável por buscar informações completas de um assinante específico usando seu email.
Por que este Node existe?
Consultar dados de assinantes é essencial. Este node existe para:
- Verificar status: Checar se email está inscrito
- Consultar dados: Ver merge fields atuais
- Validação: Confirmar existência antes de atualizar
- Estatísticas: Ver taxa de abertura/clique do assinante
- Decisões: Lógica condicional baseada em dados
Como funciona internamente?
Código interno (mailchimp.executor.ts:191-200):
case 'get':
const getEmail = this.replaceVariables(data.email || '', context.variables);
const getHash = require('crypto').createHash('md5').update(getEmail.toLowerCase()).digest('hex');
const getMemberResponse = await axios.get(`${baseUrl}/lists/${listId}/members/${getHash}`, {
headers: {
'Authorization': `Bearer ${apiKey}`,
},
});
return getMemberResponse.data;
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| listId | string | Sim | ID da lista |
| string | Sim | Email do assinante a buscar |
Exemplo: Verificar se Email está Inscrito
{
"name": "Verificar Inscrição",
"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": "Seu Email",
"parameters": {
"message": "Digite seu email:",
"variable": "check_email"
}
}
},
{
"id": "mailchimp_1",
"type": "mailchimp",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Buscar no Mailchimp",
"resource": "members",
"operation": "get",
"config": {
"apiKey": "{{mailchimp_api_key}}",
"server": "{{mailchimp_server}}"
},
"listId": "{{list_id}}",
"email": "{{check_email}}",
"responseVariable": "member"
}
},
{
"id": "condition_1",
"type": "condition",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Verificar Status",
"parameters": {
"condition": "{{member.status}} == 'subscribed'"
}
}
},
{
"id": "message_inscrito",
"type": "message",
"position": { "x": 900, "y": 50 },
"data": {
"label": "Já Inscrito",
"parameters": {
"message": "✅ Você já está inscrito!\n\nStatus: Ativo\nDesde: {{member.timestamp_opt}}"
}
}
},
{
"id": "message_nao_inscrito",
"type": "message",
"position": { "x": 900, "y": 150 },
"data": {
"label": "Não Inscrito",
"parameters": {
"message": "❌ Email não encontrado ou não confirmado.\n\nStatus: {{member.status}}"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 1100, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "email_1" },
{ "source": "email_1", "target": "mailchimp_1" },
{ "source": "mailchimp_1", "target": "condition_1" },
{ "source": "condition_1", "target": "message_inscrito", "label": "true" },
{ "source": "condition_1", "target": "message_nao_inscrito", "label": "false" },
{ "source": "message_inscrito", "target": "end_1" },
{ "source": "message_nao_inscrito", "target": "end_1" }
]
}
Resposta do Node
{
"id": "abc123",
"email_address": "joao@exemplo.com",
"unique_email_id": "xyz789",
"status": "subscribed",
"merge_fields": {
"FNAME": "João",
"LNAME": "Silva",
"PHONE": "11999999999"
},
"stats": {
"avg_open_rate": 25.5,
"avg_click_rate": 5.2
},
"ip_signup": "192.168.1.1",
"timestamp_signup": "2025-01-15T10:00:00+00:00",
"timestamp_opt": "2025-01-15T10:05:00+00:00",
"member_rating": 4,
"last_changed": "2025-10-13T10:00:00+00:00",
"tags": [
{"name": "vip"},
{"name": "cliente"}
]
}
Status Possíveis
- subscribed: Ativo, recebe emails
- unsubscribed: Cancelou inscrição
- cleaned: Email inválido (bounce)
- pending: Aguardando confirmação
Próximos Passos
→ Members Update - Atualizar dados encontrados → Members Delete - Remover assinante