Fragmentos de e-mail
Lista, cria, altera e apaga os trechos de HTML reutilizáveis que os modelos de e-mail incluem pelo código.
Um fragmento (snippet) é um trecho de HTML com nome e código, guardado uma vez e reaproveitado em vários modelos. O exemplo clássico é a tabela de itens do pedido ou o aviso legal do rodapé: em vez de copiar o HTML em cada modelo, o modelo escreve {{snippet "email_footer"}} e a plataforma troca pelo conteúdo no envio. Mudar o fragmento muda todos os modelos que o usam.
A loja já vem com fragmentos de sistema (email_header, email_footer, order_items_table). Você pode editá-los, mas não apagá-los.
Listar fragmentos
/api/v1/admin/email-snippetsAdminListar todos os fragmentos
Devolve todos os fragmentos, sem paginação, os de sistema primeiro e depois por code. Não tem parâmetros.
Campos da resposta
totalintegersnippets[].iduuidsnippets[].codestringsnippets[].namestringsnippets[].contentstring{{...}}.snippets[].snippet_typestringmail.snippets[].is_systembooleantrue para fragmentos que vêm com a plataforma. Não podem ser apagados.snippets[].statusstringADA ativo, D desativado.snippets[].languagestringpt-BR por padrão).snippets[].created_atstringsnippets[].updated_atstringCriar um fragmento
/api/v1/admin/email-snippetsAdminCriar um fragmento
Cria um fragmento próprio (is_system: false). Exige manage_email ou manage_settings.
Corpo da requisição
codestringobrigatórioaviso_troca. É o texto que o modelo escreve entre aspas em {{snippet "..."}}. Escolha um código sem espaços.namestringobrigatóriocontentstringsnippet_typestringpadrão: mailstatusstringpadrão: AADactive, disabled). Vazio vira A.languagestringpadrão: pt-BRAlterar um fragmento
/api/v1/admin/email-snippets/{id}AdminAlterar um fragmento
Atualiza só os campos que você enviar com valor. É uma atualização parcial: um campo omitido ou vazio é ignorado, então não dá para limpar content por esta rota. Aceita também fragmentos de sistema. Exige manage_email ou manage_settings.
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
codestringnamestringcontentstringsnippet_typestringstatusstringADA resposta é o fragmento completo, no mesmo formato da criação. Se o corpo não tiver nenhum campo com valor, a resposta é 200 com o corpo null e nada é gravado.
Apagar um fragmento
/api/v1/admin/email-snippets/{id}AdminApagar um fragmento próprio
Remove definitivamente um fragmento criado por você. Fragmentos de sistema não são apagados. Os modelos que ainda o incluem passam a renderizar sem o trecho, sem erro. Exige manage_email ou manage_settings.
Parâmetros de caminho
iduuidobrigatórioErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo inválido (criação e alteração). | {"error":"invalid request body","detail":"..."} |
| 400 | Criação sem code ou sem name. | {"error":"code and name are required"} |
| 401 | Sem token ou token expirado. | {"error":"invalid or expired token"} |
| 403 | Módulo email-notifications desligado, ou sem privilégio. | {"error":"module_disabled","module":"email-notifications"} |
| 500 | code já existe, status desconhecido, id inexistente na alteração, ou tentativa de apagar um fragmento de sistema ou inexistente. | {"error":"failed to delete email snippet","detail":"snippet not found or is a system snippet: 5a12424f-..."} |