Docublock
Referência da API

Documentos

Crie documentos para assinatura eletrônica, atribua signatários a eles e gerencie seu ciclo de vida. Base: /api/documents. Todas as rotas exigem Bearer.

O objeto Firmante

Cada documento leva um array endorsementInput com um ou mais signatários:

CampoTipoObrig.Descrição
firstNamestring✔Nomes do signatário.
lastNamestring✔Sobrenomes.
identificationstring✔Número do documento de identidade.
identificationKindstring✔Tipo de documento (ex. CC, CE, PAS).
kindPersonenum✔"Persona Natural" ou "Persona Juridica".
emailstring✔E-mail do signatário (canal de notificação).
cellphonestring✔Celular com código de país (ex. +57...).
countrystring✔ObjectId do país (ver Catálogos).
citystring—ObjectId da cidade.
principalSignerboolean✔true para o signatário principal.
iterationnumber✔Ordem de assinatura. Signatários com o mesmo valor assinam em paralelo; valores consecutivos (1, 2, 3…) definem assinatura sequencial. Não são permitidos saltos.
typeSignstring—Papel do signatário (texto livre). Por padrão "Firmante". Outros exemplos: "Avalador", "Rep. Legal", "Testigo".
biometricValidboolean—Validação biométrica avançada. Add-on pago.
basicIdentityValidboolean—Validação de documento contra o rosto. Add-on pago.
identityValidboolean—Validação de identidade completa (documento + rosto + liveness). Add-on pago.
consultRegistryboolean—Consulta na Registraduría. Add-on pago.
snapshotCaptureboolean—Captura de foto do signatário durante a assinatura. Add-on pago.
biometricSignatureboolean—Assinatura com verificação biométrica facial. Add-on pago.
voiceVerificationboolean—Verificação de identidade por voz. Add-on pago.
antiDeepfakeboolean—Detecção anti-deepfake na verificação facial. Add-on pago.
reqDocumentboolean—Exige anexar documento de identidade.
businessNamestring—Razão social (pessoa jurídica).
identificationRepLegalstring—CPF/CNPJ do representante legal (pessoa jurídica).
expeditionDatestring—Data de expedição do documento de identidade (formato ISO).
expeditionCitystring—Cidade de expedição do documento de identidade.

Os signatários não precisam estar cadastrados na Docublock. Recebem o convite por e-mail e assinam diretamente pelo link. O campo typeSign controla o papel visível do signatário no documento: você pode atribuir qualquer texto conforme o seu fluxo de negócio.

Tamanho máximo do request: o corpo JSON não pode ultrapassar 100 MB. Como os arquivos viajam em base64 (~33 % a mais que o peso original), o tamanho combinado de documento + anexos não deve ultrapassar ~75 MB.
Validações de identidade (add-ons pagos): biometricValid, basicIdentityValid, identityValid, consultRegistry, snapshotCapture, biometricSignature, voiceVerification e antiDeepfake são funcionalidades adicionais que são cobradas separadamente e devem ser habilitadas para a sua organização. Para ativá-las, escreva para nós em app.docublock.co/organizacion ou no WhatsApp +57 311 806 8275. Se não estiverem habilitadas, são ignoradas.

Criar documento a partir de PDF

POST/api/documents/create-pdf-base64Bearer

Campos do corpo:

