anchor (texto âncora) no lugar de pageNumber + position, com size obrigatório. A busca é assíncrona: roda depois do processamento dos documentos e antes do envio. Se não conseguir posicionar (texto não achado, PDF sem texto, PDF grande demais, campo fora da página), nada é enviado: ele é anulado e o motivo chega em cancellationReason no webhook ENVELOPE_VOIDED. Com a busca desligada no ambiente, responde 503 ANCHOR_SEARCH_UNAVAILABLE sem registrar nada. Veja o guia Posicionar campos por texto âncora.curl --location 'https://api.sandbox.supersign.com.br/v4/api/envelopes/send-now' \
--header 'Idempotency-Key: 7d3f1c52-9a4b-4e6d-8f20-5b1c9e3a7d41' \
--header 'Content-Type: application/json' \
--data-raw '{
"title": "Contrato de prestação de serviços",
"message": "Olá! Segue o contrato para assinatura.",
"documents": [
{
"ref": "contrato",
"filename": "contrato.pdf",
"contentType": "application/pdf",
"fileSize": 245760
}
],
"signatories": [
{
"ref": "maria",
"deliveryMethod": "EMAIL",
"name": "Maria Souza",
"email": "maria.souza@exemplo.com.br",
"qualification": "Contratante"
}
],
"fields": [
{
"documentRef": "contrato",
"signatoryRef": "maria",
"pageNumber": 1,
"type": "SIGNATURE",
"position": {
"x": 80,
"y": 640
},
"size": {
"width": 180,
"height": 60
}
}
]
}'{
"envelopeId": "string",
"uploadDetails": [
{
"documentId": "string",
"documentRef": "string",
"filename": "string",
"uploadUrl": "string",
"uploadHeaders": {
"property1": "string",
"property2": "string"
}
}
]
}