# Modo avançado das mensagens de notificação

As mensagens de notificação utilizam a linguagem **Liquid** para inserir conteúdo dinâmico. Com ela, você pode exibir dados do cliente, do pedido e da loja automaticamente em cada mensagem enviada.

## Inserindo variáveis

Você pode inserir variáveis de duas formas:

1. **Pelo painel de variáveis** — clique no botão `{ }` no editor para ver todas as variáveis disponíveis organizadas por categoria. Basta clicar na variável desejada para inseri-la na mensagem.
2. **Digitando manualmente** — escreva a variável entre `{{ }}` diretamente no editor.

<figure><img src="/files/eaFOKthDcBJSa3eyPnhY" alt=""><figcaption><p>Painel de variáveis disponíveis para personalizar a mensagem</p></figcaption></figure>

## Variáveis disponíveis

### Consumidor

| Variável                               | Descrição                           | Exemplo         |
| -------------------------------------- | ----------------------------------- | --------------- |
| `{{ customer.name }}`                  | Nome do cliente                     | João Silva      |
| `{{ customer.phone }}`                 | Telefone do cliente                 | (11) 99999-9999 |
| `{{ customer.ordersCountOnMerchant }}` | Total de pedidos do cliente na loja | 5               |

### Loja

| Variável                 | Descrição        | Exemplo                 |
| ------------------------ | ---------------- | ----------------------- |
| `{{ merchant.name }}`    | Nome da loja     | Pizzaria Bella          |
| `{{ merchant.address }}` | Endereço da loja | Rua das Flores, 123     |
| `{{ merchant.link }}`    | Link da loja     | <https://minhaloja.com> |

### Pedido

| Variável                                | Descrição                        | Exemplo                              |
| --------------------------------------- | -------------------------------- | ------------------------------------ |
| `{{ order.displayId }}`                 | Código do pedido                 | 12345                                |
| `{{ order.type }}`                      | Tipo do pedido                   | DELIVERY ou TAKEOUT                  |
| `{{ order.note }}`                      | Observação do pedido             | Sem cebola                           |
| `{{ order.createdAt }}`                 | Data e hora do pedido            | 2025-01-01T14:30:00                  |
| `{{ order.estimatedDeliveryDateTime }}` | Data e hora estimada de entrega  | 2025-01-01T15:00:00                  |
| `{{ order.deliveryAddress }}`           | Endereço de entrega              | Av. Brasil, 456                      |
| `{{ order.deliveryFee }}`               | Valor da entrega                 | R$ 8,00                              |
| `{{ order.paymentName }}`               | Forma de pagamento               | PIX                                  |
| `{{ order.total }}`                     | Valor total do pedido            | R$ 58,00                             |
| `{{ order.link }}`                      | Link de acompanhamento do pedido | <https://minhaloja.com/pedido/12345> |

### Itens do Pedido

Estas variáveis devem ser usadas dentro de um loop `{% for item in order.items %}`:

| Variável              | Descrição           | Exemplo          |
| --------------------- | ------------------- | ---------------- |
| `{{ item.name }}`     | Nome do produto     | Pizza Margherita |
| `{{ item.quantity }}` | Quantidade          | 2                |
| `{{ item.total }}`    | Valor total do item | R$ 45,00         |
| `{{ item.note }}`     | Observação do item  | Borda recheada   |

### Variantes (modificadores)

Estas variáveis devem ser usadas dentro de um loop `{% for variant in item.variants %}`:

| Variável             | Descrição           | Exemplo |
| -------------------- | ------------------- | ------- |
| `{{ variant.name }}` | Nome do modificador | Tamanho |

### Opções da Variante

Estas variáveis devem ser usadas dentro de um loop `{% for variantItem in variant.variantItems %}`:

| Variável                     | Descrição           | Exemplo |
| ---------------------------- | ------------------- | ------- |
| `{{ variantItem.name }}`     | Nome da opção       | Grande  |
| `{{ variantItem.quantity }}` | Quantidade da opção | 1       |

## Controle de fluxo

Use tags de controle de fluxo para exibir conteúdo condicionalmente.

### if / else

Executa um bloco de código somente se uma condição for verdadeira. Útil para diferenciar entre pedidos de entrega e retirada:

```
{% if order.type == "DELIVERY" -%}
Entrega em:
🏠 {{order.deliveryAddress}}
{%- else -%}
Retirada em:
🏠 {{merchant.address}}
{%- endif %}
```

Você também pode usar `if` para exibir informações opcionais:

```
{%- if order.note %}
Observação: {{order.note}}
{%- endif %}
```

## Iteração (loops)

Use loops para listar os itens do pedido e seus modificadores.

### for

Executa repetidamente um bloco de código para cada item de uma coleção:

```
{% for item in order.items %}
*Produto:* {{item.name}}
*Quantidade:* {{item.quantity}}
*Valor:* {{item.total}}
{%- for variant in item.variants %}
  *{{variant.name}}*
  {%- for variantItem in variant.variantItems %}
  *{{variantItem.quantity}}* {{variantItem.name}}
  {%- endfor %}
{%- endfor %}
{%- if item.note %}
*Observação:* {{item.note}}
{%- endif %}
{% endfor -%}
```

{% hint style="info" %}
Use `-%}` ou `{%-` para remover espaços em branco extras antes ou depois das tags Liquid. Isso ajuda a manter a mensagem formatada corretamente no WhatsApp.
{% endhint %}

## Formatação de data

Use o filtro `date` para converter datas em formatos legíveis:

```
{{ order.createdAt | date: "%d, %B de %Y %H:%M" }}
```

Resultado: `01, janeiro de 2025 14:30`

### Códigos de formatação mais usados

| Código | Descrição               | Exemplo |
| ------ | ----------------------- | ------- |
| `%d`   | Dia do mês (01-31)      | 01      |
| `%m`   | Mês numérico (01-12)    | 01      |
| `%B`   | Nome do mês por extenso | janeiro |
| `%Y`   | Ano com 4 dígitos       | 2025    |
| `%H`   | Hora (00-23)            | 14      |
| `%M`   | Minuto (00-59)          | 30      |

{% hint style="info" %}
As mensagens utilizam a linguagem Liquid. Para mais detalhes sobre a sintaxe completa, consulte a documentação oficial: <https://shopify.github.io/liquid/>
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://delivery.ajuda.cc/geral/deliverybot/notificacao-de-pedidos/modo-avancado-das-mensagens-de-notificacao.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
