> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appreval.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mostrar a assinatura no e-mail de confirmação do pedido

> Um ajuste único no template da Shopify para que o e-mail do seu cliente indique que o produto é uma assinatura e com que frequência ela se renova.

O e-mail de confirmação que a Shopify envia ao seu cliente depois de cada cobrança fica igual
ao de uma compra comum: nome do produto, quantidade e preço. Nada indica que aquele pedido é
parte de uma assinatura nem de quanto em quanto tempo ele vai se repetir.

Com um ajuste único no template —dois minutos, uma única vez por loja— o e-mail passa a
mostrar a frequência abaixo de cada produto.

<Note>
  **O dado já está no pedido.** A Reval etiqueta cada linha dos pedidos que gera com uma
  propriedade que indica a frequência. Você pode vê-la agora mesmo abrindo qualquer pedido de
  assinatura no seu admin da Shopify. O que falta é o template do e-mail imprimi-la, porque o
  da Shopify por padrão não mostra as propriedades de linha.
</Note>

<Warning>
  **Os rótulos são emitidos em espanhol** (`Suscripción`, `Compra única`, `Mensual`…). A Reval
  escreve essas strings nas propriedades de linha do pedido, então é isso que o seu cliente vê
  no e-mail, independentemente do idioma do seu admin. Mantenha-as literais no template — hoje
  a Reval não as traduz.
</Warning>

## O que o seu cliente vai ver

Abaixo do nome de cada produto, em cinza e em corpo pequeno:

| Plano do produto | Aparece no e-mail           |
| ---------------- | --------------------------- |
| A cada 1 mês     | `Suscripción: Mensual`      |
| A cada 3 meses   | `Suscripción: Cada 3 meses` |
| A cada 1 semana  | `Suscripción: Semanal`      |
| A cada 15 dias   | `Suscripción: Cada 15 días` |

Se o cliente também comprou um add-on de uma única vez, essa linha se distingue sozinha:

```
Compra única: Pago único — abonado por separado
```

Isso evita o mal-entendido mais comum com os add-ons: o cliente acreditar que aquele produto
extra também vai ser cobrado todos os meses.

## Como fazer

<Warning>
  Você precisa de acesso de administrador à loja. A Shopify não expõe uma API para os
  templates de notificação —eles só são editados manualmente— então a Reval não pode fazer
  essa mudança por você ao ser instalada.
</Warning>

<Note>
  Os nomes dos menus aparecem aqui em português e em inglês porque dependem do idioma em que
  o seu admin da Shopify está configurado.
</Note>

