Campos de Condição

Campos permitidos em conditions/branches, operadores e exemplos por gatilho.

Esta documentação lista todos os campos que podem ser usados nas condicionais das automações.

⚠️ Crítico para LLMs e integrações: o motor de automação em runtime só avalia um subconjunto dos campos listados no catálogo do editor. Para verificar se o pagamento foi feito ou ainda está pendente, use sempre payment_status com valores paid / pending / failed (minúsculas).
O campo order.status aparece no catálogo e em metatags {{order.status}}, mas não é resolvido em conditions[] — a condição retorna null e nunca casa.
Ver também: AUTOMATION_LLM_MANIFEST.md §7 e §9.0.

📋 Índice

  1. Campos avaliados no runtime
  2. Formato das Condicionais
  3. Operadores Disponíveis
  4. Campos Disponíveis
  5. Exemplos de Uso

Campos avaliados no runtime

Campos abaixo são resolvidos pelo motor ao avaliar condições em branches:

CampoValores típicosUso recomendado
payment_statuspaid, pending, failed, cancelled, processing✅ Pagamento confirmado ou pendente (PIX, boleto, recuperação)
payment_methodpix, boleto, credit_card, …Método de pagamento
amountnúmeroValor da transação no evento
customer.*stringDados do cliente no evento
lead.*string / booleanCarrinho abandonado, lead
tracking.*stringRastreio (tracking_code_updated)
Campo no catálogoAvaliado no runtime?Alternativa
order.status❌ Não (null)payment_status
order.total❌ Não (na função atual)amount ou metatag em templates
order.payment_method✅ Via payment_methodpayment_method ou order.payment_method

Regra para automações de cobrança / recuperação PIX:

{ "field": "payment_status", "operator": "=", "value": "pending" }
{ "field": "payment_status", "operator": "=", "value": "paid" }

🔤 Formato das Condicionais

As condicionais podem ser simples ou compostas:

Condicional Simples

{
  "type": "condition",
  "field": "payment_status",
  "operator": "=",
  "value": "paid"
}

Condicional Composta (AND/OR)

{
  "type": "condition",
  "operator": "AND",
  "conditions": [
    {
      "field": "payment_status",
      "operator": "=",
      "value": "paid"
    },
    {
      "field": "order.total",
      "operator": ">",
      "value": 100
    }
  ],
  "if_true": [...],
  "if_false": [...]
}

⚙️ Operadores Disponíveis

OperadorDescriçãoExemplo
=Igual a"payment_status" = "paid"
!=Diferente de"payment_status" != "pending"
inEstá contido em (array)"order.payment_method" in ["pix", "credit_card"]
not-inNão está contido em (array)"order.payment_method" not-in ["boleto"]

📂 Campos Disponíveis

1. Order (Pedido)

Campos relacionados ao pedido:

CampoTipoDescriçãoExemplo de Valor
order.idstringID único do pedido"a08672a1-63cc-43e6..."
order.statusstringStatus do pedido (metatag / catálogo editor)"PAID", "PENDING", … — não use em conditions[]; prefira payment_status
order.totalnumberValor total do pedido249.80
order.subtotalnumberSubtotal do pedido200.00
order.payment_methodstringMétodo de pagamento"pix", "boleto", "credit_card"
order.pix_codestringCódigo PIX"00020126360014..."
order.boleto_barcodestringCódigo de barras do boleto"34191.09008..."
order.boleto_digitable_linestringLinha digitável do boleto"34191.09008 12345..."
order.boleto_urlstringURL do boleto"https://..."
order.createdAtstringData de criação (formatada)"22/01/2025 10:30"
order.updatedAtstringData de atualização (formatada)"22/01/2025 11:00"
order.domainstringURL/domínio do checkout"https://checkout..."
order.customerIdstringID do cliente (User)"uuid"
order.sessionstringID da sessão do checkout"session-id"
order.shopifyOrderIdstringID do pedido no Shopify"123456789"
order.external_idstringID externo do pedido"ext-123"
order.fingerprintstringFingerprint do dispositivo"fp-abc123"
order.acquirerstringNome da adquirente"pagarme", "stripe"
order.installmentsnumberNúmero de parcelas3
order.currencystringCódigo da moeda"BRL"
order.woocommerceOrderIdnumberID do pedido no WooCommerce12345
order.notesstringObservações do pedido"Cliente especial"
order.couponIdstringID do cupom aplicado"uuid"
order.discount.typestringTipo de desconto"PERCENT", "FIXED"
order.discount.valuenumberValor do desconto10
order.discount.amountnumberValor formatado do desconto20.00

