API de assinatura de contratos

Recebe o contrato, devolve o link de assinatura e entrega o PDF assinado com certificado de evidências.

Endpoints administrativos — header x-api-key

POST/contractsCria o contrato a partir de pdf (base64) ou html
POST/contracts/{id}/generate-linkGera o link com token de 256 bits
GET/contracts/{id}Status, assinantes, datas e URLs
GET/contracts/{id}/downloadPDF final (assinado + certificado)
GET/contracts/{id}/certificateSomente o certificado de assinatura
GET/contracts/{id}/evidenceTrilha completa de evidências em JSON
POST/contracts/{id}/cancelCancela um contrato ainda não assinado
POST/renderPrévia: renderiza HTML em PDF sem criar contrato

Fluxo público

GET/s/{token}Página de assinatura enviada ao cliente
POST/api/sign/{token}/otpEnvia o código de 6 dígitos
POST/api/sign/{token}/submitRegistra a assinatura e as evidências

Webhooks

contract.createdContrato criado e hash calculado
contract.viewedAssinante abriu o documento
contract.signedTodos assinaram; certificado gerado
contract.expiredPrazo do contrato venceu
contract.cancelledContrato cancelado pelo emissor

Documentação completa e exemplos no README.md do projeto.