Documentos
Modelos HTML de fatura, romaneio, nota de crédito e documentos livres, preenchidos com os dados dos pedidos.
A loja imprime documentos a partir de modelos: uma fatura que vai com o pedido, o romaneio que a separação usa, a nota de crédito de uma devolução. Cada modelo é um HTML com marcadores como {{order_number}} e {{total}}, que a plataforma troca pelos dados do pedido na hora de gerar. Esta seção é a API para listar, editar e gerar esses modelos.
Como funciona
O fluxo típico:
- Ver as variáveis
Liste as variáveis que dá para usar.
- Criar o modelo
- Testar
Pré-visualize com dados de exemplo e depois com um pedido real.
- Tornar padrão
Marque
is_defaultpara que a plataforma use o modelo nas faturas e romaneios.
type | Para que serve |
|---|---|
invoice | Fatura ou nota do pedido. |
packing_slip | Romaneio de separação e entrega. |
credit_memo | Nota de crédito de devolução. |
custom | Qualquer outro documento. |
Conceitos-chave
Modelo padrão
O padrão de um tipo e idioma é o que a plataforma usa quando gera o documento sozinha, por exemplo o romaneio de uma remessa. Marcar outro modelo como padrão desmarca o anterior. Tirar a marca do último padrão é recusado (409).
Marcadores
O texto {{total}} vira o total do pedido já formatado em reais; {{items_table}} vira a tabela de itens. A troca é textual, sem lógica (não há "se" nem laços). Para ver todos os nomes, use Variáveis disponíveis.
Idioma
O padrão é pt-BR. O idioma identifica o modelo, mas não traduz o conteúdo: os rótulos fixos de items_table saem em português.
Segurança do HTML
As imagens do HTML são verificadas para impedir que o servidor seja levado a abrir endereços internos. Scripts não são removidos do HTML do modelo: só administradores da loja podem criá-lo, mas trate o HTML de modelo como código da sua loja.
Endpoints
| Método | Caminho | Para que serve | Autenticação |
|---|---|---|---|
| GET | /api/v1/admin/documents | Listar modelos de documento | admin |
| GET | /api/v1/admin/documents/{id} | Consultar um modelo | admin |
| GET | /api/v1/admin/documents/default | Achar o modelo padrão de um tipo | admin |
| GET | /api/v1/admin/documents/fields | Variáveis disponíveis nos modelos | admin |
| POST | /api/v1/admin/documents | Criar um modelo | admin |
| PUT | /api/v1/admin/documents/{id} | Alterar um modelo | admin |
| POST | /api/v1/admin/documents/{id}/duplicate | Duplicar um modelo | admin |
| DELETE | /api/v1/admin/documents/{id} | Apagar um modelo | admin |
| GET | /api/v1/admin/documents/{id}/preview | Pré-visualizar com dados de exemplo | admin |
| POST | /api/v1/admin/documents/{id}/render | Gerar o documento de um pedido | admin |
| GET | /api/v1/admin/documents/{id}/pdf | Baixar o documento pronto para imprimir | admin |
Erros comuns
- Enviar
typefora da lista: a resposta é 500, não 400. - Tentar apagar o modelo padrão (403) ou tirar o
is_defaultdo único padrão (409). - Esquecer
entity_idemrender(400). - Esperar um PDF de
/pdf: é HTML para imprimir. - Usar
srcde imagem emlocalhostoudata:sem poder hospedar: 400invalid_image_src. - Achar que
variablesé conferido: é só um rótulo informativo gravado como veio.