Vários signatários
Assinaturas em sequência no mesmo PDF e o nome do campo de assinatura.
Cada signatário assina o PDF já assinado pelo anterior. É uma atualização incremental: os bytes anteriores ficam intactos, e as assinaturas que já estavam no documento continuam válidas.
Como funciona#
Para cada signatário, repita o fluxo normal (Assinar PDFs no seu sistema) usando como PDF de entrada o resultado da assinatura anterior:
- Inicie uma nova sessão com o PDF assinado pelo signatário anterior.
- No
prepare, a API cria um novo campo de assinatura e, opcionalmente, o carimbo visível dele (Assinatura visível). - Conclua e baixe. O resultado é o PDF com mais uma assinatura.
Na verificação, as assinaturas anteriores continuam valid. O resultado indica coversWholeFile: false para elas e lista, em laterSignatures, as que vieram depois. Qualquer outra alteração feita depois da assinatura reprova como modified_after_signing.
O nome do campo de assinatura#
O prepare cria um campo de assinatura no PDF:
- Sem
signatureFieldName: o primeiro campo éShieldSignature1. Se o PDF já tem assinaturas, usa o primeiroShieldSignatureNlivre: a segunda pessoa geraShieldSignature2, a terceiraShieldSignature3e assim por diante. - Com
signatureFieldName: você escolhe o nome, por exemploAprovador.
$api->prepare($token, $der, signatureFieldName: 'Aprovador');
O nome começa com uma letra e tem até 64 caracteres entre letras, dígitos, _ e -. Um nome já usado no PDF responde 409 signature_field_exists: a API nunca reaproveita nem sobrescreve um campo existente.
Em lote, informe um nome por documento: signatureFieldNames: ['A', null, 'C'] (null usa o padrão). A resposta do prepare traz signatureFieldNames, com o nome criado em cada documento. Em JavaScript: signatureFieldName em signPades e documents[i].signatureFieldName em signPadesBatch.
Boas práticas#
- Se a ordem das assinaturas importa (por exemplo, quem aprova depois de quem), controle a ordem no seu sistema: só inicie a sessão do próximo signatário depois de concluir a anterior.
- Dê um nome claro a cada campo (
Aprovador,Testemunha1), para localizar a assinatura de cada papel. - Defina uma posição diferente para o carimbo de cada signatário, para que não fiquem sobrepostos.