Metatags de Automação

Catálogo de metatags {{categoria.campo}}, disponibilidade por gatilho e processamento no backend.

Esta documentação descreve as metatags disponíveis no sistema de automações e como elas devem ser normalizadas e processadas pelo backend.

📋 Índice

  1. Formato das Metatags
  2. Categorias de Metatags
  3. Mapeamento para Tabelas do Banco de Dados
  4. Processamento no Backend
  5. Exemplos de Uso

🔤 Formato das Metatags

As metatags são representadas no formato {{chave}} e devem ser substituídas pelos valores reais durante a execução das automações.

Formato:

{{categoria.campo}}

Exemplos:

  • {{lead.name}} → Nome do lead
  • {{order.total}} → Valor total do pedido
  • {{customer.email}} → Email do cliente

📂 Categorias de Metatags

1. Lead - Informações Básicas

Metatags relacionadas aos dados básicos do lead.

ChaveLabelDescriçãoTipo
lead.idID do LeadID único do leadstring
lead.nameNome do LeadNome completo do leadstring
lead.emailEmail do LeadEmail do leadstring
lead.phoneTelefone do LeadTelefone do leadstring
lead.cpfCPF do LeadCPF do leadstring
lead.cnpjCNPJ do LeadCNPJ do leadstring
lead.birthDateData de NascimentoData de nascimento formatadastring (DD/MM/YYYY HH:mm)
lead.genderGêneroGênero do leadstring
lead.fingerprintFingerprintFingerprint do dispositivostring
lead.checkoutIdID do CheckoutID do checkout relacionadostring

Tabela de Origem: leads


2. Lead - Endereço

Metatags relacionadas ao endereço do lead.

ChaveLabelDescriçãoTipo
lead.zipCodeCEPCEP do leadstring
lead.streetRuaRua do endereçostring
lead.numberNúmeroNúmero do endereçostring
lead.complementComplementoComplemento do endereçostring
lead.neighborhoodBairroBairro do endereçostring
lead.cityCidadeCidade do leadstring
lead.stateEstadoEstado do leadstring
lead.countryPaísPaís do leadstring
lead.latitudeLatitudeCoordenada de latitudenumber
lead.longitudeLongitudeCoordenada de longitudenumber

Tabela de Origem: leads


3. Lead - Tracking

Metatags relacionadas ao tracking e origem do lead.

ChaveLabelDescriçãoTipo
lead.sourceOrigemOrigem do leadstring
lead.campaignCampanhaCampanha do leadstring
lead.utmSourceUTM SourceUTM Sourcestring
lead.utmMediumUTM MediumUTM Mediumstring
lead.utmCampaignUTM CampaignUTM Campaignstring
lead.utmTermUTM TermUTM Termstring
lead.utmContentUTM ContentUTM Contentstring

3.1. Lead - Device/Browser

Metatags relacionadas ao dispositivo e navegador do lead.

ChaveLabelDescriçãoTipo
lead.ipAddressIP do LeadEndereço IPstring
lead.userAgentUser AgentUser Agent do navegadorstring
lead.deviceTypeTipo de DispositivoTipo de dispositivo (mobile/desktop)string
lead.browserNameNome do NavegadorNome do navegadorstring
lead.browserVersionVersão do NavegadorVersão do navegadorstring
lead.osNameSistema OperacionalNome do SOstring
lead.osVersionVersão do SOVersão do sistema operacionalstring
lead.screenResolutionResolução da TelaResolução da telastring
lead.languageIdiomaIdioma do navegadorstring
lead.timezoneFuso HorárioFuso horáriostring

3.2. Lead - Status e Datas

Metatags relacionadas ao status e datas do lead.

ChaveLabelDescriçãoTipo
lead.currentStepEtapa AtualEtapa atual no checkoutstring
lead.isCompletedEstá CompletoSe o checkout foi completadoboolean
lead.isConvertedEstá ConvertidoSe foi convertido em pedidoboolean
lead.checkAddressVerificou EndereçoSe verificou o endereçoboolean
lead.checkInfoVerificou InformaçõesSe verificou as informaçõesboolean
lead.checkPaymentVerificou PagamentoSe verificou o pagamentoboolean
lead.checkoutDurationDuração do CheckoutDuração em segundosinteger
lead.firstSeenAtPrimeira VisitaData da primeira visitastring (DD/MM/YYYY HH:mm)
lead.lastSeenAtÚltima VisitaData da última visitastring (DD/MM/YYYY HH:mm)
lead.completedAtData de ConclusãoData de conclusão do checkoutstring (DD/MM/YYYY HH:mm)
lead.convertedAtData de ConversãoData de conversão em pedidostring (DD/MM/YYYY HH:mm)
lead.createdAtData de CriaçãoData de criação do leadstring (DD/MM/YYYY HH:mm)
lead.updatedAtData de AtualizaçãoData de última atualizaçãostring (DD/MM/YYYY HH:mm)

