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_statuscom valorespaid/pending/failed(minúsculas).
O campoorder.statusaparece no catálogo e em metatags{{order.status}}, mas não é resolvido emconditions[]— a condição retornanulle nunca casa.
Ver também: AUTOMATION_LLM_MANIFEST.md §7 e §9.0.
📋 Índice
- Campos avaliados no runtime
- Formato das Condicionais
- Operadores Disponíveis
- Campos Disponíveis
- Exemplos de Uso
Campos avaliados no runtime
Campos abaixo são resolvidos pelo motor ao avaliar condições em branches:
| Campo | Valores típicos | Uso recomendado |
|---|---|---|
payment_status | paid, pending, failed, cancelled, processing | ✅ Pagamento confirmado ou pendente (PIX, boleto, recuperação) |
payment_method | pix, boleto, credit_card, … | Método de pagamento |
amount | número | Valor da transação no evento |
customer.* | string | Dados do cliente no evento |
lead.* | string / boolean | Carrinho abandonado, lead |
tracking.* | string | Rastreio (tracking_code_updated) |
| Campo no catálogo | Avaliado 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_method | payment_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
| Operador | Descrição | Exemplo |
|---|---|---|
= | Igual a | "payment_status" = "paid" |
!= | Diferente de | "payment_status" != "pending" |
in | Está contido em (array) | "order.payment_method" in ["pix", "credit_card"] |
not-in | Não está contido em (array) | "order.payment_method" not-in ["boleto"] |
📂 Campos Disponíveis
1. Order (Pedido)
Campos relacionados ao pedido:
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
order.id | string | ID único do pedido | "a08672a1-63cc-43e6..." |
order.status | string | Status do pedido (metatag / catálogo editor) | "PAID", "PENDING", … — não use em conditions[]; prefira payment_status |
order.total | number | Valor total do pedido | 249.80 |
order.subtotal | number | Subtotal do pedido | 200.00 |
order.payment_method | string | Método de pagamento | "pix", "boleto", "credit_card" |
order.pix_code | string | Código PIX | "00020126360014..." |
order.boleto_barcode | string | Código de barras do boleto | "34191.09008..." |
order.boleto_digitable_line | string | Linha digitável do boleto | "34191.09008 12345..." |
order.boleto_url | string | URL do boleto | "https://..." |
order.createdAt | string | Data de criação (formatada) | "22/01/2025 10:30" |
order.updatedAt | string | Data de atualização (formatada) | "22/01/2025 11:00" |
order.domain | string | URL/domínio do checkout | "https://checkout..." |
order.customerId | string | ID do cliente (User) | "uuid" |
order.session | string | ID da sessão do checkout | "session-id" |
order.shopifyOrderId | string | ID do pedido no Shopify | "123456789" |
order.external_id | string | ID externo do pedido | "ext-123" |
order.fingerprint | string | Fingerprint do dispositivo | "fp-abc123" |
order.acquirer | string | Nome da adquirente | "pagarme", "stripe" |
order.installments | number | Número de parcelas | 3 |
order.currency | string | Código da moeda | "BRL" |
order.woocommerceOrderId | number | ID do pedido no WooCommerce | 12345 |
order.notes | string | Observações do pedido | "Cliente especial" |
order.couponId | string | ID do cupom aplicado | "uuid" |
order.discount.type | string | Tipo de desconto | "PERCENT", "FIXED" |
order.discount.value | number | Valor do desconto | 10 |
order.discount.amount | number | Valor formatado do desconto | 20.00 |
Valores Possíveis para order.status (metatags / exibição — não avaliado em condições):
PENDING- PendentePAID- PagoFAILED- FalhouCANCELLED- CanceladoREFUNDED- Reembolsado
Para condições de pagamento, use payment_status:
| Valor | Significado |
|---|---|
pending | Aguardando pagamento |
paid | Pago |
failed | Falhou |
cancelled | Cancelado |
processing | Em processamento |
Valores Possíveis para order.payment_method:
pix- PIXboleto- Boletocredit_card- Cartão de Créditodebit_card- Cartão de Débito
2. Customer (Cliente)
Campos relacionados ao cliente do pedido:
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
customer.name | string | Nome do cliente | "João Silva" |
customer.email | string | Email do cliente | "[email protected]" |
customer.phone | string | Telefone do cliente | "5511999999999" |
customer.documentType | string | Tipo de documento | "CPF", "CNPJ" |
customer.documentNumber | string | CPF/CNPJ | "12345678900" |
customer.address | string | Endereço completo formatado | "Rua Exemplo, 123, Centro" |
customer.addressNumber | string | Número do endereço | "123" |
customer.neighborhood | string | Bairro | "Centro" |
customer.complement | string | Complemento | "Apto 101" |
customer.city | string | Cidade | "São Paulo" |
customer.state | string | Estado | "SP" |
customer.zipcode | string | CEP | "01234567" |
3. Order Items (Itens do Pedido)
Campos relacionados aos itens do pedido:
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
order.items.first.name | string | Nome do primeiro produto | "Produto A" |
order.items.first.price | number | Preço do primeiro produto | 99.90 |
order.items.first.quantity | number | Quantidade do primeiro produto | 2 |
order.items.first.productId | string | ID do produto | "uuid" |
order.items.first.variantId | string | ID da variante | "uuid" |
order.items.first.shopifyVariantId | string | ID variante Shopify | "123456789" |
order.items.first.isOrderBump | boolean | Se é order bump | true, false |
order.items.first.isUpsell | boolean | Se é upsell | true, false |
order.items.first.orderBumpId | string | ID do order bump | "uuid" |
order.items.first.createdAt | string | Data de criação | "22/01/2025 10:30" |
4. Shipping (Frete)
Campos relacionados ao frete:
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
shipping.id | string | ID do frete | "uuid" |
shipping.shippingId | string | ID do método | "uuid" |
shipping.name | string | Nome do frete | "PAC", "SEDEX" |
shipping.price | number | Valor do frete | 15.90 |
shipping.turnaround | string | Prazo de entrega | "10 dias úteis" |
shipping.carrier | string | Transportadora | "Correios" |
5. Lead
Campos relacionados ao lead:
5.1. Informações Básicas
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
lead.id | string | ID do lead | "uuid" |
lead.name | string | Nome do lead | "João Silva" |
lead.email | string | Email do lead | "[email protected]" |
lead.phone | string | Telefone do lead | "5511999999999" |
lead.cpf | string | CPF do lead | "12345678900" |
lead.cnpj | string | CNPJ do lead | "12345678000100" |
lead.birthDate | string | Data de nascimento | "01/01/1990 00:00" |
lead.gender | string | Gênero | "M", "F" |
lead.fingerprint | string | Fingerprint | "fp-abc123" |
lead.checkoutId | string | ID do checkout | "uuid" |
5.2. Endereço
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
lead.zipCode | string | CEP | "01234567" |
lead.street | string | Rua | "Rua Exemplo" |
lead.number | string | Número | "123" |
lead.complement | string | Complemento | "Apto 101" |
lead.neighborhood | string | Bairro | "Centro" |
lead.city | string | Cidade | "São Paulo" |
lead.state | string | Estado | "SP" |
lead.country | string | País | "BR" |
lead.latitude | number | Latitude | -23.5505 |
lead.longitude | number | Longitude | -46.6333 |
5.3. Tracking
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
lead.source | string | Origem | "google", "facebook" |
lead.campaign | string | Campanha | "black-friday" |
lead.utmSource | string | UTM Source | "google" |
lead.utmMedium | string | UTM Medium | "cpc" |
lead.utmCampaign | string | UTM Campaign | "promo" |
lead.utmTerm | string | UTM Term | "keyword" |
lead.utmContent | string | UTM Content | "banner" |
5.4. Device/Browser
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
lead.ipAddress | string | IP | "192.168.1.1" |
lead.userAgent | string | User Agent | "Mozilla/5.0..." |
lead.deviceType | string | Tipo de dispositivo | "mobile", "desktop" |
lead.browserName | string | Navegador | "Chrome", "Firefox" |
lead.browserVersion | string | Versão navegador | "120.0" |
lead.osName | string | Sistema operacional | "Windows", "iOS" |
lead.osVersion | string | Versão SO | "10", "17.0" |
lead.screenResolution | string | Resolução | "1920x1080" |
lead.language | string | Idioma | "pt-BR" |
lead.timezone | string | Fuso horário | "America/Sao_Paulo" |
5.5. Status e Datas
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
lead.currentStep | string | Etapa atual | "payment", "address" |
lead.isCompleted | boolean | Está completo | true, false |
lead.isConverted | boolean | Está convertido | true, false |
lead.checkAddress | boolean | Verificou endereço | true, false |
lead.checkInfo | boolean | Verificou informações | true, false |
lead.checkPayment | boolean | Verificou pagamento | true, false |
lead.checkoutDuration | number | Duração checkout (segundos) | 120 |
lead.firstSeenAt | string | Primeira visita | "22/01/2025 10:00" |
lead.lastSeenAt | string | Última visita | "22/01/2025 11:00" |
lead.completedAt | string | Data conclusão | "22/01/2025 10:30" |
lead.convertedAt | string | Data conversão | "22/01/2025 10:35" |
lead.createdAt | string | Data criação | "22/01/2025 10:00" |
lead.updatedAt | string | Data atualização | "22/01/2025 11:00" |
6. Browser (Navegador)
Campos relacionados ao navegador/dispositivo:
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
browser.ip | string | IP do cliente | "192.168.1.1" |
browser.userAgent | string | User Agent | "Mozilla/5.0..." |
browser.screenSize | string | Tamanho da tela | "1920x1080" |
browser.location | string | Localização formatada | "São Paulo, SP, BR" |
browser.fingerprint | string | Fingerprint | "fp-abc123" |
browser.utms.source | string | UTM Source | "google" |
browser.utms.medium | string | UTM Medium | "cpc" |
browser.utms.campaign | string | UTM Campaign | "promo" |
browser.utms.term | string | UTM Term | "keyword" |
browser.utms.content | string | UTM Content | "banner" |
7. Event Data (Dados do Evento)
Campos diretamente do evento disparado:
| Campo | Tipo | Descrição | Exemplo de Valor |
|---|---|---|---|
amount | number | Valor da transação | 249.80 |
customer.name | string | Nome do cliente (do evento) | "João Silva" |
customer.email | string | Email do cliente (do evento) | "[email protected]" |
customer.phone | string | Telefone do cliente (do evento) | "5511999999999" |
payment_status | string | Status do pagamento (preferido em condições) | "paid", "pending", "failed" |
payment_method | string | Mé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
-
Pagamento em condições: use
payment_status(paid,pending), nãoorder.status(PAID,PENDING) — o motor não resolveorder.statusem condições de branch. -
Case-Insensitive: As comparações de strings são case-insensitive (não diferenciam maiúsculas/minúsculas).
-
Valores Nulos: Se um campo não for encontrado ou for nulo, a condição retornará
false. -
Tipos de Dados:
- Números devem ser comparados como números
- Strings devem ser comparadas como strings
- Booleanos devem ser
trueoufalse
-
Operador
in: Deve receber um array de valores para comparação. -
Campos Aninhados: Use a notação de ponto (
.) para acessar campos aninhados, comocustomer.emailoupayment_status. -
Disponibilidade: Nem todos os campos estarão disponíveis em todos os eventos. Por exemplo:
payment_statusepayment_methodem eventos de pedido / PIX / boleto- Campos de
leadem eventos relacionados a leads - Campos de
browserquando houver dados do navegador
-
Metatags vs condições:
{{order.status}}em templates de email/WhatsApp é válido; emconditions[]usepayment_status.
Última atualização: Julho 2026 — alinhado com o motor de automação e AUTOMATION_LLM_MANIFEST v1.1