Skip to content

Templates API

Endpoints

Listagem e CRUD

MétodoEndpointDescrição
GET/templatesLista templates com filtros opcionais
GET/templates/:idRetorna um template pelo ID
POST/templatesCria um novo template
PUT/templates/:idAtualiza um template existente
DELETE/templates/:idRemove um template

Upload de PDF

MétodoEndpointDescrição
POST/templates/upload-pdfFaz upload de PDF e cria template como draft

Request:

Content-Type: multipart/form-data

file: <arquivo PDF> (máx. 2MB)

Response:

typescript
type UploadPdfResponse = {
  id: string
  pdfPath: string
  status: 'draft'
}

Validações (Frontend):

ValidaçãoRegra
FormatoApenas application/pdf
TamanhoMáximo 2MB (2 * 1024 * 1024 bytes)

Fluxo:

PdfUploader.vue

Valida formato e tamanho (frontend)

uploadTemplatePdfService(file)

POST /templates/upload-pdf (multipart/form-data)

Backend:
  - Faz upload do PDF para S3
  - Cria template com status 'draft'
  - Retorna { id, pdfPath, status }

Store atualiza:
  - templateId = id
  - pdfPath = path
  - templateStatus = 'draft'
  - currentStep = 'editing'