Tabela de Origem: leads


4. Cliente (Order Customer)

Metatags relacionadas aos dados do cliente do pedido.

ChaveLabelDescriçãoTipo
customer.nameNome do ClienteNome do cliente do pedidostring
customer.emailEmail do ClienteEmail do clientestring
customer.phoneTelefone do ClienteTelefone do clientestring
customer.documentTypeTipo de DocumentoTipo de documento (CPF/CNPJ)string
customer.documentNumberCPF/CNPJDocumento do clientestring
customer.addressEndereço CompletoEndereço completo formatadostring
customer.addressNumberNúmero do EndereçoNúmero do endereçostring
customer.neighborhoodBairroBairro do clientestring
customer.complementComplementoComplemento do endereçostring
customer.cityCidade do ClienteCidade do clientestring
customer.stateEstado do ClienteEstado do clientestring
customer.zipcodeCEP do ClienteCEP do clientestring

Tabela de Origem: order_customers

Relacionamento: order_customers.order_id → orders.id


5. Pedido (Order)

Metatags relacionadas aos dados do pedido.

ChaveLabelDescriçãoTipo
order.idID do PedidoID único do pedidostring (UUID)
order.totalTotal do PedidoValor total do pedido formatadostring (R$ X,XX)
order.subtotalSubtotalSubtotal do pedido formatadostring (R$ X,XX)
order.statusStatus do PedidoStatus atual do pedidoenum
order.payment_methodMétodo de PagamentoMétodo de pagamentostring
order.pix_codeCódigo PIX copia e colaCódigo PIX (se aplicável)string
order.pix_qr_codeQR Code PIX (imagem HTML)<img> com URL HTTPS em apiv3/public/pix-qr.pnghtml (email)
order.boleto_barcodeCódigo de BarrasCódigo de barras do boletostring
order.boleto_digitable_lineLinha DigitávelLinha digitável do boletostring
order.boleto_urlURL do BoletoURL para visualizar/pagar boletostring
order.createdAtData de CriaçãoData de criação formatadastring (DD/MM/YYYY HH:mm)
order.updatedAtData de AtualizaçãoData de atualização formatadastring (DD/MM/YYYY HH:mm)
order.domainURL do CheckoutURL/domínio do checkoutstring
order.customerIdID do ClienteID do cliente (User)string
order.sessionSessãoID da sessão do checkoutstring
order.shopifyOrderIdID ShopifyID do pedido no Shopifystring
order.external_idID ExternoID externo do pedidostring
order.fingerprintFingerprintFingerprint do dispositivostring
order.acquirerAdquirenteNome da adquirentestring
order.installmentsParcelasNúmero de parcelasinteger
order.currencyMoedaCódigo da moedastring
order.woocommerceOrderIdID WooCommerceID do pedido no WooCommerceinteger
order.notesObservaçõesObservações do pedidostring
order.couponIdID do CupomID do cupom aplicadostring
order.discount.typeTipo de DescontoTipo de desconto aplicadostring
order.discount.valueValor do DescontoValor do descontonumber
order.discount.amountValor do Desconto FormatadoValor formatado do descontostring (R$ X,XX)

Tabela de Origem: orders

Valores Possíveis para order.status:

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

QR Code PIX no email (order.pix_qr_code)

Metatag HTML (somente canal email, trigger pix.generated). Substitui {{order.pix_qr_code}} por <img src="https://apiv3.usecorvex.com.br/public/pix-qr.png?d=...&s=180"> — não usa data:image/png;base64 (bloqueado por Gmail/Outlook).

RegraDetalhe
Fonteorder.pix_code (EMV) ou imagem da adquirente quando disponível
MJML<mj-raw>{{order.pix_qr_code}}</mj-raw>
Valor{{order.total}} já inclui R$ — não duplique no template
ComboQR + {{order.pix_code}} + {{order.url_pix_gerado}}

