Assinatura de documento(s)
Last updated
Was this helpful?
Last updated
Was this helpful?
Todas as assinaturas são processadas no modo assíncrono, ao iniciar-se o processo de assinatura é gerado um TCN (Token de controle da transação), o TCN deve ser utilizado para identificar a transação nos momentos de checagem de status e recuperação de assinatura/documento assinado.
O Fluxo de assinatura pode ser dividido em 4 etapas:
Criação de transação
Upload de documento (O upload pode ser feito através do TCN obtido na primeira etapa + o ID do documento, podendo ser enviado no modo batch/lote ou documento por documento)
Consulta de transação (Detalha o estado atual da transação, como: Status do upload, Status da assinatura etc)
Download de documento/assinatura (O download do documento também deve ser feito através do TCN obtido na primeira etapa + o ID do documento, sendo necessário realizar o download de cada documento individualmente)
A etapa 1 é a única obrigatória, dependendo da modalidade de integração escolhida não será necessário a utilização das etapas 2, 3 e 4.
Caso na etapa 1 seja definido que os documentos à serem assinados serão referenciados (caminho local), as etapas 2 e 4 não são mais necessárias.
Caso na etapa 1 seja definido um endpoint de callback o cliente será notificado quando a transação for finalizada, ou seja, não é necessário ficar consumindo periodicamente o serviço da etapa 3 para obter o estado da transação.
O serviço de criação de transação deve ser utilizado para iniciar o processo de assinatura de forma assíncrona.
Tipos de assinatura e política:
CMS ou CAdES: Suporta assinatura de qualquer tipo de arquivo. O arquivo será considerado como uma sequência de bytes sem interpretação/validação de conteúdo. Podendo ser do tipo attached (onde o conteúdo assinado é envelopado dentro da assinatura) ou do tipo detached (onde o conteúdo não é envelopado, e sempre que for necessário realizar a validação da assinatura precisa-se dos dois arquivos)
PDFSignature ou PAdES: Suporta somente a assinatura de documentos do tipo PDF válidos, podendo haver restrição com a versão do documento PDF caso a flag "auto_fix_document" não tenha sido enviada como ativa. A assinatura é inserida dentro do próprio PDF, sendo assim, o PDF assinado é uma nova versão do PDF original (com a modificação da assinatura, mas com toda a rastreabilidade e histórico das versões antigas)
POST
Authorization
string
Basic, Bearer ou VCSchema (Veja "Autenticação e Autorização")
Content-Type
string
application/json
Accept
string
application/json
POST
http://cess.local/signature-service
POST
http://cess.local/signature-service
Authorization
string
oVG7h6uzPzZc
Content-Type
string
Kxv8jSWHPkUA
Accept
string
XBnbGNvpREaF
certificate_alias
string
FmnFVXRAkwLw
documents_destination
string
PAyUo1XD1Z7W
mode
string
D5EALe0qiH9Z
type
string
Q4eR0Xjbvz8h
notification_callback
string
1SxMMVPeLnui
policy
string
UoHGlj5co3Bu
hash_algorithm
string
ohy2VTH0TPWq
signature_settings
object
3ypseJzkORSy
auto_fix_document
boolean
oXJ8bibIMEnn
tsa_server_id
string
QLkBiUjwMKhp
tsa_hash_algorithm
string
kIrxGt2JMQsW
documents_source
string
DxyAPiYGBgDO
documents
string
6HkmaEBxuC7P
signer_company
signature
jQa6RIm201uI
return_signature
boolean
ZRQTUyb61cOs
POST
http://cess.local/signature-service
signature_settings
object
KA4YlXrmkrbj
documents_destination
string
POST
http://cess.local/signature-service
documents_destination
string
cWDzv7RzN4GX
Sempre que a origem dos documentos (documents_source) de uma transação for indicada como “UPLOAD_REFERENCE” será necessário realizar o upload dos documentos por esse serviço.
Os uploads podem ser feito no modo “batch” (lote, vários documentos em uma única requisição de upload) ou “simple”, que é o envio de documento por documento.
É necessário sinalizar através do parâmetro “eot” (end of transaction) que o upload do lote chegou ao fim. Caso seja uma assinatura “simple” de um único documento, basta enviar a flag na própria requisição do documento.
Caso haja mais de uma configuração de assinatura na transação, o parâmetro “signature_setting” deve ser populado com o ID da da configuração escolhida.
Content-Type
string
multipart/form-data
Accept
string
application/json
document
string
Documento único
document[0]
string
Document 0
document[1]
string
Document 1
document[n]
string
Document n
POST
http://cess.local/file-transfer/<tcn>/<eot, continue or empty>/<signature_setting>
Content-Type
string
ITxjqLT3c9T0
Accept
string
YXA2bqvYTf9w
document
string
XyhpyCkn7txL
document[0]
string
yPUlx0pzlwHz
document[1]
string
tWgp0Q5RIqDO
document[n]
string
tnbdSqKTxThQ
O serviço de consulta de transação deve ser utilizado quando não for informado um endpoint de callback (notificação) ou em possíveis falhas de notificação.
GET
http://cess.local/signature-service/<tcn>
Content-Type
string
WgA0plySedeg
Accept
string
0w3lrdgH2M8d
Estrutura da resposta:
.
.
tcn
Token de controle da transação
certificate_alias
Identifica qual foi o certificado utilizado para realizar a assinatura
type
Tipo de assinatura
hash_algorithm
Algoritmo de hash utilizado na assinatura
tsa
Indica se foi utilizado alguma política que utilizou uma carimbadora do tempo
documents_source
Indica origem dos documentos, valores possíveis:
DATA_URL
FILE_PATH
UPLOAD_REFERENCE
AWS_S3
GCP_STORAGE
documents
Lista de documentos/assinaturas na transação,
id ( Identificador do documento na
transação)
status ( Status da assinatura,
valores possíveis: SIGNED, WAITING ou ERROR )
result ( Link/Path para cópia/download do
documento/assinatura )
destination_file_name (apenas quando utilizado destination_source = AWS_S3 ou GCP_STORAGE)
lifetime ( Tempo de vida em segundos,
indica quanto tempo os documentos
assinados continuarão disponíveis
para cópia/download. )
Quando houver resposta de uma transação via notificação ou serviço de “consulta de transação” com a sinalização que o documento já foi assinado, esse serviço automaticamente torna-se disponível para o TCN/Document ID recebido.
string
GET
http://cess.local/file-transfer/<tcn>/<document id>
string
phK1hwab10Qw
Para mais informações de como utilizar o CESS com AWS S3, acesse
Para mais informações de como utilizar o CESS com Google Cloud Platform Storage, acesse
POST
POST
/file-transfer/<tcn>/<eot, continue or empty>/<signature_setting>
GET
/<tcn>
GET
/file-transfer/<tcn>/<document id>