Documentos | Assinatura Eletrônica
Este artigo documenta o processo comum de manutenção para todos os tipos de documentos.
Buscar documentos resumidamente
Lista de forma paginada e resumida todos os documentos cadastrados no sistema.
Requisição | |
Método | GET |
URL | /api/v1/documentos/resumo |
Parâmetros de consulta | |
query |
Filtro de pesquisa |
page |
Número da página que será retornada |
size |
Quantidade de registros retornados por página |
sort |
Ordenação dos registros retornados |
Exemplo de uso | |
/api/v1/documentos/resumo?page=1&size=10 |
|
/api/v1/documentos/resumo?page=1&size=10&sort=nome,desc |
|
/api/v1/documentos/resumo?query=pessoaNome=contains=cristiano |
Estrutura de dados da resposta | |||
Propriedade | Tipo | Tamanho | Descrição |
id |
UUID | 36 | Identificação do documento |
identificacao |
String | 50 | Código informado pelo usuário para identificação do documento |
status |
String | 50 |
Status do documento, com os valores: PENDENTE, ARQUIVO_ADICIONADO, AGUARDANDO_ASSINATURAS, ASSINADO, REJEITADO ou EXPIRADO |
arquivado |
Boolean | - | Identifica se o documento está arquivado |
arquivo |
Object | - | Documento |
arquivo.id |
UUID | 36 | Identificação do arquivo |
arquivo.nome |
String | 255 | Nome do arquivo |
arquivo.tamanho |
Integer | - | Tamanho do arquivo em Byte |
arquivo.tipo |
String | 1024 | Extenção do arquivo |
qtdSignatarios |
Integer | - | Quantidade de signatários que deverão assinar o documento |
qtdAssinaturasRealizadas |
Integer | - | Quantidade de signatários que assinaram o documento |
criadoEm |
Date | - | Data no formato UTC (Universal Coordinated Time): AAAA-MM-DD |
alteradoEm |
Date | - | Data no formato UTC (Universal Coordinated Time): AAAA-MM-DD |
pessoaNome |
String |
255 | Nome da pessoa |
Exemplo de resposta
{
"content":[
{
"id":"a2572095-1824-4fe1-ac76-01e6f18429af",
"identificacao":"001",
"status":"AGUARDANDO_ASSINATURAS",
"arquivado":false,
"arquivo":{
"id":"49b9de05-6e1a-47ef-8355-7761aa34bb92",
"nome":"Nome do arquivo",
"tipo":"application/pdf",
"tamanho":2102089
},
"qtdAssinaturasRealizadas":1,
"qtdSignatarios":2,
"criadoEm":"2021-02-26T08:35:14.233-0300",
"alteradoEm":"2021-02-26T08:36:32.623-0300"
},
{
"id":"640bd793-d568-4f36-bd31-7206f1794d58",
"identificacao":"002",
"status":"AGUARDANDO_ASSINATURAS",
"arquivado":false,
"arquivo":{
"id":"346d94dc-606f-41d7-9d46-6f6f1c8a027e",
"nome":"Nome do documento",
"tipo":"application/pdf",
"tamanho":2102089
},
"qtdAssinaturasRealizadas":0,
"qtdSignatarios":1,
"criadoEm":"2021-02-25T15:39:39.251-0300",
"alteradoEm":"2021-02-25T17:56:49.066-0300"
}
],
"pageable":{
"sort":{
"sorted":true,
"unsorted":false,
"empty":false
},
"pageNumber":0,
"pageSize":10,
"offset":0,
"paged":true,
"unpaged":false
},
"totalPages":1,
"last":true,
"totalElements":4,
"size":10,
"number":0,
"sort":{
"sorted":true,
"unsorted":false,
"empty":false
},
"numberOfElements":4,
"first":true,
"empty":false
}
Consultar documento
Consulta um documento pelo seu identificador.
Requisição | |
Método | GET |
URL | /api/v1/documentos/{id} |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/e8f8fa7e-21b5-11ea-978f-2e728ce88125 |
Estrutura de dados da resposta | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Identificação do documento |
identificacao |
String | 50 | Não | Código fornecido pelo usuário para identificação do documento |
status |
String | 50 | Sim | Status do documento, com os valores: PENDENTE, ARQUIVO_ADICIONADO, AGUARDANDO_ASSINATURAS, ASSINADO, REJEITADO ou EXPIRADO |
assinaturaTipo |
String | 50 | Sim | Tipo da assinatura, com os valores: ELETRONICA OU DIGITAL |
pessoa |
Object | - | Sim | Dados da pessoa |
pessoa.id |
UUID | 36 | Sim | Identificador da pessoa |
pessoa.nome |
String | 255 | Sim | Nome da pessoa |
pessoa.cpf |
String | 11 | Não | CPF da pessoa |
pessoa.cnpj |
String | 14 | Não | CNPJ da pessoa |
pessoa.identificacao |
String | 255 | Não | Identificacao da pessoa |
hash256 |
String | 255 | Não | Hash do documento (disponível depois que for gerado) |
criadoEm |
Date | - | Sim | Data de criação no formato UTC (Universal Coordinated Time): AAAA-MM-DD |
alteradoEm |
Date | - | Não | Data de criação no formato UTC (Universal Coordinated Time): AAAA-MM-DD |
arquivado |
Boolean | - | Sim | Identifica se o documento foi arquivado |
expiracaoAssinaturas |
Date | - | Sim | Data no formato UTC (Universal Coordinated Time): AAAA-MM-DD |
responsavel |
Object | - | Sim | Dados do responsável pelo documento |
responsavel.usuario |
Object | - | Sim | Dados do usuário responsável |
responsavel.usuario.id |
UUID | 36 | Sim | Identificador do usuário do sistema responsável |
responsavel.usuario.nome |
String | 255 | Sim | Nome do usuário |
responsavel.setor |
Object | Sim | Dados do setor | |
responsavel.setor.id |
UUID | 36 | Sim | Identificador do setor |
responsavel.setor.nome |
String | 255 | Sim | Nome do setor |
confirmacoes |
Array | - | Não | Perguntas para confirmação |
confirmacoes.id |
UUID | 36 | Sim | Identificação da pergunta |
confirmacoes.pergunta |
String | 255 | Sim | Descrição da pergunta |
confirmacoes.respostaTipo |
String | 50 | Sim | Tipo de resposta |
confirmacoes.respostaEsperada |
String | 255 | Sim | Resposta esperada |
signatarios |
Array | - | Sim | Lista de signatários do documento |
signatarios.id |
UUID | 36 | Sim | Identificação do signatário |
signatarios.pessoa |
Object | - | Não | Dados da pessoa do signatário |
signatarios.pessoa.id |
UUID | 36 | Não | Identificação da pessoa |
signatarios.pessoa.nome |
String | 255 | Sim | Nome da pessoa |
signatarios.email |
String | 255 | Sim | E-mail do signatário |
signatarios.telefone |
String | 255 | Sim | Telefone do signatário |
signatarios.nome |
String | 255 | Sim | Nome do signatário |
signatarios.papel |
String | 50 | Sim | Papel do signatário |
signatarios.assinatura |
Object | - | Não | Dados da assinatura do signatário |
signatarios.assinatura.id |
UUID | 36 | Sim | Identificação da assinatura |
signatarios.assinatura.status |
String | 50 | Sim | Status da assinatura do documento |
signatarios.assinatura.ip |
String | 50 | Não | IP do dispositivo que assinou |
signatarios.assinatura.latitude |
String | 50 | Não | Latitude do dispositivo que assinou |
signatarios.assinatura.longitude |
String | 50 | Não | Longitude do dispositivo que assinou |
signatarios.assinatura.dataHora |
Date | - | Sim | Data da ocorrência da assinatura no formato UTC (Universal Coordinated Time): AAAA-MM-DD sincronizada com o NTP.BR |
signatarios.assinatura.observacao |
Text | - | Não | Observação deixada na assinatura |
signatarios.confirmacoes |
Array | - | Não | Perguntas para confirmação |
signatarios.confirmacoes.id |
UUID | 36 | Sim | Identificação da pergunta |
signatarios.confirmacoes.pergunta |
String | 255 | Sim | Descrição da pergunta |
signatarios.confirmacoes.respostaTipo |
String | 50 | Sim | Tipo de resposta |
signatarios.confirmacoes.respostaEsperada |
String | 255 | Sim | Resposta esperada |
observacao |
Text | - | Não | Observações gerais |
arquivo |
Object | - | Não | Informações do arquivo carregado |
arquivo.nome |
String | 255 | Sim | Nome do arquivo |
arquivo.tamanho |
Long | - | Sim | Tamanho do arquivo (Em bytes) |
Exemplo de resposta
{
"id": "1505e7b3-e99e-4c5e-b349-4a8193faf305",
"identificacao": "DOC001",
"assinaturaTipo": "ELETRONICA",
"status": "AGUARDANDO_ASSINATURAS",
"assinaturaTipo": "ELETRONICA",
"pessoa": {
"id": "1505e7b3-e99e-4c5e-b349-4a8193faf305",
"nome": "Nome do cliente",
"cpf": "00000000000"
},
"hash256": "4264f5b3031c4c20388f4ee9bd4ee6a8644d595ca6c501049b19c861a750a26a",
"criadoEm": "2020-01-01",
"alteradoEm": "2020-01-01",
"arquivado": true,
"expiracaoAssinaturas": "2020-01-01",
"responsavel": {
"usuario": {
"id": "1ed609fb-bd5a-498f-9b5c-df2eeb599810",
"nome": "Nome do usuário"
},
"setor": {
"id": "cd34b45d-0617-463c-bd8c-7c535dc81d64",
"nome": "Nome do usuário"
}
},
"confirmacoes": [{
"id": "7b57d76a-361a-4a35-a22c-c9b3da0ebe46",
"pergunta": "Informe seu CPF",
"respostaTipo": "TEXTO",
"respostaEsperada": "09733032980"
},
{
"id": "8346c753-8a1e-4d6b-bdae-170836cc7e43",
"pergunta": "Informe o valor da mensalidade",
"respostaTipo": "NUMERO",
"respostaEsperada": "200"
}
],
"signatarios": [{
"id": "7b57d76a-361a-4a35-a22c-c9b3da0ebe46",
"pessoa": {
"id": "e1057e46-d196-4028-af74-14540796a408",
"nome": "Nome da pessoa"
},
"email": "cristiano@teste.com",
"telefone": "49999890099",
"nome": "Cristiano Teste",
"papel": "PARTE",
"assinatura": null,
"confirmacoes": []
},
{
"id": "c9c0f214-b93c-46c0-a1dc-65fd814d980c",
"pessoa": {
"id": "e1057e46-d196-4028-af74-14540796a408",
"nome": "Nome da pessoa"
},
"email": "cristiano@teste.com",
"telefone": "49999890099",
"nome": "Cristiano Teste",
"papel": "CONTRATADA",
"assinatura": {
"id": "e1057e46-d196-4028-af74-14540796a408",
"status": "ACEITA",
"ip": "125.658.279.95",
"latitude": "-26.7661935",
"longitude": "-53.1832867",
"dataHora": "2020-03-05T13:50:45Z",
"observacao": null
}
}
],
"observacao": "teste",
"arquivo": {
"nome": "teste.pdf",
"tamanho": 4096
}
}
Inserir documento
Insere um documento no sistema de acordo com suas informações.
Requisição | |
Método | POST |
URL | /api/v1/documentos |
Estrutura de dados da requisição | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
identificacao |
String | 50 | Não | Código fornecido pelo usuário para identificação do documento |
assinaturaTipo |
String | 50 | Sim | Tipo da assinatura, com os valores: ELETRONICA OU DIGITAL |
pessoa |
Object | - | Sim | Dados da pessoa |
pessoa.id |
UUID | 36 | Sim | Identificador da pessoa |
expiracaoAssinaturas |
Date | - | Sim | Data no formato UTC (Universal Coordinated Time): AAAA-MM-DD |
responsavel |
Object | - | Sim | Dados do responsável pelo documento |
responsavel.usuario |
Object | - | Sim | Dados do usuário responsável |
responsavel.usuario.id |
UUID | 36 | Sim | Identificador do usuário do sistema responsável |
responsavel.setor |
Object | Sim | Dados do setor | |
responsavel.setor.id |
UUID | 36 | Sim | Identificador do setor |
confirmacoes |
Array | - | Não | Perguntas para confirmação |
confirmacoes.pergunta |
String | 255 | Sim | Descrição da pergunta |
confirmacoes.respostaTipo |
String | 50 | Sim | Tipo de resposta |
confirmacoes.respostaEsperada |
String | 255 | Sim | Resposta esperada |
signatarios |
Array | - | Sim | Lista de signatários do documento |
signatarios.pessoa |
Object | - | Não | Dados da pessoa do signatário |
signatarios.pessoa.id |
UUID | 36 | Não | Identificação da pessoa |
signatarios.confirmacoes |
Array | - | Não | Perguntas para confirmação |
signatarios.confirmacoes.pergunta |
String | 255 | Sim | Descrição da pergunta |
signatarios.confirmacoes.respostaTipo |
String | 50 | Sim | Tipo de resposta |
signatarios.confirmacoes.respostaEsperada |
String | 255 | Sim | Resposta esperada |
signatarios.email |
String | 255 | Sim | E-mail do signatário |
signatarios.telefone |
String | 255 | Sim | Telefone do signatário |
signatarios.nome |
String | 255 | Sim | Nome do signatário |
signatarios.papel |
String | 50 | Sim | Papel do signatario |
Exemplo de requisição
{
"identificacao": "DOC008",
"assinaturaTipo": "ELETRONICA",
"pessoa": {
"id": "1505e7b3-e99e-4c5e-b349-4a8193faf305"
},
"expiracaoAssinaturas": "2010-01-01",
"responsavel": {
"usuario": {
"id": "1ed609fb-bd5a-498f-9b5c-df2eeb599810"
},
"setor": {
"id": "cd34b45d-0617-463c-bd8c-7c535dc81d64"
}
},
"confirmacoes": [{
"pergunta": "Informe seu CPF",
"respostaTipo": "TEXTO",
"respostaEsperada": "09733032980"
},
{
"pergunta": "Informe o valor da mensalidade",
"respostaTipo": "NUMERO",
"respostaEsperada": "200"
}
],
"signatarios": [{
"pessoa": {
"id": "e1057e46-d196-4028-af74-14540796a408"
},
"email": "cristiano@teste.com",
"telefone": "49999890099",
"nome": "Cristiano Teste",
"papel": "PARTE",
"confirmacoes": []
},
{
"pessoa": {
"id": "e1057e46-d196-4028-af74-14540796a408"
},
"email": "cristiano@teste.com",
"telefone": "49999890099",
"nome": "Cristiano Teste",
"papel": "CONTRATADA",
"confirmacoes": []
}
],
"observacao": "teste"
}
Resposta
A API retornará o código identificador do documento.
Estrutura de dados do resposta |
||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Código identificador |
Exemplo de resposta
{
"id": "27cfed68-7a5a-4424-8feb-ba4de24bcad8"
}
Atualizar documento
Atualiza um documento no sistema de acordo com suas informações.
Requisição | |
Método | PUT |
URL | /api/v1/documentos/{id} |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e |
Estrutura de dados da requisição | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
identificacao |
String | 50 | Não | Código fornecido pelo usuário para identificação do documento |
assinaturaTipo |
String | 50 | Sim | Tipo da assinatura, com os valores: ELETRONICA OU DIGITAL |
pessoa |
Object | - | Sim | Dados da Pessoa |
pessoa.id |
UUID | 36 | Sim | Identificador da pessoa |
expiracaoAssinaturas |
Date | - | Sim | Data no formato UTC (Universal Coordinated Time): AAAA-MM-DD |
responsavel |
Object | - | Sim | Dados do responsável pelo documento |
responsavel.usuario |
Object | - | Sim | Dados do usuário responsável |
responsavel.usuario.id |
UUID | 36 | Sim | Identificador do usuário do sistema responsável |
responsavel.setor |
Object | Sim | Dados do setor | |
responsavel.setor.id |
UUID | 36 | Sim | Identificador do setor |
confirmacoes |
Array | - | Não | Perguntas para confirmação |
confirmacoes.id |
UUID | 36 | Não | Identificação da pergunta |
confirmacoes.pergunta |
String | 255 | Sim | Descrição da pergunta |
confirmacoes.respostaTipo |
String | 50 | Sim | Tipo de resposta |
confirmacoes.respostaEsperada |
String | 255 | Sim | Resposta esperada |
signatarios |
Array | - | Sim | Lista de signatários do documento |
signatarios.id |
UUID | 36 | Não | Identificação do signatário |
signatarios.pessoa |
Object | - | Não | Dados da pessoa do signatário |
signatarios.pessoa.id |
UUID | 36 | Não | Identificação da pessoa |
signatarios.email |
String | 255 | Sim | Email do signatário |
signatarios.telefone |
String | 255 | Sim | Telefone do signatário |
signatarios.nome |
String | 255 | Sim | Nome do signatário |
signatarios.papel |
String | 50 | Sim | Papel do signatário |
signatarios.confirmacoes |
Array | - | Não | Perguntas para confirmação |
signatarios.confirmacoes.id |
UUID | 36 | Sim | Identificação da pergunta |
signatarios.confirmacoes.pergunta |
String | 255 | Sim | Descrição da pergunta |
signatarios.confirmacoes.respostaTipo |
String | 50 | Sim | Tipo de resposta |
signatarios.confirmacoes.respostaEsperada |
String | 255 | Sim | Resposta esperada |
observacao |
Text | - | Não | Observações gerais |
Exemplo de requisição
{
"identificacao": "DOC008",
"assinaturaTipo": "ELETRONICA",
"pessoa": {
"id": "1505e7b3-e99e-4c5e-b349-4a8193faf305"
},
"expiracaoAssinaturas": "2020-01-01",
"responsavel": {
"usuario": {
"id": "1ed609fb-bd5a-498f-9b5c-df2eeb599810"
},
"setor": {
"id": "cd34b45d-0617-463c-bd8c-7c535dc81d64"
}
},
"signatarios": [
{
"id": "78270c1c-21c6-4905-9507-60fa60fe76b1",
"pessoa": {
"id": "e1057e46-d196-4028-af74-14540796a408"
},
"email": "cristiano@teste.com",
"telefone": "49999890099",
"nome": "Cristiano Teste",
"papel": "PARTE",
"confirmacoes": []
},
{
"id": "78270c1c-21c6-4905-9507-60fa60fe76b1",
"pessoa": {
"id": "e1057e46-d196-4028-af74-14540796a408"
},
"email": "cristiano@teste.com",
"telefone": "49999890099",
"nome": "Cristiano Teste",
"papel": "CONTRATADA",
"confirmacoes": []
}
],
"confirmacoes": [],
"observacao": "teste"
}
Resposta
A API retornará o código identificador do documento.
Estrutura de dados do resposta |
||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Código identificador |
Exemplo de resposta
{
"id": "27cfed68-7a5a-4424-8feb-ba4de24bcad8"
}
Excluir documento
Exclui um documento
Requisição | |
Método | DELETE |
URL | /api/v1/documentos/{id} |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e |
Resposta
A API retornará um corpo vazio.
Adicionar arquivo no documento
Processo que adiciona um arquivo PDF no documento.
Requisição | |
Método | POST |
URL | /api/v1/documentos/{id}/arquivo |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/arquivo |
Resposta
A API não retornará nenhum conteúdo no corpo da resposta.
Buscar arquivo do documento
Processo que busca o arquivo PDF no documento.
Requisição | |
Método | GET |
URL | /api/v1/documentos/{id}/arquivo |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/arquivo |
Resposta
A API não retornará nenhum conteúdo no corpo da resposta.
Enviar documento para os signatários por e-mail e whatsapp
Envia o documento por e-mail e por whatsapp para assinatura eletrônica para todos os destinatários.
Requisição | |
Método | POST |
URL | /api/v1/documentos/{id}/enviar_para_assinatura |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/enviar_para_assinatura |
Estrutura de dados da requisição | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
titulo |
String | 255 | Sim | Título do e-mail |
texto |
Text | - | Sim | Texto do e-mail |
destinatariosCopia |
List-String | - | Não | Destinatários que receberão uma cópia do documento por e-mail |
notificarAssinatura |
Boolean | - | Não | Caso seja true, o responsável pelo documento será notificado quando todos os signatários assinar o documento |
Exemplo de requisição
{
"titulo": "Assinatura do documento",
"texto": "Segue o documento para assinatura",
"destinatariosCopia": ["exemplo@ememplo.com, exemplo2@exemplo.com"]
"notificarAssinatura": false
}
Resposta
A API retornará um corpo vazio
Reenviar e-mail para signatário
Reenvia o e-mail contendo o documento para um signatário.
Requisição | |
Método | POST |
URL | /api/v1/documentos/{documentoId}/signatarios/{signatarioId}/reenviar_email |
Parâmetro de URL | |
documentoId |
Identificador UUID do documento |
signatarioId |
Identificador UUID do signatário |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/signatarios/84d9fabe-6420-4fea-8681-5bf17ab2326e/reenviar_email |
Estrutura de dados da requisição | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
titulo |
String | 255 | Sim | Título do e-mail |
texto |
Text | - | Sim | Texto do e-mail |
destinatariosCopia |
List-String | - | Não | Destinatários que receberão uma cópia do documento por e-mail |
Exemplo de requisição
{
"titulo": "Assinatura do documento",
"texto": "Segue o documento para assinatura"
}
Resposta
A API retornará um corpo vazio.
Buscar documento para assinatura
Este endpoint não requer autenticação
Busca os dados do documento para o signatário efetuar assinatura eletrônica.
Requisição | |
Método | GET |
URL | /api/v1/documentos/organizacoes/{organizacaoId}/documentos/{documentoId}/signatarios/{signatarioId} |
Parâmetro de URL | |
organizacaoId |
Identificador UUID da organização |
documentoId |
Identificador UUID do documento |
signatarioId |
Identificador UUID do signatario |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/signatarios/84d9fabe-6420-4fea-8681-5bf17ab2326e |
Estrutura de dados da resposta | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
status |
String | 50 | Sim | Status do documento, com os valores: PENDENTE, ARQUIVO_ADICIONADO, AGUARDANDO_ASSINATURAS, ASSINADO, REJEITADO ou EXPIRADO |
assinaturaTipo |
String | 50 | Sim | Tipo da assinatura, com os valores: ELETRONICA OU DIGITAL |
hash256 |
String | 255 | Sim | Hash do documento (disponível depois que for gerado) |
expiracaoAssinaturas |
Data | - | Sim | Data de expiração das assinaturas |
confirmacoes |
Array | - | Não | Perguntas para confirmação |
confirmacoes.id |
UUID | 36 | Sim | Identificação da pergunta |
confirmacoes.pergunta |
String | 255 | Sim | Descrição da pergunta |
confirmacoes.respostaTipo |
String | 50 | Sim | Tipo de resposta |
confirmacoes.respostaEsperada |
String | 255 | Sim | Resposta esperada |
signatarios |
Array | - | Sim | Lista de signatários do documento |
signatarios.id |
UUID | 36 | Não | Identificador do signatário. Por segurança só será retornado da API o identificador do signatário que está efetuando a assinatura |
signatarios.email |
String | 255 | Sim | Email do signatário |
signatarios.telefone |
String | 255 | Sim | Telefone do signatário |
signatarios.nome |
String | 255 | Sim | Nome do signatario |
signatarios.papel |
String | 50 | Sim | Papel do signatario |
signatarios.assinatura |
Object | - | Não | Dados da assinatura do signatario |
signatarios.assinatura.status |
String | 50 | Sim | Status da assinatura |
signatarios.assinatura.dataHora |
Data | - | Sim | Data da ocorrência da assinatura sincronizada com NTP-BR |
signatarios.assinatura.observacao |
String | - | Sim | Observação deixada na assinatura |
Exemplo de resposta
{
"status": "AGUARDANDO_ASSINATURAS",
"assinaturaTipo": "ELETRONICA",
"hash256": "4264f5b3031c4c20388f4ee9bd4ee6a8644d595ca6c501049b19c861a750a26a",
"expiracaoAssinaturas": "2020-01-01",
"confirmacoes": [{
"id": "7b57d76a-361a-4a35-a22c-c9b3da0ebe46",
"pergunta": "Informe seu CPF",
"respostaTipo": "TEXTO",
"respostaEsperada": "09733032980"
},
{
"id": "8346c753-8a1e-4d6b-bdae-170836cc7e43",
"pergunta": "Informe o valor da mensalidade",
"respostaTipo": "NUMERO",
"respostaEsperada": "200"
}
],
"signatarios": [{
"id": "7b57d76a-361a-4a35-a22c-c9b3da0ebe46",
"email": "cristiano@teste.com",
"telefone": "49999890099",
"nome": "Cristiano Teste",
"papel": "PARTE",
"assinatura": null
},
{
"email": "cristiano@teste.com",
"telefone": "49999890099",
"nome": "Cristiano Teste",
"papel": "CONTRATADA",
"assinatura": {
"status": "ACEITA",
"dataHora": "2020-03-05T13:50:45Z",
"observacao": null
}
}
]
}
Buscar arquivo do documento (Acesso público)
Este endpoint não requer autenticação
Processo que busca o arquivo PDF no documento.
Requisição | |
Método | GET |
URL | /api/v1/documentos/organizacoes/{organizacaoId}/documentos/{documentoId}/arquivo |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/organizacoes/84d9fabe-6420-4fea-8681-5bf17ab2326e/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/arquivo |
Resposta
A API retornará o arquivo do documento.
Efetuar assinatura eletrônica
Este endpoint não requer autenticação
Efetua a assinatura eletrônica por um signatário.
Requisição | |
Método | POST |
URL | /api/v1/documentos/organizacoes/{organizacaoId}/documentos/{documentoId}/signatarios/{signatarioId}/assinar |
Parâmetro de URL | |
organizacaoId |
Identificador UUID da organização |
documentoId |
Identificador UUID do documento |
signatarioId |
Identificador UUID do signatario |
Exemplo de uso | |
/api/v1/documentos/organizacoes/84d9fabe-6420-4fea-8681-5bf17ab2326e/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/signatarios/84d9fabe-6420-4fea-8681-5bf17ab2326e/assinar |
Estrutura de dados da requisição | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
observacao |
Text | - | Não | Observações da assinatura |
aceitouTermos |
Boolean | - | Sim | Identifica se o usuário aceitou os termos |
ip |
String | 50 | Não | IP do dispositivo |
latitude |
String | 50 | Não | Latitude do dispositivo |
longitude |
String | 50 | Não | Longitude do dispositivo |
confirmacoes |
Array | - | Não | Perguntas para confirmação |
confirmacoes.id |
UUID | 36 | Sim | Identificação da pergunta |
confirmacoes.respostaInformada |
String | 255 | Sim | Resposta informada para a pergunta |
Exemplo de requisição
{
"observacao": "Observações",
"aceitouTermos": true,
"ip": "186.651.698.82",
"latitude": "-26.35194268",
"longitude": "-26.35194268",
"confirmacoes": [{
"id": "f56a4523-3527-423a-b4f5-0ae7964a8abc",
"respostaInformada": "200"
}, {
"id": "f56a4523-3527-423a-b4f5-0ae7964a8abc",
"respostaInformada": "Cristiano"
}]
}
A API retornará um corpo vazio.
Efetuar rejeição da assinatura eletrônica
Este endpoint não requer autenticação
Efetua a rejeição do documento.
Requisição | |
Método | POST |
URL | /api/v1/documentos/organizacoes/{organizacaoId}/documentos/{documentoId}/signatarios/{signatarioId}/rejeitar |
Parâmetro de URL | |
organizacaoId |
Identificador UUID da organização |
documentoId |
Identificador UUID do documento |
signatarioId |
Identificador UUID do signatario |
Exemplo de uso | |
/api/v1/documentos/organizacoes/84d9fabe-6420-4fea-8681-5bf17ab2326e/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/signatarios/84d9fabe-6420-4fea-8681-5bf17ab2326e/rejeitar |
Estrutura de dados da requisição | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
observacao |
Text | - | Não | Observações da assinatura |
Exemplo de requisição
{
"observacao": "Observações"
}
Resposta
A API retornará um corpo vazio.
Arquivar documento
Processo que realiza o arquivamento do documento.
Requisição | |
Método | POST |
URL | /api/v1/documentos/{id}/arquivar |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/arquivar |
Resposta
A API não retornará nenhum conteúdo no corpo da resposta.
Desarquivar documento
Processo que realiza o desarquivamento do documento.
Requisição | |
Método | POST |
URL | /api/v1/documentos/{id}/desarquivar |
Parâmetro de URL | |
id |
Identificador UUID do registro |
Exemplo de uso | |
/api/v1/documentos/84d9fabe-6420-4fea-8681-5bf17ab2326e/desarquivar |
Resposta
A API não retornará nenhum conteúdo no corpo da resposta.
Buscar histórico do documento
Busca o histórico de todas as operações já realizadas no documento.
Requisição | |
Método | GET |
URL | /api/v1/documentos/{id}/historico |
Parâmetros de consulta | |
id |
Identificador do documento |
Exemplo de uso | |
/api/v1/documentos/e4bb448d-fed7-47df-987c-f785db057602/historico |
Estrutura de dados da resposta | |||
Propriedade | Tipo | Tamanho | Descrição |
dataHora |
Timestamp | - | Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD |
email |
String | 255 | Email do usuário |
nome |
String | 255 | Nome do usuário |
operacao |
Text | - | Descrição da operação realizada pelo usuário |
Exemplo de resposta
[{
"data": "2020-03-04T16:46:42Z",
"nome": "Cristiano",
"email": "teste@teste.com",
"operacao": "Criou o documento"
},
{
"data": "2020-03-04T16:46:42Z",
"operacao": "Assinou o documento"
},
{
"data": "2020-03-04T16:46:42Z",
"nome": "Cristiano",
"email": "teste@teste.com",
"operacao": "Arquivou o documento"
}
]
Consultar relacionamentos
Para inserir ou atualizar um documento é necessário consultar outros cadastros relacionados. Esta consulta de relacionamentos é efetuada diretamente no endpoint de documentos. Esta consulta lista de forma paginada os registros.
Relacionamento com setores
Requisição | |
Método | GET |
URL | /api/v1/documentos/relacoes/setores |
Parâmetros de consulta | |
query |
Filtro de pesquisa |
page |
Número da página que será retornada |
size |
Quantidade de registros retornados por página |
sort |
Ordenação dos registros retornados |
Exemplo de uso | |
/api/v1/documentos/relacoes/setores?page=1&size=10 |
|
/api/v1/documentos/relacoes/setores?page=1&size=10&sort=nome,desc |
|
/api/v1/documentos/relacoes/setores?query=nome=contains=comercial |
|
/api/v1/documentos/relacoes/setores?query=nome=contains=comercial&page=1&size=10&sort=nome,desc |
Estrutura de dados da resposta |
||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Código identificador |
nome |
String | 255 | Sim | Nome do setor |
Exemplo de resposta
{
"content": [{
"id": "7742bd49-2f30-4356-af04-d7fcad8a20d4",
"nome": "Comercial"
}],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"offset": 0,
"pageSize": 10,
"pageNumber": 0,
"unpaged": false,
"paged": true
},
"totalPages": 1,
"totalElements": 1,
"last": true,
"size": 10,
"number": 0,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"numberOfElements": 1,
"first": true,
"empty": false
}
Relacionamento com usuários
Requisição | |
Método | GET |
URL | /api/v1/documentos/relacoes/usuarios |
Parâmetros de consulta | |
query |
Filtro de pesquisa |
page |
Número da página que será retornada |
size |
Quantidade de registros retornados por página |
sort |
Ordenação dos registros retornados |
Exemplo de uso | |
/api/v1/documentos/relacoes/usuarios?page=1&size=10 |
|
/api/v1/documentos/relacoes/usuarios?page=1&size=10&sort=nome,desc |
|
/api/v1/documentos/relacoes/usuarios?query=nome=contains=comercial |
|
/api/v1/documentos/relacoes/usuarios?query=nome=contains=comercial&page=1&size=10&sort=nome,desc |
Estrutura de dados da resposta |
||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Código identificador |
nome |
String | 255 | Sim | Nome completo do usuário |
credencial |
Object | Sim | Dados da credencial do usuário | |
credencial.email |
String | 255 | Sim | E-mail da credencia |
credencial.bloqueada |
Boolean | Sim | Identifica se a credencial do usuário está bloqueada |
Exemplo de resposta
{
"content": [{
"id": "7742bd49-2f30-4356-af04-d7fcad8a20d4",
"nome": "Cristiano",
"credencial":{
"email": "cristiano@microsys.inf.br",
"bloqueada": false
}
}],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"offset": 0,
"pageSize": 10,
"pageNumber": 0,
"unpaged": false,
"paged": true
},
"totalPages": 1,
"totalElements": 1,
"last": true,
"size": 10,
"number": 0,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"numberOfElements": 1,
"first": true,
"empty": false
}
Relacionamento com pessoas
Requisição | |
Método | GET |
URL | /api/v1/documentos/relacoes/pessoas |
Parâmetros de consulta | |
query |
Filtro de pesquisa |
page |
Número da página que será retornada |
size |
Quantidade de registros retornados por página |
sort |
Ordenação dos registros retornados |
Exemplo de uso | |
/api/v1/documentos/relacoes/pessoas?page=1&size=10 |
|
/api/v1/documentos/relacoes/pessoas?page=1&size=10&sort=nome,desc |
|
/api/v1/documentos/relacoes/pessoas?query=nome=contains=comercial |
|
/api/v1/documentos/relacoes/pessoas?query=nome=contains=comercial&page=1&size=10&sort=nome,desc |
Estrutura de dados da resposta |
||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Código identificador |
nome |
String | 255 | Sim | Nome completo da pessoa |
situacao |
String | 50 | Sim | Situação: ATIVA ou INATIVA |
pessoa.cpf |
String | 11 | Não | CPF da pessoa |
pessoa.cnpj |
String | 14 | Não | CNPJ da pessoa |
pessoa.identificacao |
String | 255 | Não | Identificacao da pessoa |
Exemplo de resposta
{
"content": [{
"id": "7742bd49-2f30-4356-af04-d7fcad8a20d4",
"nome": "Cristiano",
"situacao": "ATIVA",
"cpf": "00000000000"
}],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"offset": 0,
"pageSize": 10,
"pageNumber": 0,
"unpaged": false,
"paged": true
},
"totalPages": 1,
"totalElements": 1,
"last": true,
"size": 10,
"number": 0,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"numberOfElements": 1,
"first": true,
"empty": false
}
Relacionamento com pessoa e emails
Requisição | |
Método | GET |
URL | /api/v1/documentos/relacoes/pessoas/{id}/emails |
Parâmetros de consulta | |
query |
Filtro de pesquisa |
page |
Número da página que será retornada |
size |
Quantidade de registros retornados por página |
sort |
Ordenação dos registros retornados |
Exemplo de uso | |
/api/v1/documentos/relacoes/pessoas/7742bd49-2f30-4356-af04-d7fcad8a20d4/emails?page=1&size=10 |
|
/api/v1/documentos/relacoes/pessoas/7742bd49-2f30-4356-af04-d7fcad8a20d4/emails?page=1&size=10&sort=email,desc |
|
/api/v1/documentos/relacoes/pessoas/7742bd49-2f30-4356-af04-d7fcad8a20d4/emails?query=email=contains=comercial |
|
/api/v1/documentos/relacoes/pessoas/7742bd49-2f30-4356-af04-d7fcad8a20d4/emails?query=email=contains=comercial&page=1&size=10&sort=email,desc |
Estrutura de dados da resposta |
||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Código identificador |
email |
String | 255 | Sim | Endereço de e-mail |
favorito |
boolean | - | Sim | Se é o endereço favorito |
Exemplo de resposta
{
"content": [{
"id": "7742bd49-2f30-4356-af04-d7fcad8a20d4",
"email": "fulano@microsys.inf.br",
"favorito": false
},{
"id": "7742bd49-2f30-4356-af04-d7fcad8a20d4",
"email": "ciclano@microsys.inf.br",
"favorito": true
}],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"offset": 0,
"pageSize": 10,
"pageNumber": 0,
"unpaged": false,
"paged": true
},
"totalPages": 1,
"totalElements": 1,
"last": true,
"size": 10,
"number": 0,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"numberOfElements": 1,
"first": true,
"empty": false
}
Relacionamento com confirmações
Requisição | |
Método | GET |
URL | /api/v1/documentos/relacoes/confirmacoes |
Parâmetros de consulta | |
query |
Filtro de pesquisa |
page |
Número da página que será retornada |
size |
Quantidade de registros retornados por página |
sort |
Ordenação dos registros retornados |
Exemplo de uso | |
/api/v1/documentos/relacoes/confirmacoes?page=1&size=10 |
|
/api/v1/documentos/relacoes/confirmacoes?query=descricao=contains=qual&page=1&size=10&sort=descricao,desc |
Estrutura de dados da resposta |
||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Código identificador |
descricao |
String | 255 | Sim | Descrição da confirmação |
Exemplo de resposta
{
"content": [{
"id": "a46dc704-dcd6-42fa-8330-3edc48045255",
"descricao": "Descrição da pergunta"
}],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"offset": 0,
"pageSize": 10,
"pageNumber": 0,
"unpaged": false,
"paged": true
},
"totalPages": 1,
"totalElements": 1,
"last": true,
"size": 10,
"number": 0,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"numberOfElements": 1,
"first": true,
"empty": false
}
Relacionamento com confirmações. Confirmação específica
Retorna uma confirmação.
Requisição | |
Método | GET |
URL | /api/v1/documentos/relacoes/confirmacoes/{id} |
Parâmetro de URL | |
id |
Identificador UUID da confirmação |
Exemplo de uso | |
/api/v1/documentos/relacoes/confirmacoes/a46dc704-dcd6-42fa-8330-3edc48045255 |
Estrutura de dados da resposta | ||||
Propriedade | Tipo | Tamanho | Obrigatório | Descrição |
id |
UUID | 36 | Sim | Identificação do documento |
descrição |
String | 255 | Sim | Descrição de uma confirmação |
perguntas |
Array | - | Não | Array contendo as perguntas da confirmação |
perguntas.id |
UUID | 36 | Sim | Identificação do documento |
perguntas.pergunta |
String | 255 | Sim | Descrição da pergunta da confirmação |
perguntas.tipo |
String | 50 | Sim | Tipo da pergunta |
Exemplo de resposta
{
"id": "1505e7b3-e99e-4c5e-b349-4a8193faf305",
"descrição": "Descrição da pergunta",
"perguntas": [
{
"id": "",
"pergunta": "Descrição da pergunta 1?",
"tipo": "SIM_NAO"
},
{
"id": "",
"pergunta": "Descrição da pergunta 2?",
"tipo": "NUMERO"
},
{
"id": "",
"pergunta": "Descrição da pergunta 3?",
"tipo": "TEXTO"
}
]
}