6. Itens do Pedido (Order Items)

Metatags relacionadas aos itens do pedido.

ChaveLabelDescriçãoTipo
order.itemsItens do PedidoLista completa de itens formatadastring
order.items.first.nameNome do Primeiro ProdutoNome do primeiro produtostring
order.items.first.pricePreço do Primeiro ProdutoPreço formatado do primeiro produtostring (R$ X,XX)
order.items.first.quantityQuantidade do Primeiro ProdutoQuantidade do primeiro produtointeger
order.items.first.productIdID do ProdutoID do produtostring
order.items.first.variantIdID da VarianteID da variante do produtostring
order.items.first.shopifyVariantIdID Variante ShopifyID da variante no Shopifystring
order.items.first.isOrderBumpÉ Order BumpSe é um order bumpboolean
order.items.first.isUpsellÉ UpsellSe é um upsellboolean
order.items.first.orderBumpIdID do Order BumpID do order bump (se aplicável)string
order.items.first.createdAtData de CriaçãoData de criação do itemstring (DD/MM/YYYY HH:mm)

Tabela de Origem: order_items

Relacionamento: order_items.order_id → orders.id

Estrutura de order.items (formato string):

2x Produto A - R$ 99,90
1x Produto B - R$ 149,90

7. Frete (Shipping)

Metatags relacionadas ao frete do pedido.

ChaveLabelDescriçãoTipo
shipping.idID do FreteID único do fretestring
shipping.shippingIdID do MétodoID do método de fretestring
shipping.nameNome do FreteNome do método de fretestring
shipping.priceValor do FreteValor do frete formatadostring (R$ X,XX)
shipping.turnaroundPrazo de EntregaPrazo de entregastring
shipping.carrierTransportadoraNome da transportadorastring

Tabela de Origem: order_shippings

Relacionamento: order_shippings.order_id → orders.id


8. Navegador/Dispositivo (Browser)

Metatags relacionadas aos dados do navegador/dispositivo.

ChaveLabelDescriçãoTipo
browser.ipIP do ClienteEndereço IPstring
browser.userAgentUser AgentUser Agent do navegadorstring
browser.screenSizeTamanho da TelaResolução da telastring
browser.locationLocalizaçãoLocalização geográfica formatadastring
browser.fingerprintFingerprintFingerprint do dispositivostring
browser.utms.sourceUTM SourceOrigem da campanha (UTM)string
browser.utms.mediumUTM MediumMeio da campanha (UTM)string
browser.utms.campaignUTM CampaignNome da campanha (UTM)string
browser.utms.termUTM TermTermo da campanha (UTM)string
browser.utms.contentUTM ContentConteúdo da campanha (UTM)string

Tabela de Origem: order_browsers

Relacionamento: order_browsers.order_id → orders.id

Formato de browser.location:

São Paulo, SP, BR

🗄️ Mapeamento para Tabelas do Banco de Dados

Estrutura de Relacionamentos

orders (tabela principal)
├── order_customers (1:1)
├── order_browsers (1:1)
├── order_items (1:N)
├── order_shippings (1:1)
└── leads (1:1) via leads.order_id

Schema das Tabelas

leads

- id (TEXT PRIMARY KEY)
- name (TEXT)
- email (TEXT)
- phone (TEXT)
- cpf (TEXT)
- cnpj (TEXT)
- birth_date (TIMESTAMP)
- gender (TEXT)
- zip_code (TEXT)
- street (TEXT)
- number (TEXT)
- complement (TEXT)
- neighborhood (TEXT)
- city (TEXT)
- state (TEXT)
- country (TEXT)
- source (TEXT)
- campaign (TEXT)
- utm_source (TEXT)
- utm_medium (TEXT)
- utm_campaign (TEXT)
- order_id (TEXT FK → orders.id)

order_customers

- id (TEXT PRIMARY KEY)
- order_id (TEXT FK → orders.id)
- name (TEXT)
- email (TEXT)
- phone (TEXT)
- document_number (TEXT)
- address (TEXT)
- city (TEXT)
- state (TEXT)
- zipcode (TEXT)

orders

