Pular para conteúdo

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:

  1. Verificar status: Checar se email está inscrito
  2. Consultar dados: Ver merge fields atuais
  3. Validação: Confirmar existência antes de atualizar
  4. Estatísticas: Ver taxa de abertura/clique do assinante
  5. 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
email 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