AssinAPI

Posicionar assinaturas

Cada signatário pode ter campos no PDF. No PDF final, cada campo vira um carimbo com a assinatura adotada (desenhada ou digitada), nome, CPF mascarado e data.

Opção 1 — texto âncora (mais fácil)

Escreva no seu modelo de contrato um marcador, por exemplo {{assinatura_cliente}}, onde a assinatura deve ficar. Envie "fields": [{ "anchor": "{{assinatura_cliente}}" }]. O carimbo é colocado em todas as ocorrências, com o canto superior esquerdo no início do texto, e tem fundo branco: o marcador fica escondido sob a assinatura. Ajuste com offsetX/offsetY (% da página). PDFs escaneados (imagem) não têm texto — use coordenadas.

Opção 2 — coordenadas

page (1, 2… , "last" ou "all") + x e y em % da página, a partir do canto superior esquerdo, como você vê no leitor de PDF (páginas giradas já são consideradas). width/height também em %; padrões: assinatura 30×8, rubrica 10×5, nome 30×3, data e CPF 20×3. O campo precisa caber na página (x + width ≤ 100).

Prefere clicar? No dashboard, em Novo documento → Posicionar no PDF, arraste os campos sobre o PDF e use Copiar JSON para a API. GET /v1/envelopes/{id}/pages informa o tamanho e a rotação de cada página.

Tipos

  • SIGNATURE (padrão) — assinatura adotada + “Assinado eletronicamente por”, nome, CPF mascarado e data/hora.
  • INITIALS — rubrica (iniciais). Com "page": "all", uma em cada página.
  • NAME, DATE (data da assinatura) e CPF (mascarado) — texto simples.

Onde enviar

  • Junto do signatário: signers[].fields em POST /v1/signature-requests ou POST /v1/envelopes/{id}/signers (o PDF precisa estar anexado antes).
  • Depois: POST /v1/envelopes/{id}/signers/{signerId}/fields; GET /v1/envelopes/{id}/fields; DELETE /v1/envelopes/{id}/fields/{fieldId} (somente em rascunho).
  • Com mais de um PDF no envelope, informe documentId em cada campo.

Erros: INVALID_FIELD_POSITION (página inexistente ou fora da página) e ANCHOR_NOT_FOUND. Sem campos, nada é carimbado no conteúdo: as assinaturas ficam no relatório anexado ao final do PDF.