Assinatura digital de documentos no GLPI com Autentique

Como o módulo Autentique da NexTool integra o GLPI com a plataforma de assinatura digital: envio do PDF a partir do chamado, vários signatários, estado por webhook e as armadilhas de produção (URL do webhook, webhooks duplicados, entidade do documento e modo sandbox) que aprendemos na sustentação.

Documentos que precisam de assinatura ainda circulam por e-mail e WhatsApp - sem rastreabilidade, sem estado conhecido e completamente desligados dos chamados que os originaram. O módulo Autentique da NexTool traz este fluxo para dentro do GLPI.

O problema

Contratos de prestação de serviços, termos de aceitação, autorizações de acesso, atas e rescisões nascem de um processo já registado num chamado. Mas a assinatura acontece fora dele: alguém exporta o PDF, envia por e-mail, insiste com o cliente pelo WhatsApp e, dias depois, tenta lembrar-se de onde guardou a versão assinada. O GLPI nativo até armazena o ficheiro (separador Documentos, tabela glpi_documents) e liga-o ao chamado, mas não tem qualquer noção de assinatura: não sabe quem tem de assinar, se já assinou, nem guarda o rasto de evidências. Quando alguém pergunta "esse contrato foi assinado?", a resposta continua a ser procurar no e-mail e esperar que o anexo certo ainda lá esteja.

GLPI nativo face ao módulo Autentique

Vale a pena separar o que o GLPI faz sozinho do que a integração acrescenta. O núcleo do GLPI é ótimo para anexar e versionar ficheiros, mas a assinatura eletrónica nunca esteve no seu âmbito:

NecessidadeGLPI nativoCom o módulo Autentique
Anexar um documento ao chamadoSim, no separador DocumentosSim, e envia para assinatura no mesmo fluxo
Saber se o documento foi assinadoNão existe esse conceitoEstado por signatário no separador do chamado
Atualização do estadoManual (procurar no e-mail)Automática, por webhook
Rasto de evidênciasInexistenteIP, data/hora e método por signatário (guardados na Autentique)
Validade jurídicaDepende de um processo externoAssinatura eletrónica avançada (Lei brasileira 14.063/2020)
Vários signatários e ordemNão se aplicaSequencial ou simultâneo, com papéis distintos
Ambiente de testeN/AModo sandbox, sem cobrança

Como funciona

O módulo Autentique integra o GLPI com a plataforma de assinatura digital Autentique e concentra tudo num separador Assinatura Digital dentro do chamado. A partir de um documento já anexado, monta o envelope de assinatura sem trocar de sistema:

  • Envio direto a partir do chamado - o PDF que já está anexado segue para assinatura sem copiar ficheiros entre sistemas.
  • Vários signatários com papéis - adicione quantos forem necessários com ações distintas: Assinar, Aprovar, Testemunhar, Reconhecer ou Acusar receção.
  • Ordem de assinatura - defina se os signatários assinam em sequência ou em simultâneo, conforme o processo da organização.
  • Acompanhamento em tempo real - o estado de cada signatário é atualizado por webhook, sem consultar o painel da Autentique.
  • Descarregar o documento assinado - após a última assinatura, o PDF final fica disponível no próprio chamado.
  • Autenticação adicional - validação por SMS, selfie e outros métodos conforme a criticidade do documento.
  • Modo sandbox - um ambiente de testes para validar o fluxo sem gerar cobrança na plataforma.

Como o módulo comunica com a Autentique

A API da Autentique é GraphQL. Ao enviar um documento, o módulo monta uma mutation equivalente a esta, anexando o PDF do chamado e a lista de signatários com a ação de cada um:

# A API da Autentique é GraphQL. Ao enviar um documento do chamado,
# o módulo monta uma mutation como esta (o PDF vai anexado ao pedido):
mutation CriarDocumento($doc: DocumentInput!, $signers: [SignerInput!]!, $ficheiro: Upload!) {
  createDocument(sandbox: false, document: $doc, signers: $signers, file: $ficheiro) {
    id
    name
    signatures {
      public_id
      email
      action { name }
      link { short_link }
    }
  }
}

# Variáveis, montadas a partir do separador Assinatura Digital do chamado:
# {
#   "doc":     { "name": "Contrato de prestação de serviços - Chamado #1042" },
#   "signers": [
#     { "email": "cliente@empresa.pt", "action": "SIGN"    },
#     { "email": "gestor@nextool.com", "action": "APPROVE" }
#   ]
# }

O campo action mapeia diretamente os papéis que escolhe no separador: SIGN (Assinar), APPROVE (Aprovar), SIGN_AS_A_WITNESS (Testemunhar), RECOGNIZE (Reconhecer) e ACKNOWLEDGE (Acusar receção). O public_id devolvido para cada assinatura é o identificador que liga o signatário ao chamado nos eventos seguintes.

O webhook, e o que aprendemos na sustentação

