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

Editar e restaurar modelo

Altera assunto, corpo e estado de um modelo, ou o restaura ao texto original da plataforma.

Atualizar modelo de e-mail

Atualiza só os campos enviados. A mudança vale para todos os próximos e-mails que usarem o modelo. Não há validação da sintaxe das variáveis: confira com a rota de prévia antes de gravar. Um corpo sem nenhum campo não altera nada e devolve o modelo atual.

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

Altera o conteúdo de um modelo

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.

Corpo da requisição

subjectstring
Novo assunto.
body_htmlstring
Novo corpo HTML. Use as variáveis listadas em variables.
body_textstring
Nova versão em texto puro.
statusstring
activedisabledAD
Ativa ou desativa o modelo. Aceita palavra ou letra.
namestring
Novo nome de exibição.
recipient_typestring
customervendoradminall
Destinatário.

Exemplo de requisição (Atualizar modelo)

bash
curl -X PUT "$BASE_URL/api/v1/admin/email-templates/dfd62617-b4fe-40e0-8e16-82debd20fcc0" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "subject": "Esqueceu algo no carrinho em {{store_name}}?"
}'

Resposta (Atualizar modelo)

200Modelo atualizado
json
{
  "id": "dfd62617-b4fe-40e0-8e16-82debd20fcc0",
  "slug": "abandoned_cart",
  "name": "Abandoned Cart",
  "subject": "Esqueceu algo no carrinho em {{store_name}}?",
  "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 (Atualizar 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_email","manage_settings"]}
400Corpo não é JSON válido.{"error":"invalid request body","detail":"..."}
500Modelo inexistente (a plataforma responde 500 aqui, não 404) ou falha de banco.{"detail":"email template not found: 00000000-0000-0000-0000-000000000000","error":"failed to update email template"}
Modelo desativado não é enviado

Com status D o e-mail daquele evento deixa de sair. Use com consciência para os modelos de pedido e pagamento.

Restaurar modelo ao padrão

Descarta as alterações e restaura assunto e corpo originais que vêm com a plataforma. Só vale para modelos de sistema (is_system true). Não precisa de corpo.

POST/api/v1/admin/email-templates/{id}/resetAdmin

Devolve um modelo de sistema ao texto original

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 (Restaurar padrão)

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

Resposta (Restaurar padrão)

200Modelo restaurado
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 (Restaurar padrão)

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_email","manage_settings"]}
400O modelo não é de sistema, não existe, ou a plataforma não tem texto padrão para ele.{"detail":"only system templates can be reset to defaults","error":"failed to reset email template"}
Perde a personalização

O texto editado é substituído e não há como desfazer. Copie o conteúdo antes se precisar dele.

Veja também

  • Prévia e teste
  • Listar e consultar modelos
Anterior
Listar e consultar modelos
Próxima
Prévia e teste
Nesta página
  • Atualizar modelo de e-mail
  • Exemplo de requisição (Atualizar modelo)
  • Resposta (Atualizar modelo)
  • Erros (Atualizar modelo)
  • Restaurar modelo ao padrão
  • Exemplo de requisição (Restaurar padrão)
  • Resposta (Restaurar padrão)
  • Erros (Restaurar padrão)
  • Veja também