VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Modelos de e-mail

Listar e consultar modelos

Lista os modelos de e-mail da loja e consulta um modelo pelo id.

Listar modelos de e-mail

Devolve todos os modelos de e-mail que a loja usa para falar com clientes, sellers e administradores: confirmação de pedido, mudança de status, carrinho abandonado, cupom e assim por diante. Não tem paginação.

GET/api/v1/admin/email-templatesAdmin

Lista os modelos de e-mail da loja

Rota ligada ao módulo email-notifications: com o módulo desligado a resposta é 403. Leitura e prévia exigem permissão de e-mail (view_email); alterar, restaurar e enviar teste exigem manage_email ou manage_settings.

Parâmetros de consulta

statusstring
AD
Filtra pelo estado. Use a letra: a palavra active não casa com nada.
languagestring
pt-BRen
Só modelos desse idioma.
recipient_typestring
customervendoradminall
Só modelos para esse destinatário.
skip_status_syncstring
1
Com 1, não sincroniza os modelos de status de pedido antes de listar (veja o aviso).

Exemplo de requisição (Listar modelos)

bash
curl "$BASE_URL/api/v1/admin/email-templates?language=pt-BR&recipient_type=customer" \
  -H "Authorization: Bearer $TOKEN"

Resposta (Listar modelos)

200Modelos
json
{
  "templates": [
    {
      "id": "dfd62617-b4fe-40e0-8e16-82debd20fcc0",
      "slug": "abandoned_cart",
      "name": "Abandoned Cart",
      "subject": "Seu carrinho em {{store_name}} ainda está reservado",
      "body_html": "<!DOCTYPE html><html lang=\"pt-BR\">...</html>",
      "body_text": "You have {{item_count}} items in your cart. Complete your purchase: {{recovery_url}}",
      "variables": [
        "user_email",
        "cart_total",
        "item_count",
        "recovery_url",
        "recovery_token",
        "store_url",
        "cart_id"
      ],
      "status": "A",
      "is_system": true,
      "recipient_type": "customer",
      "language": "pt-BR",
      "is_wired": true,
      "created_at": "2026-03-16T08:15:47.267516Z",
      "updated_at": "2026-07-20T19:43:49.057165Z",
      "template_id": "dfd62617-b4fe-40e0-8e16-82debd20fcc0",
      "body": "<!DOCTYPE html><html lang=\"pt-BR\">...</html>",
      "timestamp": 1773648947,
      "updated_timestamp": 1784576629
    }
  ],
  "total": 1
}

Campos da resposta

templatesarray

Modelos que atendem ao filtro.

iduuid
Identificador do modelo.
slugstring
Código do modelo (abandoned_cart, order_status_shipped...). É por ele que o sistema escolhe qual modelo usar. O mesmo slug existe uma vez por idioma e destinatário.
namestring
Nome para exibir no painel.
subjectstring
Assunto. Aceita variáveis {{nome}}.
body_htmlstring
Corpo em HTML, com variáveis {{nome}}.
body_textstring
Versão em texto puro. Ausente quando vazia.
variablesarray
Variáveis que o modelo pode usar (sem as chaves).
statusstring
Letra: A ativo, D desativado.
is_systemboolean
true para modelos que vêm com a plataforma. Só estes podem ser restaurados ao padrão.
recipient_typestring
customervendoradminall
Quem recebe o e-mail.
languagestring
Idioma do modelo (pt-BR, en).
is_wiredboolean
true quando existe um ponto do sistema que realmente envia este modelo. false indica modelo órfão, que nunca será enviado.
created_atstring
Criação, RFC 3339.
updated_atstring
Última alteração, RFC 3339.
totalinteger
Quantidade devolvida.

Erros (Listar modelos)

StatusQuandoExemplo de corpo
401Token ausente, inválido ou expirado.{"error":"invalid or expired token"}
403O administrador não tem o privilégio exigido.{"error":"insufficient privileges","privilege_required_any":["manage_settings","view_email","manage_email","view_sms","manage_sms"]}
500Falha de banco.{"error":"failed to list email templates","detail":"..."}
Listar pode criar modelos

A menos que você envie skip_status_sync=1, a lista confere os status de pedido da loja e cria o modelo de e-mail order_status_<código> de cada status que ainda não tem um. É uma escrita dentro de um GET, feita uma vez por status novo.