O envio é apenas metade do trabalho. A peça que sustenta a rastreabilidade é o webhook: a cada evento (assinou, aprovou, recusou, visualizou), a Autentique faz um POST para o GLPI e o separador do chamado atualiza-se sozinho. A operar isto para clientes, três detalhes já nos custaram diagnóstico:

  • O erro mais comum não está no GLPI, está na Autentique. Quem se esquece de registar o URL do webhook no painel da plataforma vê o documento ser enviado e assinado normalmente, mas o estado nunca regressa - e o chamado que chega ao suporte é "porque é que o GLPI não mostra que foi assinado?".
  • Os webhooks repetem-se. Se a Autentique não receber um 200 rápido, reenvia o mesmo evento. Sem idempotência, o mesmo "assinou" entra duas vezes no histórico. Por isso o processamento identifica o evento pelo public_id da assinatura, e não pela ordem de chegada.
  • Entidade do documento. Ao gravar o PDF assinado de volta num chamado que vive numa subentidade, o GLPI exige que o documento pertença à mesma entidade do chamado; caso contrário, a ligação Document_Item falha em silêncio e o ficheiro "assina, mas desaparece". O módulo herda a entidade do chamado ao gravar o documento final.

E, antes de ir para produção, confirmamos sempre que a sandbox está desligada. Deixá-la ativa faz a plataforma aceitar o fluxo sem gerar uma assinatura com validade real - o pior tipo de falso positivo num processo jurídico, porque tudo parece funcionar até alguém precisar do documento com valor legal.

Como ativar

  1. Instale ou atualize o NexTool no seu GLPI (10 ou 11).
  2. Aceda a Configuração > NexTool > Módulos.
  3. Ative o Autentique e clique em Configurar.
  4. Introduza o token da API da Autentique e o segredo do webhook.
  5. Registe o URL do webhook no painel da Autentique.
  6. Execute um documento de ponta a ponta em modo sandbox antes de libertar em produção.

Para quem é indicado - e quando não usar

O módulo é indicado para departamentos de TI e equipas de operações que gerem contratos de prestação de serviços, termos de utilização de sistemas, autorizações de acesso e qualquer documento que precise de assinatura com valor probatório - sobretudo quem já usa a Autentique e quer eliminar a desconexão entre a assinatura e o chamado que a originou.

Quando não usar:

  • Se apenas precisa de uma rubrica no ecrã durante o atendimento presencial, sem plataforma externa nem custo por documento, um módulo de assinatura manual (signature pad) resolve melhor.
  • Se o documento exige assinatura qualificada com certificado ICP-Brasil (A1/A3) - alguns atos regulados impõem-no - a assinatura avançada pode não bastar; valide a exigência legal primeiro.
  • Se a empresa padronizou outra plataforma que não a Autentique, o módulo não se aplica.
  • Se o documento não nasce de um chamado, a integração não acrescenta a rastreabilidade que é o seu maior valor.

Compatibilidade

  • GLPI: 10.0+ e 11.0+
  • Plano: A pedido
  • Plugin: NexTool 3.x+

Próximo passo

O Autentique faz parte do NexTool, ecossistema de módulos para expandir o GLPI sem personalizações de código. Fale com a equipa para uma demonstração no seu cenário.


Este conteúdo foi produzido com o auxílio de inteligência artificial e revisto pela equipa NexTool Solutions.

Perguntas Frequentes

Sim. O módulo Autentique da NexTool integra o GLPI com a plataforma Autentique, permitindo enviar o PDF já anexado ao chamado para assinatura digital e acompanhar o estado por signatário no próprio chamado, sem sair do GLPI.

Sim, como assinatura eletrónica avançada, com rasto de evidências (IP, data/hora, método) reconhecida pela legislação brasileira (MP 2.200-2/2001 e Lei 14.063/2020). Note que é diferente da assinatura qualificada com certificado ICP-Brasil. Para documentos que por lei exigem assinatura qualificada, valide o requisito antes de recorrer à assinatura avançada.

Por webhook. A cada evento (assinou, aprovou, recusou), a Autentique faz um POST para o GLPI; o módulo valida o segredo do webhook e atualiza o estado no chamado em tempo real, sem que ninguém precise de abrir o painel da plataforma. Registar o URL do webhook na Autentique é parte obrigatória da ativação.

A Autentique reenvia o evento se não receber um 200 rápido, por isso o mesmo 'assinou' pode chegar mais do que uma vez. O processamento é idempotente: identifica o evento pelo public_id da assinatura, e não pela ordem de chegada, evitando lançamentos duplicados no histórico do chamado.

Sim, mas há uma armadilha do GLPI: o documento assinado tem de pertencer à mesma entidade do chamado, caso contrário a ligação Document_Item falha em silêncio e o ficheiro desaparece da vista do chamado. O módulo herda a entidade do chamado ao gravar o PDF final, precisamente para evitar este comportamento em ambientes multientidade.

Sim. O módulo suporta o modo sandbox da Autentique, que permite validar o fluxo de ponta a ponta sem gerar uma assinatura cobrada. Antes de ir para produção, desligue a sandbox: mantê-la ativa faz a plataforma aceitar o fluxo sem gerar uma assinatura com validade real.

Precisa de ajuda?