CampoTipoObrig.Descrição
namestring✔Nome do documento.
baseFilestring✔Conteúdo do PDF em base64.
filenamestring—Nome do arquivo (ex. contrato.pdf).
endorsementInputFirmante[]✔Lista de signatários.
signatureModeenum—"single" ou "independent".
templatestring—ObjectId do modelo associado.
directorystring—ObjectId do diretório de destino.
relatedInfoobject—Metadados livres para a sua integração.
letterheadsstring—ObjectId do cabeçalho a aplicar ao documento.
attachmentsobject[]—Arquivos PDF anexos que viajam junto ao documento principal sem se fundir em um único arquivo. Cada elemento: { name, file } onde name é o nome do arquivo e file o conteúdo em base64.
subsidiarystring—ObjectId da filial associada.
regionstring—ObjectId da região.
orgAreastring—ObjectId da área organizacional.
subAreastring—ObjectId da sub-área.
json
{
  "name": "Contrato de arrendamiento #1024",
  "baseFile": "JVBERi0xLjcKJ...==",
  "filename": "contrato-1024.pdf",
  "signatureMode": "single",
  "endorsementInput": [
    {
      "firstName": "María",
      "lastName": "Ríos",
      "identification": "1019234567",
      "identificationKind": "CC",
      "kindPerson": "Persona Natural",
      "email": "maria@ejemplo.com",
      "cellphone": "+573001112233",
      "country": "661a1fb2a0e9e20423fe6cc8",
      "principalSigner": true,
      "iteration": 1,
      "biometricValid": true
    },
    {
      "firstName": "Carlos",
      "lastName": "Gómez",
      "identification": "80123456",
      "identificationKind": "CC",
      "kindPerson": "Persona Natural",
      "email": "carlos@ejemplo.com",
      "cellphone": "+573009998877",
      "country": "661a1fb2a0e9e20423fe6cc8",
      "principalSigner": false,
      "iteration": 2,
      "typeSign": "Avalador"
    }
  ],
  "attachments": [
    {
      "name": "cedula-maria.pdf",
      "file": "JVBERi0xLjQK...=="
    }
  ]
}

Resposta 201: o documento criado (com _id, code, path, signatários e estado inicial). A Docublock dispara automaticamente a solicitação de assinatura para cada signatário.

Plano: se a sua organização não tiver documentos disponíveis ou o plano estiver expirado, a resposta é 400 com a mensagem correspondente.

Criar documento a partir de Word

POST/api/documents/create-word-base64Bearer

Igual ao anterior, mas baseFile é um .docx/.doc em base64; a Docublock o converte em PDF antes de assinar.

Criar um bloco

POST/api/documents/create-blocks-base64Bearer

Agrupa vários documentos sob um mesmo fluxo de assinatura. Requer o array filesBlocks (cada elemento: { name, baseFile, fileType, filename }). Resposta: { blockId, documents: [{ id, name, code, path }] }.

Criação em massa

POST/api/documents/create-massive-pdf-base64Bearer
POST/api/documents/create-massive-word-base64Bearer
POST/api/documents/create-massive-blocks-base64Bearer

Corpo: { "documents": [ ... ] } (ou { "blocks": [ ... ] }). Resposta: { total, created, failed, results, errors }.

Listar documentos

POST/api/documents/get-allBearer

Corpo: filtros opcionais + limit, page, order. A organização é aplicada automaticamente. Resposta: { total, totalPages, documents: [...] }.

Obter um documento

GET/api/documents/:idBearer

Retorna o documento completo: estado de assinatura, signatários, modelo, versões, certificado e trilha de auditoria. 404 se não existir.

Atualizar e versionar

PUT/api/documents/:idBearer

Atualiza os metadados de um documento existente.

PUT/api/documents/add-versions/:idBearer

Adiciona uma nova versão do arquivo ao documento.

Para substituir um documento que já foi enviado para assinatura, cancele o documento atual e crie um novo com o arquivo atualizado.

Quando um signatário recusa, o evento document.rejected é disparado. Configure um webhook para receber esta e outras notificações do ciclo de vida do documento.

Reenviar solicitação de assinatura

POST/api/documents/resend-endorsement-documentBearer

Corpo: { "idDocument": "<ObjectId>", "idSigner": "<ObjectId>" }. Reenvia a notificação de assinatura ao signatário indicado.

Pronto para começar com a Docublock?

Docublock

© 2026 Docublock. Todos os direitos reservados.

FacebookLinkedInX
Docublock