SHOPIFY CUSTOMER CREATE - Criar Cliente no Shopify
O que é este Node?
O SHOPIFY CUSTOMER CREATE é o node responsável por criar novos clientes na loja Shopify, registrando nome, email, telefone e endereço.
Por que este Node existe?
Gerenciar base de clientes é essencial para e-commerce. O SHOPIFY CUSTOMER CREATE existe para:
- Cadastro via WhatsApp: Criar cliente quando faz primeiro contato
- Sincronização: Importar clientes de outros sistemas
- Campanha de marketing: Cadastrar leads capturados
- Programa de fidelidade: Registrar membros do programa
- Integração: Manter base unificada entre sistemas
Como funciona internamente?
Quando executado, o sistema envia requisição POST para API Shopify criando novo cliente e retornando dados completos com ID gerado.
Código interno (shopify.executor.ts:88-92):
case 'create': {
const customer = JSON.parse(this.replaceVariables(JSON.stringify(node.data.customer), context.variables));
const response = await axios.post(`${baseUrl}/customers.json`, { customer }, { 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 |
| customer.email | string | Sim | Email do cliente |
| customer.first_name | string | Não | Nome |
| customer.last_name | string | Não | Sobrenome |
| customer.phone | string | Não | Telefone com código país |
| customer.addresses | array | Não | Endereços de entrega |
| customer.tags | string | Não | Tags separadas por vírgula |
| responseVariable | string | Não | Variável (padrão: shopifyResult) |
Exemplo: Cadastrar Cliente via WhatsApp
{
"name": "Shopify - Cadastro de Cliente",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "message_1",
"type": "message",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Boas-vindas",
"parameters": {
"message": "Bem-vindo! Vamos fazer seu cadastro."
}
}
},
{
"id": "input_1",
"type": "input",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Nome",
"parameters": {
"message": "Qual é o seu nome completo?",
"variable": "fullName"
}
}
},
{
"id": "email_1",
"type": "email",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Email",
"parameters": {
"message": "Digite seu email:",
"variable": "customerEmail"
}
}
},
{
"id": "phone_1",
"type": "phone",
"position": { "x": 900, "y": 100 },
"data": {
"label": "Telefone",
"parameters": {
"message": "Digite seu telefone com DDD:",
"variable": "customerPhone"
}
}
},
{
"id": "shopify_1",
"type": "shopify",
"position": { "x": 1100, "y": 100 },
"data": {
"label": "Criar Cliente",
"operation": "create",
"resource": "customers",
"config": {
"shopName": "minhaloja",
"accessToken": "shpat_xxxxxxxxxxxxx"
},
"customer": {
"first_name": "{{fullName}}",
"email": "{{customerEmail}}",
"phone": "{{customerPhone}}",
"tags": "whatsapp, novo_cliente"
},
"responseVariable": "newCustomer"
}
},
{
"id": "message_2",
"type": "message",
"position": { "x": 1300, "y": 100 },
"data": {
"label": "Sucesso",
"parameters": {
"message": "✅ Cadastro realizado com sucesso!\n\nNome: {{fullName}}\nEmail: {{customerEmail}}\nID Cliente: {{newCustomer.customer.id}}\n\nVocê receberá nossas novidades e ofertas!"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 1500, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "message_1" },
{ "source": "message_1", "target": "input_1" },
{ "source": "input_1", "target": "email_1" },
{ "source": "email_1", "target": "phone_1" },
{ "source": "phone_1", "target": "shopify_1" },
{ "source": "shopify_1", "target": "message_2" },
{ "source": "message_2", "target": "end_1" }
]
}
Resposta do Node
{
"customer": {
"id": 6234567890123,
"email": "joao@example.com",
"first_name": "João",
"last_name": "Silva",
"phone": "+5511999999999",
"created_at": "2025-01-15T10:30:00-03:00",
"updated_at": "2025-01-15T10:30:00-03:00",
"tags": "whatsapp, novo_cliente",
"addresses": [],
"orders_count": 0,
"total_spent": "0.00",
"state": "enabled"
}
}
Boas Práticas
SIM: - Valide email antes de criar cliente - Use tags para segmentar clientes (origem, tipo, etc.) - Verifique se email já existe antes de criar duplicado - Normalize telefone com código do país (+55) - Registre origem do cadastro em tags
NÃO: - Não crie clientes com emails inválidos - Não crie duplicados sem verificar - Não esqueça de tratar erros (email já existe) - Não envie dados sensíveis em tags
Dicas
Dica 1: Shopify valida email único - não permite duplicados.
Dica 2: Use tags para identificar origem: whatsapp, site, loja_fisica.
Dica 3: Telefone deve ter código do país: +5511999999999.
Dica 4: Cliente é criado com state: enabled por padrão.
Próximo Node
→ SHOPIFY CUSTOMER GET - Buscar cliente → SHOPIFY CUSTOMER UPDATE - Atualizar cliente → SHOPIFY CUSTOMER SEARCH - Buscar por email/nome