| Data de elaboração | 24/08/2022 |
| Responsável pelo estudo | 1. Gabriel Santi Binda 2. Raissa de Sousa Stolduski 3. Taillon Miguel Gonçalves 4. Vinicius da Rosa Pereira 5. Ádelle Camarão Monteiro |
| Equipe do estudo | Tambakiss |
| Alvo | Assine Aqui |
| Origem | Casos de novas implementações |
| Objetivo | Documentar as rotas da API do Sistema Gov.Doc |
| Documentação correlata (opcional) | |
| Observações |
Assine Aqui é um sistema de autenticação de assinaturas para o cidadão e o servidor que tem como objetivo criar assinaturas simples e avançadas, para os sistemas do estado de Rondônia, os sistemas que utilizam o Assine Aqui são (Gov Doc, Portal do cidadão, Sisne etc).
2.1 Assinaturas
| Rota | POST/api/Assinaturas |
| Descrição | esta rota serve para o usuário assinar um documento de maneira simples, apenas com o usuário logado e senha. |
| Request Body | - «cpf»: «string» cpf do usuário logado. - «senha»: «string» senha do usuário logado. - «sistemaClientId»: Guid - o Id do sistema que está assinando. - «documentosIds»: [«string»] - aceita uma lista de documentos para assinar. |
| Response | { «id»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «cpf»: «string», «sistemaClientId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «documentoId»: «string», «cargo»: «string», «matricula»: «string», «nome»: «string», «data»: «2022-08-26T05:30:59.797Z», «dataDeRevogacao»: «2022-08-26T05:30:59.797Z», «corpo»: «string», «revogada»: true, «ehUsuarioExterno»: true } |
2.2 Assinar Com Token
| Rota | POST/api/Assinaturas/AssinarComToken |
| Descrição | a rota para assinar com token utiliza como forma de autenticação para o documento a partir de um token que será enviado para o e-mail. |
| Request Body | - «cpf»: «string»- cpf do usuário logado - «token»: «string» - o token que será enviado para o e-mail do usuário logado. - «sistemaClientId»: Guid - Id do sistema que está assinando. - «documentosIds»: [«string»] - aceita uma lista de documentos(lista de Id) - «documentosCorposEmHash»: [«string»] é o Hash que será criado no corpo do documento, quando documento for alterado o Hash também deverá ser alterado. |
| Response | { «id»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «cpf»: «string», «sistemaClientId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «documentoId»: «string», «cargo»: «string», «matricula»: «string», «nome»: «string», «data»: «2022-08-26T05:38:17.776Z», «dataDeRevogacao»: «2022-08-26T05:38:17.776Z», «corpo»: «string», «revogada»: true, «ehUsuarioExterno»: true } |
2.3 Revogar
| Rota | POST/api/Assinaturas/Revogar |
| Descrição | revoga assinatura apenas com o usuário logado e senha. |
| Request Body | - «cpf»: «string» - cpf do usuário logado - «senha»: «string» - senha do usuário - «assinaturaId»: Guid - Id da assinatura que irá revogar |
| Response | { «id»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «cpf»: «string», «sistemaClientId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «documentoId»: «string», «cargo»: «string», «matricula»: «string», «nome»: «string», «data»: «2022-08-26T05:46:48.885Z», «dataDeRevogacao»: «2022-08-26T05:46:48.885Z», «corpo»: «string», «revogada»: true, «ehUsuarioExterno»: true } |
2.4 Gerar Token
| Rota | POST/api/Assinaturas/GerarToken |
| Descrição | gera um token após o usuário validar as suas credenciais. |
| Request Body | - «cpf»: «string» - cpf do usuário logado - "senha": «string» - senha do usuário. - «sistemaClientId»: Guid - Id do sistema que está gerando token. |
| Response | retornar um código para o e-mail do usuário logado. |
2.5 Revogar Por DocumentoId
| Rota | POST/api/Assinaturas/RevogarPorDocumentoId |
| Descrição | irá revogar a assinatura a partir do id do documento. |
| Request Body | - «cpf»: «string» - cpf do usuário logado - «senha»: «string» - senha do usuário - «documentoId»: «string» - Id da assinatura que irá revogar - «sistemaClientId»: Guid - Id do sistema que está revogando a assinatura. |
| Response | { «id»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «cpf»: «string», «sistemaClientId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «documentoId»: «string», «cargo»: «string», «matricula»: «string», «nome»: «string», «data»: «2022-08-26T05:55:43.261Z», «dataDeRevogacao»: «2022-08-26T05:55:43.261Z», «corpo»: «string», «revogada»: true, «ehUsuarioExterno»: true } |
2.6 {id}
| Rota | GET/api/Assinaturas/{id} |
| Descrição | irá retornar o nome do usuário que assinou o documento. |
| Request Body | - «id»: Guid - Id da assinatura |
| Response | { «assinaturaId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «nome»: «string», «cpf»: «string», «matricula»: «string», «cargo»: «string», «dataDaAssinatura»: «2022-08-29T05:17:12.979Z», «documentoId»: «string», «dataDeRevogacao»: «2022-08-29T05:17:12.979Z», «assinaturaRevogada»: true, «ehUsuarioExterno»: true } |
2.7 Buscar Por CPF
| Rota | POST/api/Assinaturas/BuscarPorCPF |
| Descrição | essa rota busca todas as assinaturas que o usuário tem no sistema. |
| Request Body | - cpf: «string» - cpf do usuário logado - senha: «string» - senha do usuário. |
| Response | { «id»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «cpf»: «string», «sistemaClientId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «documentoId»: «string», «cargo»: «string», «matricula»: «string», «nome»: «string», «data»: «2022-08-29T05:22:37.233Z», «dataDeRevogacao»: «2022-08-29T05:22:37.233Z», «corpo»: «string», «revogada»: true, «ehUsuarioExterno»: true } |
2.8 Buscar Por DocumentoId
| Rota | POST/api/Assinaturas/BuscarPorDocumentoId |
| Descrição | busca a assinatura pelo id do documento, retornando todos detalhes do usuário que assinou. |
| Request Body | - «documentoId»: Guid - Id do ocumento que foi assinado pelo usuário - «sistemaClientId»: Guid - Id do sistema que está buscando documento. |
| Response | { «id»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «cpf»: «string», «sistemaClientId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «documentoId»: «string», «cargo»: «string», «matricula»: «string», «nome»: «string», «data»: «2022-08-29T05:31:10.343Z», «dataDeRevogacao»: «2022-08-29T05:31:10.343Z», «corpo»: «string», «revogada»: true, «ehUsuarioExterno»: true } |
2.9 Validar Assinatura
| Rota | POST/api/Assinaturas/BuscarAssinaturasValidasDoDocumento |
| Descrição | essa rota irá validar assinatura de acordo com o corpo do documento. |
| Request Body | - «documentoId»: «string» - id do documento que foi assinado - «sistemaClientId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6» - id do sistema que buscando as assinaturas. - «corpo»: «string» - o corpo do documento que foi assinado. |
| Response | { «id»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «cpf»: «string», «sistemaClientId»: «3fa85f64-5717-4562-b3fc-2c963f66afa6», «documentoId»: «string», «cargo»: «string», «matricula»: «string», «nome»: «string», «data»: «2022-08-29T05:35:52.446Z», «dataDeRevogacao»: «2022-08-29T05:35:52.446Z», «corpo»: «string», «revogada»: true, «ehUsuarioExterno»: true } |
| Rota | POST/api/Assinaturas/ValidarAssinatura |
| Descrição | irá validar a assinatura de acordo com o hash do corpo do documento, se o hash do documento estiver de acordo com a assinatura irá retornar true. |
| Request Body | - «assinaturaId»: «Guid» - Id da assinatura do usuário - «sistemaClientId»: «Guid» - Id do sistema que foi criado o documento - «hashDoCorpo»: «string» - o hash do corpo do documento criado após assinar |
| Response | retorna true. |
Concluímos que após analisar todas as funcionalidades do sistema Assine Aqui o mesmo está apto para ser utilizado em todos por os sistemas do Governo de Rondônia.