<Steps>
  <Step title="Entre nas notificações a clientes">
    No seu admin da Shopify: **Configurações → Notificações** *(Settings → Notifications)*.

    Dentro, escolha **Notificações a clientes** *(Customer notifications)*. É a primeira da
    lista, a que diz "Notify customers about order and account events".
  </Step>

  <Step title="Abra a confirmação de pedido">
    No grupo **Order processing**, a primeira linha: **Confirmação de pedido** *(Order
    confirmation)*, descrita como "Sent when a customer places an order".
  </Step>

  <Step title="Abra o editor de código">
    No canto superior direito, o botão **Editar código** *(Edit code)*. Fica ao lado de
    **Enviar teste** *(Send test)*.
  </Step>

  <Step title="Procure o bloco da variante — há MAIS DE UM">
    O corpo do e-mail tem centenas de linhas, então não procure a olho. Clique **dentro do
    editor de código** e só então use `Ctrl+F` / `Cmd+F`: o buscador do navegador não serve,
    porque o editor só mantém carregada a parte visível do arquivo. Procure:

    ```
    and is_parent == false
    ```

    <Warning>
      **A Shopify imprime a lista de produtos mais de uma vez, e é preciso colar o fragmento em
      dois lugares.** O template se bifurca em
      `{% if delivery_method_types.size > 1 %}`: um ramo para os pedidos com mais de um método
      de entrega e outro (`{% else %}`) para o resto — que são a enorme maioria. Se você colar
      só no primeiro, os pedidos normais continuam saindo sem a frequência e parece que a
      mudança não funcionou.
    </Warning>

    No template padrão você vai encontrar quatro correspondências. As que interessam são **as
    duas que usam `line.variant.title`** e estão dentro de um
    `{% for line in subtotal_line_items %}`: uma em cada ramo do `if`. As outras duas você pode
    ignorar:

    | Correspondência                                                                        | O que é                                                                  | Colar?                            |
    | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | --------------------------------- |
    | `line.variant.title`, dentro de `for line in subtotal_line_items`                      | A lista de produtos, ramo de vários métodos de entrega                   | **Sim**                           |
    | `line.variant.title`, dentro do segundo `for line in subtotal_line_items`              | A mesma lista, ramo `{% else %}` — **o que é usado em um pedido normal** | **Sim**                           |
    | `line.variant.title`, dentro de `for line in delivery_agreement.non_parent_line_items` | Envios com dia e hora agendados                                          | Só se você usa entrega programada |
    | `component.variant.title`, dentro de `for component in line_item_group.components`     | Componentes de um bundle                                                 | Não — ali a variável não é `line` |
  </Step>

  <Step title="Cole o fragmento nas DUAS correspondências principais">
    Em cada uma, o lugar exato é **depois do `{% endif %}` que fecha o bloco da variante**.
    Você vai saber que está no ponto certo porque a linha seguinte começa com
    `{% if false %}`.

    Assim fica a região, com o fragmento já no lugar (idêntica nos dois pontos):

    ```liquid theme={null}
    <span class="order-list__item-title">{{ line_title }}&nbsp;&times;&nbsp;{{ line_display }}</span><br/>

    {% if line.variant.title != 'Default Title' and is_parent == false %}
      <span class="order-list__item-variant">{{ line.variant.title }}</span><br/>
    {% elsif line.variant.title != 'Default Title' and line.nested_line_parent? %}
      <span class="order-list__item-variant">{{ line.variant.title }}</span><br/>
    {% elsif line.variant.title != 'Default Title' and line.bundle_parent? and false == false %}
      <span class="order-list__item-variant">{{ line.variant.title }}</span><br/>
    {% endif %}

    {% comment %} Reval — muestra la frecuencia de la suscripción {% endcomment %}
    {% for property in line.properties %}
      {% unless property.last == blank %}
        <span style="font-size:13px;color:#777;">{{ property.first }}: {{ property.last }}</span><br/>
      {% endunless %}
    {% endfor %}

    {% if false %}
    ```

    As quatro primeiras linhas e a última já estão no seu template: servem para confirmar que
    você colou no lugar correto. O que você adiciona é apenas o bloco que começa com
    `{% comment %} Reval`.

    <Note>
      Antes de salvar, verifique se `{% comment %} Reval` aparece **duas vezes** no template.
      Se aparecer só uma, faltou o segundo ramo — e é justamente o que os pedidos comuns usam.
    </Note>
  </Step>

  <Step title="Salve e verifique">
    Salve as mudanças.

    O botão **Enviar teste** *(Send test)* usa dados de exemplo sem propriedades de linha,
    então **não vai mostrar a frequência**. Ele não serve para verificar esta mudança.

    Primeiro confirme que o dado existe: abra um pedido de assinatura em **Pedidos** —filtre
    pela tag `Suscripción`— e veja se abaixo do produto consta `Suscripción: Mensual`. Se não
    estiver ali, o problema não é o template e você não vai resolver editando-o.

    Estar na ficha do pedido é **necessário mas não suficiente**: o e-mail sai sem a frequência
    de todo modo se o fragmento ficou em um único ramo. A única comprovação real é olhar o
    e-mail de um pedido com um só método de envio, que é o caso que usa o ramo `{% else %}`.

    <Warning>
      Se você quiser ver o e-mail real, pode reenviá-lo pelo pedido com **••• → Reenviar
      confirmação de pedido**. Mas isso **envia um e-mail de verdade ao cliente daquele
      pedido**. Não faça isso em uma compra real: alguém receberia uma confirmação duplicada de
      um pedido antigo. Use um pedido de teste seu.
    </Warning>
  </Step>
</Steps>

<Tip>
  O comentário `{% comment %} Reval … {% endcomment %}` não aparece no e-mail. Ele está ali
  para que, daqui a seis meses, alguém entenda por que aquele bloco existe antes de apagá-lo.
</Tip>

## Antes de considerar encerrado

**Isso é feito uma vez por loja, e sobrevive às atualizações da Reval** — o template é seu,
vive na Shopify, e não é tocado quando atualizamos o app.

**Se você trocar de tema, confira se continua lá.** Os templates de notificação são
independentes do tema, então normalmente não se perdem. Mas se em algum momento você restaurar
o template padrão por **Reverter para o template original**, o fragmento vai junto e é preciso
colá-lo de novo.

**Se você tem outros apps que adicionam propriedades às linhas** —gravações personalizadas,
mensagens de presente, datas de entrega— este fragmento também vai imprimi-las, porque ele
percorre todas as propriedades da linha. Em geral é o desejável. Se preferir mostrar somente a
de assinatura, substitua a condição `{% unless property.last == blank %}` por
`{% if property.first == 'Suscripción' or property.first == 'Compra única' %}` e feche com
`{% endif %}` em vez de `{% endunless %}`.
