Saltar al contenido principal

Marcar un documento como firmado

Marca un documento como firmado cuando se haya obtenido una firma física o fuera de banda. Puedes marcar todo el documento como completo o marcar a un solo destinatario como completo si otros todavía están firmando. Puedes subir un PDF firmado al mismo tiempo.

Prerrequisitos​

  • Tu ID de documento (codificado en base64): si tienes un UUID REST, préfijalo con doc y codifica el resultado en base64 (por ejemplo, doc + <your-document-uuid> → base64). Consulta Understand Web IDs and API IDs para más detalles.

Opción A: Marcar como firmado sin subir un PDF​

Llama a markAsComplete con isUploaded: false. El campo declarationText es obligatorio — úsalo para registrar la razón por la que el documento se marca como completo (por ejemplo, "Verbal confirmation received", "Wet signature obtained"). Puede dejarse como una cadena vacía, pero un valor significativo es útil para fines de auditoría.

mutation MarkAsComplete {
markAsComplete(input: {
documentId: "<document-id>"
declarationText: "Verbal confirmation received"
isUploaded: false
})
}

Opción B: Marcar como firmado con subida de PDF​

Paso 1: Obtener una URL de subida prefirmada​

Llama a la consulta upload con uploadType: MARKASCOMPLETE para obtener una URL corta de S3.

query GetUploadUrl {
upload(
id: "<document-id>"
uploadType: MARKASCOMPLETE
extension: "pdf"
) {
url
}
}

Respuesta:

{
"data": {
"upload": {
"url": "https://lon-files-clearing.s3-accelerate.amazonaws.com/upload/..."
}
}
}

Paso 2: Hacer PUT del archivo a S3​

Sube el PDF firmado directamente a la URL proporcionada usando una petición HTTP PUT con Content-Type: application/pdf. La URL tiene una duración corta — úsala inmediatamente. Consulta Upload files para más detalles sobre el paso PUT.

curl -X PUT \
-H "Content-Type: application/pdf" \
--data-binary @signed-copy.pdf \
"<url from previous step>"

Paso 3: Marcar el documento como completo​

Llama a markAsComplete con isUploaded: true. El campo declarationText se comporta igual que en la Opción A.

mutation MarkAsComplete {
markAsComplete(input: {
documentId: "<document-id>"
declarationText: "Signed copy received by post"
isUploaded: true
})
}

Marcar a un solo destinatario como firmado​

Usa markRecipientAsComplete cuando una parte haya firmado fuera de banda pero otros no.

Si quieres subir un PDF firmado para el destinatario, primero obtén una URL prefirmada usando uploadType: MARKRECIPIENTASCOMPLETE:

query GetUploadUrl {
upload(
id: "<recipient-id>"
uploadType: MARKRECIPIENTASCOMPLETE
extension: "pdf"
) {
url
}
}

Luego haz PUT del archivo a la URL proporcionada — consulta Upload files.

Campos clave:

  • suppressNextRecipientNotification — ponlo en true para evitar que el siguiente destinatario en el orden de firma sea notificado inmediatamente.
  • auditlogText — opcional. Déjalo vacío si no es necesario, pero un valor significativo es útil para fines de auditoría.

Luego llama a markRecipientAsComplete:

mutation MarkRecipientAsComplete {
markRecipientAsComplete(input: {
recipientId: "<recipient-id>"
documentOptions: NONE
suppressNextRecipientNotification: false
auditlogText: "Signed copy received by post"
}) {
id
uploadId
}
}

Archivar el documento (opcional)​

Una vez marcado como completo, puedes archivar el documento para eliminarlo de la vista de documentos activos.

mutation ArchiveDocument {
archiveDocument(input: {
documentId: "<document-id>"
restore: false
})
}

Configura restore: true para desarchivar.