Pular para conteúdo

SHOPIFY CUSTOMER GET - Buscar Cliente do Shopify

O que é este Node?

O SHOPIFY CUSTOMER GET é o node responsável por buscar dados de um cliente específico no Shopify usando seu ID.

Por que este Node existe?

Consultar dados de clientes é essencial para atendimento e personalização.

Como funciona internamente?

Código interno (shopify.executor.ts:94-98):

case 'get': {
  const customerId = this.replaceVariables(node.data.customerId, context.variables);
  const response = await axios.get(`${baseUrl}/customers/${customerId}.json`, { headers });
  result = response.data;
  break;
}

Parâmetros

Campo Tipo Obrigatório Descrição
config.shopName string Sim Nome da loja
config.accessToken string Sim Token de acesso
customerId string/number Sim ID do cliente
responseVariable string Não Variável (padrão: shopifyResult)

Exemplo: Exibir Dados do Cliente

{
  "name": "Shopify - Dados do Cliente",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "ID Cliente",
        "parameters": {
          "message": "Digite o ID do cliente:",
          "variable": "customerId"
        }
      }
    },
    {
      "id": "shopify_1",
      "type": "shopify",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Buscar Cliente",
        "operation": "get",
        "resource": "customers",
        "config": {
          "shopName": "minhaloja",
          "accessToken": "shpat_xxxxxxxxxxxxx"
        },
        "customerId": "{{customerId}}",
        "responseVariable": "customer"
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Exibir Dados",
        "parameters": {
          "message": "👤 DADOS DO CLIENTE\n\n📧 Email: {{customer.customer.email}}\n👤 Nome: {{customer.customer.first_name}} {{customer.customer.last_name}}\n📱 Telefone: {{customer.customer.phone}}\n🛍️ Pedidos: {{customer.customer.orders_count}}\n💰 Total gasto: R$ {{customer.customer.total_spent}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "shopify_1" },
    { "source": "shopify_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Resposta do Node

{
  "customer": {
    "id": 6234567890123,
    "email": "joao@example.com",
    "first_name": "João",
    "last_name": "Silva",
    "phone": "+5511999999999",
    "orders_count": 5,
    "total_spent": "1249.50",
    "state": "enabled",
    "tags": "vip, whatsapp"
  }
}

Boas Práticas

SIM: - Valide se cliente existe antes de acessar dados - Use orders_count e total_spent para segmentação - Verifique state antes de operações

NÃO: - Não assuma que cliente sempre existe - Não ignore erro 404 (não encontrado)

Dicas

Dica 1: Campo orders_count mostra total de pedidos do cliente.

Dica 2: Campo total_spent mostra valor total gasto.

Dica 3: Use GET para validar ID antes de UPDATE.

Próximo Node

SHOPIFY CUSTOMER CREATE - Criar cliente → SHOPIFY CUSTOMER UPDATE - Atualizar cliente → SHOPIFY CUSTOMER SEARCH - Buscar por email