Valores Possíveis para order.status (metatags / exibição — não avaliado em condições):

  • PENDING - Pendente
  • PAID - Pago
  • FAILED - Falhou
  • CANCELLED - Cancelado
  • REFUNDED - Reembolsado

Para condições de pagamento, use payment_status:

ValorSignificado
pendingAguardando pagamento
paidPago
failedFalhou
cancelledCancelado
processingEm processamento

Valores Possíveis para order.payment_method:

  • pix - PIX
  • boleto - Boleto
  • credit_card - Cartão de Crédito
  • debit_card - Cartão de Débito

2. Customer (Cliente)

Campos relacionados ao cliente do pedido:

CampoTipoDescriçãoExemplo de Valor
customer.namestringNome do cliente"João Silva"
customer.emailstringEmail do cliente"[email protected]"
customer.phonestringTelefone do cliente"5511999999999"
customer.documentTypestringTipo de documento"CPF", "CNPJ"
customer.documentNumberstringCPF/CNPJ"12345678900"
customer.addressstringEndereço completo formatado"Rua Exemplo, 123, Centro"
customer.addressNumberstringNúmero do endereço"123"
customer.neighborhoodstringBairro"Centro"
customer.complementstringComplemento"Apto 101"
customer.citystringCidade"São Paulo"
customer.statestringEstado"SP"
customer.zipcodestringCEP"01234567"

3. Order Items (Itens do Pedido)

Campos relacionados aos itens do pedido:

CampoTipoDescriçãoExemplo de Valor
order.items.first.namestringNome do primeiro produto"Produto A"
order.items.first.pricenumberPreço do primeiro produto99.90
order.items.first.quantitynumberQuantidade do primeiro produto2
order.items.first.productIdstringID do produto"uuid"
order.items.first.variantIdstringID da variante"uuid"
order.items.first.shopifyVariantIdstringID variante Shopify"123456789"
order.items.first.isOrderBumpbooleanSe é order bumptrue, false
order.items.first.isUpsellbooleanSe é upselltrue, false
order.items.first.orderBumpIdstringID do order bump"uuid"
order.items.first.createdAtstringData de criação"22/01/2025 10:30"

4. Shipping (Frete)

Campos relacionados ao frete:

CampoTipoDescriçãoExemplo de Valor
shipping.idstringID do frete"uuid"
shipping.shippingIdstringID do método"uuid"
shipping.namestringNome do frete"PAC", "SEDEX"
shipping.pricenumberValor do frete15.90
shipping.turnaroundstringPrazo de entrega"10 dias úteis"
shipping.carrierstringTransportadora"Correios"

5. Lead

Campos relacionados ao lead:

5.1. Informações Básicas

CampoTipoDescriçãoExemplo de Valor
lead.idstringID do lead"uuid"
lead.namestringNome do lead"João Silva"
lead.emailstringEmail do lead"[email protected]"
lead.phonestringTelefone do lead"5511999999999"
lead.cpfstringCPF do lead"12345678900"
lead.cnpjstringCNPJ do lead"12345678000100"
lead.birthDatestringData de nascimento"01/01/1990 00:00"
lead.genderstringGênero"M", "F"
lead.fingerprintstringFingerprint"fp-abc123"
lead.checkoutIdstringID do checkout"uuid"

5.2. Endereço

