Skip to content

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étodoRotaDescrição
GET/signing/:tokenDados completos para a tela de assinatura
GET/signing/:token/pdf/:pdfId/download-urlURL do PDF com todas as assinaturas aplicadas
POST/signing/:token/request-codeDispara código 2FA por email (apenas email)
POST/signing/:token/verify-codeValida código de 6 dígitos
POST/signing/:token/signFinaliza a assinatura (requer 2FA verificado)
POST/signing/:token/rejectRejeita a assinatura com motivo opcional

Job de Geração de PDF

  • Trigger: quando contract.status muda para signature.
  • 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 SigningJwtGuard rejeita type diferente de "signing" e contratos em status COMPLETED / FINISHED / OVERDUE / ACTIVE.