Campos repetidos

Cada modelo também traz template_id, body, timestamp e updated_timestamp, campos que repetem outros valores.

Consultar modelo de e-mail

Devolve o modelo completo, com HTML e variáveis disponíveis.

GET/api/v1/admin/email-templates/{id}Admin

Devolve um modelo pelo id

Rota ligada ao módulo email-notifications: com o módulo desligado a resposta é 403. Leitura e prévia exigem permissão de e-mail (view_email); alterar, restaurar e enviar teste exigem manage_email ou manage_settings.

Parâmetros de caminho

iduuidobrigatório
Identificador do modelo.

Exemplo de requisição (Consultar modelo)

bash
curl "$BASE_URL/api/v1/admin/email-templates/dfd62617-b4fe-40e0-8e16-82debd20fcc0" \
  -H "Authorization: Bearer $TOKEN"

Resposta (Consultar modelo)

200Modelo
json
{
  "id": "dfd62617-b4fe-40e0-8e16-82debd20fcc0",
  "slug": "abandoned_cart",
  "name": "Abandoned Cart",
  "subject": "Seu carrinho em {{store_name}} ainda está reservado",
  "body_html": "<!DOCTYPE html><html lang=\"pt-BR\">...</html>",
  "body_text": "You have {{item_count}} items in your cart. Complete your purchase: {{recovery_url}}",
  "variables": [
    "user_email",
    "cart_total",
    "item_count",
    "recovery_url",
    "recovery_token",
    "store_url",
    "cart_id"
  ],
  "status": "A",
  "is_system": true,
  "recipient_type": "customer",
  "language": "pt-BR",
  "is_wired": true,
  "created_at": "2026-03-16T08:15:47.267516Z",
  "updated_at": "2026-07-20T19:43:49.057165Z",
  "template_id": "dfd62617-b4fe-40e0-8e16-82debd20fcc0",
  "body": "<!DOCTYPE html><html lang=\"pt-BR\">...</html>",
  "timestamp": 1773648947,
  "updated_timestamp": 1784576629
}

Campos da resposta

iduuid
Identificador do modelo.
slugstring
Código do modelo (abandoned_cart, order_status_shipped...). É por ele que o sistema escolhe qual modelo usar. O mesmo slug existe uma vez por idioma e destinatário.
namestring
Nome para exibir no painel.
subjectstring
Assunto. Aceita variáveis {{nome}}.
body_htmlstring
Corpo em HTML, com variáveis {{nome}}.
body_textstring
Versão em texto puro. Ausente quando vazia.
variablesarray
Variáveis que o modelo pode usar (sem as chaves).
statusstring
Letra: A ativo, D desativado.
is_systemboolean
true para modelos que vêm com a plataforma. Só estes podem ser restaurados ao padrão.
recipient_typestring
customervendoradminall
Quem recebe o e-mail.
languagestring
Idioma do modelo (pt-BR, en).
is_wiredboolean
true quando existe um ponto do sistema que realmente envia este modelo. false indica modelo órfão, que nunca será enviado.
created_atstring
Criação, RFC 3339.
updated_atstring
Última alteração, RFC 3339.

Erros (Consultar modelo)

StatusQuandoExemplo de corpo
401Token ausente, inválido ou expirado.{"error":"invalid or expired token"}
403O administrador não tem o privilégio exigido.{"error":"insufficient privileges","privilege_required_any":["manage_settings","view_email","manage_email","view_sms","manage_sms"]}
404Não existe modelo com esse id (também vale para um id que não é UUID).{"detail":"email template not found: 00000000-0000-0000-0000-000000000000","error":"email template not found"}
Campos repetidos

Cada modelo também traz template_id, body, timestamp e updated_timestamp, campos que repetem outros valores.

Veja também

  • Editar e restaurar modelo
  • Prévia e teste
Anterior
Modelos de e-mail
Próxima
Editar e restaurar modelo
Nesta página
  • Listar modelos de e-mail
  • Exemplo de requisição (Listar modelos)
  • Resposta (Listar modelos)
  • Erros (Listar modelos)
  • Consultar modelo de e-mail
  • Exemplo de requisição (Consultar modelo)
  • Resposta (Consultar modelo)
  • Erros (Consultar modelo)
  • Veja também