Estrutura da Certificadora
A CertifiQI representa seus documentos como um evento de assinatura, permitindo que mais de um documento seja enviado e assinado no mesmo evento.
Elementos Básicos
Temos como elementos básicos:
- Batch Group corresponde ao evento de assinatura;
- Document Batch é um grupo de documentos;
- Document Related Party é a denominação de um grupo de assinantes relacionados;
- Signer Group é um grupo de assinantes;
- Signer é um assinante individual.
A imagem abaixo representa a estrutura com os documentos e assinantes.
A estrutura principal dos documentos é dada pela seguinte imagem:
Cada evento (batch_group) possui 1 ou mais grupos de documentos (batch). Cada batch possui 1 ou mais documentos (document) e 1 ou mais grupos de assinantes relacionados (related_party). Cada related_party possui 1 ou mais grupos de assinantes (signer_group) e cada signer_group possui 1 ou mais assinantes (signer).
-
Agrupar os assinantes por papel (role) e que um assinante, assine por mais de um papel.
-
Criar grupos de assinantes, dos quais nem todos os assinantes precisam assinar (número mínimo de assinantes por grupo).
-
Criar assinantes mandatórios.
-
Definir uma ordem nas assinaturas.
-
Atrelar pessoas às related_parties que deverão ser notificadas quando um documento estiver disponível para assinatura.
Fluxo
A imagem abaixo representa o fluxo de criação de um evento de assinatura:
Esse fluxo está descrito nos endpoints principais explicitados abaixo:
- POST /document - envio dos documentos pdf (N documentos).
- POST /batch_group -envio para assinatura (com referência a todos os documentos enviados e os dados dos assinantes). Neste endpoint também deverá ser enviado o campo control_number (número do lote de cessão).
- POST /webhook - registro do endereço de webhook para notificar as mudanças de status dos documentos assinados.
- PUT /batch_group/(batch_group_key)/send_to_signature - envio dos e-mails com link de assinatura para os assinantes.
Além desses, temos três endpoints secundários:
- GET /batch_group/(batch_group_key) - buscar todas as informações do evento de assinatura a partir de uma batch_group_key.
- GET /webhook/webhook_key - buscar todas as informações de um webhook a partir de uma webhook_key.
- PUT /batch_group/(batch_group_key)/cancel_signature - cancelar um evento de assinatura dado uma batch_group_key.