Pular para o conteúdo principal

Posicionar Assinaturas

Existem dois recursos nesta página:

  • Posições de assinatura (/signer-positions): definem onde a assinatura de cada signatário fica na página. São essas posições que a tela de assinatura recebe pré-configuradas.
  • Campos do envelope (/fields): cadastro de campos associados a um signatário.

Posições de assinatura​

Requisição​

PUT /v1/envelopes/{id}/signer-positions

Headers​

HeaderTipoObrigatórioDescrição
AuthorizationstringSimBearer {token}
Content-TypestringSimapplication/json

Parâmetros de URL​

ParâmetroTipoObrigatórioDescrição
idnumberSimIdentificador do envelope

Body (JSON)​

CampoTipoObrigatórioDescrição
positionsarraySimLista de posições. Um signatário pode ter mais de uma, por exemplo em páginas diferentes
positions[].signerIdnumberSimID do signatário. Precisa pertencer ao envelope
positions[].signaturePagenumberSimPágina, começando em 1
positions[].signaturePosXnumberSimDistância a partir da borda esquerda (maior ou igual a 0)
positions[].signaturePosYnumberSimDistância a partir da borda superior (maior ou igual a 0)
positions[].signatureWidthnumberSimLargura da assinatura (mínimo 1)
positions[].signatureHeightnumberSimAltura da assinatura (mínimo 1)
positions[].refPageWidthnumberNãoLargura da página em que as coordenadas foram medidas
positions[].refPageHeightnumberNãoAltura da página em que as coordenadas foram medidas
Sistema de coordenadas

A origem é o canto superior esquerdo da página, como ela é exibida. Sem refPageWidth e refPageHeight, os valores são usados como pontos do PDF. Por exemplo, uma página A4 em pé mede cerca de 595 x 842 pontos. Com refPageWidth e refPageHeight, as coordenadas são tratadas como proporcionais a essa página de referência e reescaladas para o tamanho real da página do PDF.

Exemplo de requisição​

curl -X PUT \
https://api.tapsign.com.br/v1/envelopes/512/signer-positions \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"positions": [
{
"signerId": 880,
"signaturePage": 4,
"signaturePosX": 72,
"signaturePosY": 650,
"signatureWidth": 200,
"signatureHeight": 50,
"refPageWidth": 595,
"refPageHeight": 842
},
{
"signerId": 881,
"signaturePage": 4,
"signaturePosX": 330,
"signaturePosY": 650,
"signatureWidth": 200,
"signatureHeight": 50,
"refPageWidth": 595,
"refPageHeight": 842
}
]
}'

Resposta​

200 - Sucesso​

Nenhum corpo de resposta é retornado.

Substituição

Para cada signatário presente no body, as posições anteriores são apagadas e substituídas pelas enviadas. Signatários que não aparecem no body mantêm as posições que já tinham. A primeira posição de cada signatário também aparece nos campos signaturePage, signaturePosX, signaturePosY, signatureWidth e signatureHeight de Detalhar Documento.

Erros​

CódigoQuando acontece
400Valor fora dos limites (a resposta traz fields), ou signerId de outro envelope
401Token ausente ou inválido
404O envelope não existe ou não é da sua conta, ou o signerId não existe

Campos do envelope​

Tipos de campos​

TipoDescrição
SIGNATUREAssinatura
INITIALSRubrica
TEXTTexto
DATEData
CHECKBOXCaixa de seleção
Campos não definem a posição da assinatura

Os campos ficam registrados no envelope e voltam nestas rotas, mas não são usados pela tela de assinatura nem na geração do PDF assinado. Para definir onde a assinatura aparece, use as posições de assinatura.

Listar campos​

GET /v1/envelopes/{id}/fields
curl -X GET \
https://api.tapsign.com.br/v1/envelopes/512/fields \
-H "Authorization: Bearer {token}"

Retorna 200 com a lista de campos do envelope, no mesmo formato da resposta de adicionar campo.

Adicionar campo​

Requisição​

POST /v1/envelopes/{id}/fields

Body (JSON)​

CampoTipoObrigatórioDescrição
signerIdnumberSimID do signatário responsável pelo campo. Precisa pertencer ao envelope
typestringSimTipo do campo (tabela acima)
pagenumberSimPágina, começando em 1
posXnumberSimPosição horizontal (maior ou igual a 0)
posYnumberSimPosição vertical (maior ou igual a 0)
widthnumberSimLargura (mínimo 1)
heightnumberSimAltura (mínimo 1)
requiredbooleanNãoSe o campo é obrigatório
placeholderstringNãoTexto de apoio, com até 255 caracteres

A API guarda os valores de posição exatamente como enviados.

Exemplo de requisição​

curl -X POST \
https://api.tapsign.com.br/v1/envelopes/512/fields \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"signerId": 880,
"type": "DATE",
"page": 4,
"posX": 72,
"posY": 710,
"width": 120,
"height": 20,
"required": true
}'

201 - Criado com sucesso​

{
"id": 3301,
"envelopeId": 512,
"signerId": 880,
"type": "DATE",
"page": 4,
"posX": 72.0,
"posY": 710.0,
"width": 120.0,
"height": 20.0,
"required": true,
"placeholder": null,
"createdAt": "2026-09-12T14:33:00Z",
"updatedAt": "2026-09-12T14:33:00Z"
}

Atualizar campo​

PUT /v1/envelopes/{id}/fields/{fieldId}

O PUT substitui o campo: envie type, page, posX, posY, width e height (obrigatórios), além de required e placeholder, que ficam null se forem omitidos. signerId é opcional; sem ele, o campo continua com o mesmo signatário.

curl -X PUT \
https://api.tapsign.com.br/v1/envelopes/512/fields/3301 \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"type": "DATE",
"page": 4,
"posX": 100,
"posY": 720,
"width": 120,
"height": 20,
"required": true
}'

Retorna 200 com o campo atualizado.

Remover campo​

DELETE /v1/envelopes/{id}/fields/{fieldId}
curl -X DELETE \
https://api.tapsign.com.br/v1/envelopes/512/fields/3301 \
-H "Authorization: Bearer {token}"

Retorna 204 sem corpo.

Erros​

CódigoQuando acontece
400Envelope fora de DRAFT (ao adicionar, atualizar ou remover), campo inexistente ou de outro envelope, signatário de outro envelope, ou valor inválido (a resposta traz fields)
401Token ausente ou inválido
404O envelope não existe ou não é da sua conta, ou o signerId não existe
Somente em rascunho

Campos só podem ser adicionados, atualizados ou removidos enquanto o envelope estiver com status DRAFT.