CampoTipoDescriçãoExemplo de Valor
lead.zipCodestringCEP"01234567"
lead.streetstringRua"Rua Exemplo"
lead.numberstringNúmero"123"
lead.complementstringComplemento"Apto 101"
lead.neighborhoodstringBairro"Centro"
lead.citystringCidade"São Paulo"
lead.statestringEstado"SP"
lead.countrystringPaís"BR"
lead.latitudenumberLatitude-23.5505
lead.longitudenumberLongitude-46.6333

5.3. Tracking

CampoTipoDescriçãoExemplo de Valor
lead.sourcestringOrigem"google", "facebook"
lead.campaignstringCampanha"black-friday"
lead.utmSourcestringUTM Source"google"
lead.utmMediumstringUTM Medium"cpc"
lead.utmCampaignstringUTM Campaign"promo"
lead.utmTermstringUTM Term"keyword"
lead.utmContentstringUTM Content"banner"

5.4. Device/Browser

CampoTipoDescriçãoExemplo de Valor
lead.ipAddressstringIP"192.168.1.1"
lead.userAgentstringUser Agent"Mozilla/5.0..."
lead.deviceTypestringTipo de dispositivo"mobile", "desktop"
lead.browserNamestringNavegador"Chrome", "Firefox"
lead.browserVersionstringVersão navegador"120.0"
lead.osNamestringSistema operacional"Windows", "iOS"
lead.osVersionstringVersão SO"10", "17.0"
lead.screenResolutionstringResolução"1920x1080"
lead.languagestringIdioma"pt-BR"
lead.timezonestringFuso horário"America/Sao_Paulo"

5.5. Status e Datas

CampoTipoDescriçãoExemplo de Valor
lead.currentStepstringEtapa atual"payment", "address"
lead.isCompletedbooleanEstá completotrue, false
lead.isConvertedbooleanEstá convertidotrue, false
lead.checkAddressbooleanVerificou endereçotrue, false
lead.checkInfobooleanVerificou informaçõestrue, false
lead.checkPaymentbooleanVerificou pagamentotrue, false
lead.checkoutDurationnumberDuração checkout (segundos)120
lead.firstSeenAtstringPrimeira visita"22/01/2025 10:00"
lead.lastSeenAtstringÚltima visita"22/01/2025 11:00"
lead.completedAtstringData conclusão"22/01/2025 10:30"
lead.convertedAtstringData conversão"22/01/2025 10:35"
lead.createdAtstringData criação"22/01/2025 10:00"
lead.updatedAtstringData atualização"22/01/2025 11:00"

6. Browser (Navegador)

Campos relacionados ao navegador/dispositivo:

CampoTipoDescriçãoExemplo de Valor
browser.ipstringIP do cliente"192.168.1.1"
browser.userAgentstringUser Agent"Mozilla/5.0..."
browser.screenSizestringTamanho da tela"1920x1080"
browser.locationstringLocalização formatada"São Paulo, SP, BR"
browser.fingerprintstringFingerprint"fp-abc123"
browser.utms.sourcestringUTM Source"google"
browser.utms.mediumstringUTM Medium"cpc"
browser.utms.campaignstringUTM Campaign"promo"
browser.utms.termstringUTM Term"keyword"
browser.utms.contentstringUTM Content"banner"

7. Event Data (Dados do Evento)

Campos diretamente do evento disparado:

CampoTipoDescriçãoExemplo de Valor
amountnumberValor da transação249.80
customer.namestringNome do cliente (do evento)"João Silva"
customer.emailstringEmail do cliente (do evento)"[email protected]"
customer.phonestringTelefone do cliente (do evento)"5511999999999"
payment_statusstringStatus do pagamento (preferido em condições)"paid", "pending", "failed"
payment_methodstringMétodo de pagamento"pix", "boleto", "credit_card"

💡 Exemplos de Uso

Exemplo 1: Verificar Status do Pagamento

{
  "type": "condition",
  "field": "payment_status",
  "operator": "=",
  "value": "paid",
  "if_true": [
    {
      "type": "action",
      "name": "send_whatsapp",
      "data": {
        "message": "Seu pagamento foi confirmado!"
      }
    }
  ],
  "if_false": [
    {
      "type": "action",
      "name": "send_email",
      "data": {
        "subject": "Pagamento Pendente",
        "body": "Seu pagamento ainda está pendente."
      }
    }
  ]
}

