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'