Rascunhos, publicação e versões
Salvar não é publicar
Salvar atualiza o rascunho do modelo. Publicar seleciona uma versão para produção. Um modelo pode ter uma versão publicada enquanto você trabalha em um rascunho mais recente; não presuma que o rascunho já está publicado.
Antes de publicar
Teste a prévia com dados de exemplo e dados reais longos e confira os formatos necessários. Compare versões ativa e publicada no Histórico. Publique quando o conteúdo desejado para produção estiver pronto.
Restaurar do histórico
Restaurar uma versão histórica salva o conteúdo como nova versão ativa; não apaga o histórico anterior. Confira o conteúdo após restaurar. Publique separadamente se quiser substituir a versão publicada.
Ler, restaurar e publicar uma versão
Cada salvamento manual cria uma nova versão e nada é sobrescrito. Restaurar uma versão anterior não exclui as mais recentes: grava a definição antiga como nova versão, mantendo o histórico completo.
# Lista de versões - mais recente primeiro
curl -s https://api.pdfgine.com/api/v1/templates/invoice/history \
-H "X-PDFgine-Key: $PDFGINE_KEY"
# A definição de uma versão
curl -s https://api.pdfgine.com/api/v1/templates/invoice/history/3 \
-H "X-PDFgine-Key: $PDFGINE_KEY"
# Voltar àquela versão - gravada como nova versão, preservando a antiga
curl -X POST https://api.pdfgine.com/api/v1/templates/invoice/history/3/restore \
-H "X-PDFgine-Key: $PDFGINE_KEY"
# Publicar o rascunho
curl -X POST https://api.pdfgine.com/api/v1/templates/invoice/publish \
-H "X-PDFgine-Key: $PDFGINE_KEY"
{
"type": "https://pdfgine.dev/problems/template-conflict",
"title": "Conflito de modelo",
"status": 409,
"detail": "O modelo foi alterado por outra operação. Carregue a versão atual e tente novamente.",
"templateCode": "invoice",
"currentVersion": 19,
"currentDraftRevision": 0
}
Uma gravação com expectedVersion desatualizado é recusada em vez de mesclada. O corpo do 409 informa o modelo, sua versão atual e a revisão do rascunho; leia a definição atual, reaplique sua alteração e grave novamente.
Conflitos e códigos de conexão
Salvar uma versão antiga pode gerar conflito se outra sessão alterou o modelo. Revise o estado e o histórico em vez de sobrescrever às cegas. O código de conexão identifica o modelo nas solicitações API. Se mudar, atualize também as integrações que o usam.
Fluxo completo de relatório →Os problemas mais comuns
- Salvar não é publicar. Um rascunho pode estar perfeito por dias enquanto a produção continua usando a última versão publicada.
- Restaurar não exclui nada. Grava a definição antiga como nova versão, preservando o histórico e aumentando o número da versão.
- Um 409 repetido com o mesmo expectedVersion é recusado novamente. Leia a versão atual, aplique sua alteração sobre ela e grave.
- Uma renderização com purpose editor-test usa o rascunho; production usa a versão publicada. Duas renderizações aparentemente iguais podem vir de designs diferentes.
- O endpoint de histórico é paginado. Sem limit, você recebe a página mais recente e um cabeçalho Link; tratar essa página como todo o histórico esconde as revisões antigas.