Exemplo 2: Verificar Método de Pagamento

{
  "type": "condition",
  "field": "order.payment_method",
  "operator": "in",
  "value": ["pix", "credit_card"],
  "if_true": [
    {
      "type": "action",
      "name": "send_whatsapp",
      "data": {
        "message": "Pagamento instantâneo confirmado!"
      }
    }
  ]
}

Exemplo 3: Verificar Valor Mínimo

{
  "type": "condition",
  "field": "order.total",
  "operator": ">",
  "value": 100,
  "if_true": [
    {
      "type": "action",
      "name": "create_coupon",
      "data": {
        "discount": 10,
        "type": "PERCENT"
      }
    }
  ]
}

Exemplo 4: Condicional Composta (AND)

{
  "type": "condition",
  "operator": "AND",
  "conditions": [
    {
      "field": "payment_status",
      "operator": "=",
      "value": "paid"
    },
    {
      "field": "order.payment_method",
      "operator": "=",
      "value": "pix"
    },
    {
      "field": "order.total",
      "operator": ">",
      "value": 50
    }
  ],
  "if_true": [
    {
      "type": "action",
      "name": "send_whatsapp",
      "data": {
        "message": "Pagamento PIX acima de R$ 50 confirmado!"
      }
    }
  ]
}

Exemplo 5: Verificar Lead Completo

{
  "type": "condition",
  "field": "lead.isCompleted",
  "operator": "=",
  "value": true,
  "if_true": [
    {
      "type": "action",
      "name": "send_email",
      "data": {
        "subject": "Bem-vindo!",
        "body": "Obrigado por completar o checkout!"
      }
    }
  ]
}

Exemplo 6: Verificar Origem da Campanha

{
  "type": "condition",
  "field": "lead.utmSource",
  "operator": "=",
  "value": "google",
  "if_true": [
    {
      "type": "action",
      "name": "send_whatsapp",
      "data": {
        "message": "Obrigado por vir do Google!"
      }
    }
  ]
}

Exemplo 7: Verificar Tipo de Dispositivo

{
  "type": "condition",
  "field": "lead.deviceType",
  "operator": "=",
  "value": "mobile",
  "if_true": [
    {
      "type": "action",
      "name": "send_whatsapp",
      "data": {
        "message": "Detectamos que você está no celular!"
      }
    }
  ]
}

Exemplo 8: Verificar Estado do Cliente

{
  "type": "condition",
  "field": "customer.state",
  "operator": "in",
  "value": ["SP", "RJ", "MG"],
  "if_true": [
    {
      "type": "action",
      "name": "send_whatsapp",
      "data": {
        "message": "Frete grátis para sua região!"
      }
    }
  ]
}

⚠️ Notas Importantes

  1. Pagamento em condições: use payment_status (paid, pending), não order.status (PAID, PENDING) — o motor não resolve order.status em condições de branch.

  2. Case-Insensitive: As comparações de strings são case-insensitive (não diferenciam maiúsculas/minúsculas).

  3. Valores Nulos: Se um campo não for encontrado ou for nulo, a condição retornará false.

  4. Tipos de Dados:

    • Números devem ser comparados como números
    • Strings devem ser comparadas como strings
    • Booleanos devem ser true ou false
  5. Operador in: Deve receber um array de valores para comparação.

  6. Campos Aninhados: Use a notação de ponto (.) para acessar campos aninhados, como customer.email ou payment_status.

  7. Disponibilidade: Nem todos os campos estarão disponíveis em todos os eventos. Por exemplo:

    • payment_status e payment_method em eventos de pedido / PIX / boleto
    • Campos de lead em eventos relacionados a leads
    • Campos de browser quando houver dados do navegador
  8. Metatags vs condições: {{order.status}} em templates de email/WhatsApp é válido; em conditions[] use payment_status.


Última atualização: Julho 2026 — alinhado com o motor de automação e AUTOMATION_LLM_MANIFEST v1.1