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"
        }
    ]
}
Back to top