- id (TEXT PRIMARY KEY)
- total (NUMERIC)
- subtotal (NUMERIC)
- status (OrderStatus ENUM)
- payment_method (TEXT)
- pix_code (TEXT)
- boleto_barcode (TEXT)
- created_at (TIMESTAMP)
- domain (TEXT)

order_items

- id (TEXT PRIMARY KEY)
- order_id (TEXT FK → orders.id)
- product_id (TEXT)
- name (TEXT)
- quantity (INTEGER)
- price (NUMERIC)
- is_order_bump (BOOLEAN)
- is_upsell (BOOLEAN)

order_shippings

- id (TEXT PRIMARY KEY)
- order_id (TEXT FK → orders.id)
- name (TEXT)
- price (NUMERIC)
- turnaround (TEXT)
- carrier (TEXT)

order_browsers

- id (TEXT PRIMARY KEY)
- order_id (TEXT FK → orders.id)
- ip (TEXT)
- user_agent (TEXT)
- screen_size (TEXT)
- location (JSONB)

⚙️ Processamento no Backend

Fluxo de Substituição de Metatags

  1. Receber mensagem com metatags:

    "Olá {{customer.name}}, seu pedido {{order.id}} no valor de {{order.total}} está sendo processado!"
  2. Identificar todas as metatags:

    • Extrair padrões {{categoria.campo}}
    • Listar todas as metatags encontradas
  3. Buscar dados do contexto:

    • Identificar o orderId do contexto da automação
    • Buscar dados relacionados:
      • orders (pedido principal)
      • order_customers (dados do cliente)
      • order_items (itens do pedido)
      • order_shippings (frete)
      • order_browsers (navegador)
      • leads (lead relacionado)
  4. Normalizar valores:

    • Formatar valores monetários (decimal → string com 2 casas, formato R$)
    • Formatar datas (timestamp → string formatada DD/MM/YYYY HH:mm)
    • Tratar valores nulos (retornar string vazia ou valor padrão)
    • Processar arrays (converter para string formatada)
  5. Substituir metatags:

    • Substituir cada {{chave}} pelo valor correspondente
    • Metatags não encontradas são substituídas por string vazia ""
    • order.pix_qr_code é resolvida de forma assíncrona a partir de order.pix_code (ou imagem da adquirente), gerando <img> com URL HTTPS em GET /public/pix-qr.png — somente canal email

Implementação

As metatags são substituídas automaticamente pelo motor de automação imediatamente antes do envio de cada mensagem (WhatsApp, SMS, email).

Funções principais:

  • replaceMetatags(text, context) - Substitui metatags em uma string
  • processMetatagsInObject(data, context) - Processa metatags recursivamente em objetos
  • fetchContextData(context) - Busca todos os dados do contexto do banco

💡 Exemplos de Uso

Exemplo 1: Mensagem WhatsApp de Confirmação

Mensagem com metatags:

Olá {{customer.name}}! 

Seu pedido #{{order.id}} foi confirmado!

📦 Itens:

{{order.items}}

💰 Total: {{order.total}}

🚚 Frete: {{shipping.name}} - {{shipping.turnaround}}

Você pode acompanhar seu pedido em: {{order.domain}}

Mensagem processada:

Olá João Silva! 

Seu pedido #a08672a1-63cc-43e6-bacf-1f7190643d11 foi confirmado!

📦 Itens:

2x Produto A - R$ 99,90
1x Produto B - R$ 149,90

💰 Total: R$ 249,80

🚚 Frete: PAC - 10 dias úteis

Você pode acompanhar seu pedido em: https://checkout.minhaloja.com

Exemplo 2: Email de Lembrete de Pagamento

Mensagem com metatags:

Prezado(a) {{customer.name}},

Seu pedido {{order.id}} no valor de {{order.total}} está aguardando pagamento.

Código PIX: {{order.pix_code}}

Ou pague com boleto: {{order.boleto_barcode}}

Atenciosamente,

Equipe {{order.domain}}

Mensagem processada:

Prezado(a) Maria Santos,

Seu pedido a08672a1-63cc-43e6-bacf-1f7190643d11 no valor de R$ 249,80 está aguardando pagamento.

Código PIX: 00020126360014BR.GOV.BCB.PIX0114+5511999999999...

Ou pague com boleto: 34191.09008 12345.678901 23456.789012 3 12345678901234

Atenciosamente,

Equipe https://checkout.minhaloja.com

