Ir para o conteúdo principal

[Assine Aqui] Manual Documental da API do Assine Aqui

Data:

Autores
    Objetivo
    Data de elaboração24/08/2022

    Responsável
    pelo
    estudo
  • Gabriel Santi Binda

  • Raissa de Sousa Stolduski


  • Taillon Miguel Gonçalves
  • Vinicius da Rosa Pereira


  • Ádelle Camarão Monteiro
  • Equipe do

    1.estudo

    Tambakiss
    AlvoAssine Aqui
    Origem

    O objetivo

    deste

    Casos estudode énovas documentarimplementações

    ObjetivoDocumentar as rotas da API do Sistema Gov.Doc.Doc
    Documentação correlata (opcional) 
    Observações


    2.1. Introdução

    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).

    3.2. Desenvolvimento

     3.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
    }

     3.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
    }

     3.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
    }

     3.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.

     3.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
    }

     3.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
    }

     3.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
    }

     3.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
    }

     3.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.


    4.3.Conclusão

    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.

    ENVOLVIDOS
    • Gabriel Santi Binda
    • Raissa de Sousa Stolduski
    • Taillon Miguel Gonçalves
    • Vinicius da Rosa Pereira
    • Ádelle Camarão Monteiro