MAILCHIMP Members List - Listar Assinantes
O que é este Node?
O Mailchimp Members List é o node responsável por listar todos os assinantes de uma lista com filtros por status e paginação.
Por que este Node existe?
Visualizar assinantes é fundamental. Este node existe para:
- Auditoria: Ver todos os assinantes da lista
- Exportação: Extrair dados para análise
- Contagem: Verificar quantos assinantes por status
- Filtros: Listar apenas inscritos ativos
- Integração: Sincronizar com outros sistemas
Como funciona internamente?
Código interno (mailchimp.executor.ts:202-213):
case 'list':
const listMembersResponse = await axios.get(`${baseUrl}/lists/${listId}/members`, {
headers: {
'Authorization': `Bearer ${apiKey}`,
},
params: {
count: data.count || 100,
offset: data.offset || 0,
status: data.status || 'subscribed',
},
});
return listMembersResponse.data;
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| listId | string | Sim | ID da lista |
| count | number | Não | Quantidade por página (padrão: 100, máx: 1000) |
| offset | number | Não | Itens a pular (padrão: 0) |
| status | string | Não | Filtro de status (padrão: "subscribed") |
Status Disponíveis para Filtro
- subscribed: Apenas ativos
- unsubscribed: Apenas cancelados
- cleaned: Apenas inválidos
- pending: Apenas aguardando confirmação
- transactional: Apenas transacionais
Exemplo: Listar Todos Assinantes Ativos
{
"name": "Listar Assinantes Ativos",
"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": "Buscar Assinantes",
"resource": "members",
"operation": "list",
"config": {
"apiKey": "{{mailchimp_api_key}}",
"server": "{{mailchimp_server}}"
},
"listId": "{{list_id}}",
"count": 50,
"offset": 0,
"status": "subscribed",
"responseVariable": "subscribers"
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Mostrar Total",
"parameters": {
"message": "📊 ASSINANTES ATIVOS\n\n✅ Total: {{subscribers.total_items}}\n📄 Mostrando: {{subscribers.members.length}}"
}
}
},
{
"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" }
]
}
Resposta do Node
{
"members": [
{
"id": "abc123",
"email_address": "joao@exemplo.com",
"status": "subscribed",
"merge_fields": {
"FNAME": "João",
"LNAME": "Silva"
},
"timestamp_opt": "2025-01-15T10:00:00+00:00"
},
{
"id": "def456",
"email_address": "maria@exemplo.com",
"status": "subscribed",
"merge_fields": {
"FNAME": "Maria",
"LNAME": "Santos"
},
"timestamp_opt": "2025-01-16T14:30:00+00:00"
}
],
"list_id": "abc123list",
"total_items": 1500
}
Paginação
Para buscar próximas páginas:
// Página 1: offset=0, count=100 (itens 1-100)
// Página 2: offset=100, count=100 (itens 101-200)
// Página 3: offset=200, count=100 (itens 201-300)
Próximos Passos
→ Members Get - Buscar assinante específico → Members Add - Adicionar novos assinantes