Exemplo 2b: Email PIX com QR Code (pix.generated)

Canal: email · Gatilho: pix.generated · Metatags: {{order.pix_qr_code}}, {{order.pix_code}}, {{order.url_pix_gerado}}

MJML (trecho):

<mj-raw>
  <div style="text-align:center;padding:16px 0;">
    {{order.pix_qr_code}}
    <p style="font-size:12px;color:#666;margin-top:8px;">Escaneie com o app do seu banco</p>
  </div>
</mj-raw>
<mj-text font-size="12px"><pre style="word-break:break-all;">{{order.pix_code}}</pre></mj-text>
<mj-button href="{{order.url_pix_gerado}}">Abrir PIX e pagar</mj-button>

Após processamento (trecho do HTML renderizado):

<img src="https://apiv3.usecorvex.com.br/public/pix-qr.png?d=MDAwMjAxMjYzNjAwMTRCUi4uLg&s=180"
     alt="QR Code PIX" width="180" height="180" style="display:block;margin:0 auto;" />

Importante: {{order.pix_qr_code}} gera URL HTTPS — não use data:image/png;base64 manualmente. Use {{order.total}} sem prefixar R$.


Exemplo 3: SMS de Acompanhamento

Mensagem com metatags:

{{customer.name}}, seu pedido {{order.id}} foi enviado!

Transportadora: {{shipping.carrier}}

Prazo: {{shipping.turnaround}}

Acompanhe: {{order.domain}}

Mensagem processada:

João Silva, seu pedido a08672a1-63cc-43e6-bacf-1f7190643d11 foi enviado!

Transportadora: Correios

Prazo: 10 dias úteis

Acompanhe: https://checkout.minhaloja.com

Exemplo 4: Email com HTML e Metatags

Mensagem com metatags:

{
  "type": "action",
  "name": "send_email",
  "data": {
    "subject": "Pedido {{order.id}} - {{order.status}}",
    "html": "<h1>Olá {{customer.name}}!</h1><p>Seu pedido no valor de <strong>{{order.total}}</strong> está <strong>{{order.status}}</strong>.</p><h2>Itens do Pedido:</h2><pre>{{order.items}}</pre><p>Endereço de entrega: {{customer.address}}, {{customer.city}} - {{customer.state}}</p>"
  }
}

Mensagem processada:

<h1>Olá João Silva!</h1>
<p>Seu pedido no valor de <strong>R$ 249,80</strong> está <strong>PAID</strong>.</p>
<h2>Itens do Pedido:</h2>
<pre>2x Produto A - R$ 99,90
1x Produto B - R$ 149,90</pre>
<p>Endereço de entrega: Rua Exemplo, 123, São Paulo - SP</p>

🔍 Validação e Tratamento de Erros

Regras de Validação

  1. Metatags Inválidas:

    • Se uma metatag não for encontrada no mapa de valores, substituir por string vazia ""
    • Metatags não processadas são removidas silenciosamente
  2. Valores Nulos:

    • Strings: retornar ""
    • Números: retornar "0" ou "R$ 0,00" (para moeda)
    • Datas: retornar ""
  3. Arrays Vazios:

    • order.items: retornar "Nenhum item"
    • Arrays de objetos: retornar string vazia
  4. Campos Relacionados Não Encontrados:

    • Se order_customers não existir, usar dados do lead
    • Se lead não existir, usar dados do order_customers
    • Se nenhum existir, usar valores padrão ou vazios

📌 Notas Importantes

  1. Performance:

    • Dados do pedido são buscados uma única vez por execução
    • Cache implícito dentro do contexto da automação
    • Queries otimizadas com índices
  2. Segurança:

    • Valores são sanitizados antes de inserir em mensagens
    • HTML é escapado em emails quando necessário
    • Validação de formatos de email e telefone
  3. Formatação:

    • Valores monetários: sempre formatados em Real brasileiro (R$)
    • Datas: sempre formatadas no padrão brasileiro (DD/MM/YYYY HH:mm)
    • Números decimais: sempre com 2 casas decimais
  4. Extensibilidade:

    • Novas metatags podem ser adicionadas facilmente
    • Suporte a formatação customizada por tipo de campo
    • Processamento recursivo em objetos aninhados

🔗 Referências


Última atualização: Julho 2026 — order.pix_qr_code via URL HTTPS