Appearance
API de Signing: Visão Geral
Para a especificação completa do payload, erros e segurança, ver signing-endpoint.md. Este arquivo mantém apenas a visão de alto nível.
Resumo
Rota pública autenticada por token JWT na URL (/signing/:token). O token carrega contractId, signerId e type: "signing" e é emitido pelo backend ao disparar o convite de assinatura. Não usa o sistema de auth padrão.
Endpoints
| Método | Rota | Descrição |
|---|---|---|
GET | /signing/:token | Dados completos para a tela de assinatura |
GET | /signing/:token/pdf/:pdfId/download-url | URL do PDF com todas as assinaturas aplicadas |
POST | /signing/:token/request-code | Dispara código 2FA por email (apenas email) |
POST | /signing/:token/verify-code | Valida código de 6 dígitos |
POST | /signing/:token/sign | Finaliza a assinatura (requer 2FA verificado) |
POST | /signing/:token/reject | Rejeita a assinatura com motivo opcional |
Job de Geração de PDF
- Trigger: quando
contract.statusmuda parasignature. - Backend converte cada template em um PDF próprio, com variáveis preenchidas.
- Upload para S3; registra uma linha por PDF em
contract_pdfs(1 linha por template + provider). - PDFs ficam imutáveis após geração.
Token JWT
- Algoritmo: HS256 (secret em
JWT_SECRET). - Payload obrigatório:
{ contractId, signerId, type: "signing", iat, exp }. - Guard
SigningJwtGuardrejeitatypediferente de"signing"e contratos em statusCOMPLETED / FINISHED / OVERDUE / ACTIVE.