| Data de elaboração | 23/08/22 |
| 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 estudo | Tambakiss |
| Alvo | Gov.Doc API |
| Origem | Casos de novas implementações |
| Objetivo | Documentar as rotas da API do Sistema Gov.Doc. |
| Documentação correlata (opcional) | |
| Observações |
O Gov.Doc é o sistema processador de texto do Governo do Estado de Rondônia e a sua API permite que outros sistemas (SOLAR, RegularizaJá, SID, etc) sejam capazes de criar, editar, assinar, arquivar documentos de maneira padronizada, entre outras funcionalidades.
| Rota GET • /BlocoDeAssinatura/{idDoBloco} | |
| Descrição | Rota que busca os dados do bloco de assinatura pelo ID. |
| Parâmetros | idDoBloco : Guid → id do bloco de assinatura. |
| Request Body | - |
| Response | { «id»: «8db0864d-4472-4ac1-a82e-a71643bc412a», «titulo»: «Bloco de assinatura», «documentos»: [ ], «dataDeCriacao»: «2021-09-08T11:01:31.7264862», «criador»: null, «sistemaCriadorId»: «ac4bec90-cbe0-4460-8c40-860e6ba5e60b», «cpfDoAssinante»: «00000000000», «justificativaDeRecusa»: null, «dataDeRecusa»: «0001-01-01T00:00:00», «status»: 2 } |
| Rota POST • /BlocoDeAssinatura/CriarPorSistema | |
| Descrição | Rota para criar bloco de assinatura pelo SISTEMA de origem. |
| Parâmetros | - |
| Request Body | • titulo : string → título do bloco de assinatura; • documentosIds : List→ lista com os Guids dos documentos inseridos no bloco; • sistemaDeOrigemId : Guid→ Guid do sistema que criará o bloco de assinaturas. |
| Response | { «id»: «15dfaf88-850d-4672-bed8-994221c710bb», «titulo»: «tsesset», «documentos»: [ { «id»: «e82014a4-958a-4a0f-8da7-b8742e609ec7», «titulo»: «teste», «sequencial»: 102, «modeloId»: 1, «numeracao»: «001.000102/2022-20», «cpfDoCriador»: «00000000000», «dataDeCriacao»: «2022-08-24T09:39:18.2583907», «tipoDeDocumento»: «Parecer», «unidadeOrcamentariaId»: 20, «departamento»: «string», «historicoDeEdicoes»: [], «compartilhamentos»: [], «assinaturas»: [], «historicos»: [], «emMinuta»: true, «blocoDeAssinaturaId»: «15dfaf88-850d-4672-bed8-994221c710bb», «imagens»: [], «excluido»: false, «restrito»: false, «sistemaOrigemId»: «ac4bec90-cbe0-4460-8c40-860e6ba5e60b», «arquivado»: false, «codigoCrc»: null, «somenteLeitura»: false } ], «dataDeCriacao»: «2022-08-24T10:38:00.6220451-04:00», «criador»: null, «sistemaCriadorId»: «ac4bec90-cbe0-4460-8c40-860e6ba5e60b», «cpfDoAssinante»: null, «justificativaDeRecusa»: null, «dataDeRecusa»: «0001-01-01T00:00:00», «status»: 1 } |
| Rota POST • /BlocoDeAssinatura/CriarPorSistema | |
| Descrição | Rota para criar bloco de assinatura pelo SISTEMA de origem. |
| Parâmetros | - |
| Request Body | • titulo : string → título do bloco de assinatura; • documentosIds : List→ lista com os Guids dos documentos inseridos no bloco; • sistemaDeOrigemId : Guid→ Guid do sistema que criará o bloco de assinaturas. |
| Response | { «id»: «15dfaf88-850d-4672-bed8-994221c710bb», «titulo»: «tsesset», «documentos»: [ { «id»: «e82014a4-958a-4a0f-8da7-b8742e609ec7», «titulo»: «teste», «sequencial»: 102, «modeloId»: 1, «numeracao»: «001.000102/2022-20», «cpfDoCriador»: «00000000000», «dataDeCriacao»: «2022-08-24T09:39:18.2583907», «tipoDeDocumento»: «Parecer», «unidadeOrcamentariaId»: 20, «departamento»: «string», «historicoDeEdicoes»: [], «compartilhamentos»: [], «assinaturas»: [], «historicos»: [], «emMinuta»: true, «blocoDeAssinaturaId»: «15dfaf88-850d-4672-bed8-994221c710bb», «imagens»: [], «excluido»: false, «restrito»: false, «sistemaOrigemId»: «ac4bec90-cbe0-4460-8c40-860e6ba5e60b», «arquivado»: false, «codigoCrc»: null, «somenteLeitura»: false } ], «dataDeCriacao»: «2022-08-24T10:38:00.6220451-04:00», «criador»: null, «sistemaCriadorId»: «ac4bec90-cbe0-4460-8c40-860e6ba5e60b», «cpfDoAssinante»: null, «justificativaDeRecusa»: null, «dataDeRecusa»: «0001-01-01T00:00:00», «status»: 1 } |
| Rota PUT • /BlocoDeAssinatura | |
| Descrição | Rota para editar o bloco de assinatura. |
| Parâmetros | - |
| Request Body | • documentosIds : List→ lista com os Guids dos documentos inseridos no bloco; • cpfDoCriadorDoBloco : string→ CPF do criador do bloco de assinatura (somente o criador do bloco pode editar); • dataDeCriacao : dateTime → data de criação do bloco de assinaturas; • blocoId : Guid → Guid do bloco de assinaturas. |
| Response | { «id»: «a84ed15c-d197-4042-9171-599f56b43e00», «titulo»: «string», «documentos»: [ { «id»: «e82014a4-958a-4a0f-8da7-b8742e609ec7», «titulo»: «teste», «sequencial»: 102, «modeloId»: 1, «numeracao»: «001.000102/2022-20», «cpfDoCriador»: «00000000000», «dataDeCriacao»: «2022-08-24T09:39:18.2583907», «tipoDeDocumento»: «Parecer», «unidadeOrcamentariaId»: 20, «departamento»: «string», «historicoDeEdicoes»: [], «compartilhamentos»: [], «assinaturas»: [], «historicos»: [], «emMinuta»: true, «blocoDeAssinaturaId»: «a84ed15c-d197-4042-9171-599f56b43e00», «imagens»: [], «excluido»: false, «restrito»: false, «sistemaOrigemId»: «ac4bec90-cbe0-4460-8c40-860e6ba5e60b», «arquivado»: false, «codigoCrc»: null, «somenteLeitura»: false } ], «dataDeCriacao»: «2022-08-24T09:41:55.8515836», «criador»: «00000000000», «sistemaCriadorId»: «00000000-0000-0000-0000-000000000000», «cpfDoAssinante»: null, «justificativaDeRecusa»: null, «dataDeRecusa»: «0001-01-01T00:00:00», «status»: 1 } |
| Rota PUT • /BlocoDeAssinatura/AdicionarDocumento | |
| Descrição | Rota para adicionar documentos ao bloco de assinatura pelo CPF do usuário. |
| Parâmetros | - |
| Request Body | • documentosIds : List→ lista com os Guids dos documentos que serão adicionados no bloco; • cpf : string→ CPF do usuário que irá adicionar o documento (apenas o criador do bloco pode adicionar documento); • blocoId : Guid → Guid do bloco de assinaturas. |
| Response | { «status»: «Ok», «message»: "Documento adicionado ao Bloco com sucesso! " } |
| Rota PUT • /BlocoDeAssinatura/AdicionarDocumentoPorSistema | |
| Descrição | Rota para adicionar documentos ao bloco de assinatura pelo SISTEMA de origem. |
| Parâmetros | - |
| Request Body | • documentosIds : List→ lista com os Guids dos documentos que serão adicionados no bloco; • sistemaDeOrigemId : Guid → Guid do sistema que irá adicionar o documento no bloco de assinaturas (somente o sistema de origem criador do bloco pode adicionar documento). • blocoId : Guid → Guid do bloco de assinaturas. |
| Response | { «status»: «Ok», «message»: "Documento adicionado ao Bloco com sucesso! " } |
| Rota PUT • /BlocoDeAssinatura/RemoverDocumento | |
| Descrição | Rota para remover documentos do bloco de assinatura pelo CPF do usuário. |
| Parâmetros | - |
| Request Body | • documentosIds : List→ lista com os Guids dos documentos que serão removidos do bloco; • cpfDoUsuarioLogado : string→ CPF do usuário que irá remover o documento do bloco de assinaturas (apenas o criador do bloco pode excluir documento); • blocoId : Guid → Guid do bloco de assinaturas. |
| Response | { «status»: «Ok», «message»: "Documento removido ao Bloco com sucesso! " } |
| Rota PUT • /BlocoDeAssinatura/RemoverDocumentoPorSistema | |
| Descrição | Rota para remover documentos do bloco de assinatura pelo SISTEMA de origem. |
| Parâmetros | - |
| Request Body | • documentosIds : List→ lista com os Guids dos documentos que serão removidos do bloco; • sistemaDeOrigemId : Guid → Guid do sistema que removerá o documento do bloco de assinaturas (somente o sistema de origem criador do bloco pode adicionar documento). • blocoId : Guid → Guid do bloco de assinaturas. |
| Response | { «status»: «Ok», «message»: "Documento removido ao Bloco com sucesso! " } |
| Rota POST • /BlocoDeAssinatura/DisponibilizarParaAssinatura | |
| Descrição | Rota para disponibilizar os blocos para assinatura. |
| Parâmetros | - |
| Request Body | • cpfDoCriadorDoBloco : string→ CPF do usuário que irá disponibilizar o bloco para assinatura; • sistemaDeOrigemId : Guid → Guid do sistema que irá disponibilizar o bloco para assinatura; • idDoBloco : Guid → Guid do bloco de assinaturas; • assinante : → nome e cpf do usuário que irá assinar; • nome : string; • cpf : string. OBS: deve ser informado ao menos o cpfDoCriadorDoBloco OU sistemaDeOrigemId que criou o bloco. |
| Response | { «status»: «Ok», «message»: "Bloco de assinatura disponibilizado com sucesso! " } |
| Rota POST • /BlocoDeAssinatura/AssinarBloco | |
| Descrição | Rota para assinar o bloco de assinaturas. |
| Parâmetros | - |
| Request Body | • idDoBloco : Guid → Guid do bloco de assinaturas; • cpf : string→ CPF do usuário que irá assinar o documento; • senha : string → senha do usuário que irá assinar o documento; • aceitouTermo : boolean → termo para assinar o documento. |
| Response | { «status»: «Ok», «message»: "Bloco de assinatura assinado com sucesso! " } |
| Rota DELETE • /BlocoDeAssinatura/Excluir | |
| Descrição | Rota para excluir bloco de assinatura pelo CPF do usuário. |
| Parâmetros | - |
| Request Body | • cpfDoCriadorDoBloco : string→ CPF do usuário que irá excluir o bloco de assinaturas (somente o criador do bloco pode excluir); •idDoBloco : Guid → Guid do bloco de assinaturas. |
| Response | { «status»: «Ok», «message»: "Bloco de assinatura excluido com sucesso! " } |
| Rota DELETE • /BlocoDeAssinatura/ExcluirPorSistema | |
| Descrição | Rota para excluir bloco de assinatura pelo SISTEMA de origem. |
| Parâmetros | - |
| Request Body | • sistemaDeOrigemId : Guid → Guid do sistema onde o bloco de assinatura será excluido (somente o sistema de origem criador do bloco pode excluir). •idDoBloco : Guid → Guid do bloco de assinaturas. |
| Response | { «status»: «Ok», «message»: "Bloco de assinatura excluido com sucesso! " } |
| Rota POST • /BlocoDeAssinatura/Cancelar | |
| Descrição | Rota para cancelar bloco de assinatura pelo CPF do usuário. |
| Parâmetros | - |
| Request Body | • cpf : string→ CPF do usuário que irá cancelar a disponibilização do bloco de assinaturas (somente o criador do bloco pode cancelar); •idDoBloco : Guid → Guid do bloco de assinaturas. |
| Response | { «status»: «Ok», «message»: "Bloco de assinatura cancelado com sucesso! " } |
| Rota POST • /BlocoDeAssinatura/CancelarPorSistema | |
| Descrição | Rota para cancelar bloco de assinatura pelo CPF do usuário. |
| Parâmetros | - |
| Request Body | • sistemaDeOrigemId : Guid → Guid que irá cancelar a disponibilização do bloco de assinatura (somente o sistema de origem criador do bloco pode cancelar). •idDoBloco : Guid → Guid do bloco de assinaturas. |
| Response | { «status»: «Ok», «message»: "Bloco de assinatura cancelado com sucesso! " } |
2.2 Documentos
| Rota GET • /Documentos/{id} | |
| Descrição | Rota que busca o documento pelo Guid. |
| Parâmetros | id : Guid → Guid do documento. |
| Request Body | - |
| Response | { «id»: «d6baad9e-01a1-46bc-8bee-d5260c87e763», «tipoDeDocumento»: «Parecer», «corpo»: «testando123\n», «cabecalho»: " |
| Rota GET • /Documentos/Historico/{id} | |
| Descrição | Rota que consulta o histórico pelo Guid do documento. |
| Parâmetros | id : Guid → Guid do documento. |
| Request Body | - |
| Response | 1 2 3 4 5 6 7 8 9 10 11 12 [ { «descricao»: «Editado», «usuario»: «00000000000», «dateTime»: «2022-08-24T12:09:22.728058» }, { «descricao»: «Criado no sistema REGULARIZAJA», «usuario»: «00000000000», «dateTime»: «2022-08-24T12:09:22.7280561» } ] |
| Rota POST • /Documentos | |
| Descrição | Rota para criar documento. |
| Parâmetros | - |
| Request Body | • titulo : string → título do documento; • conteudo : string → conteúdo do documento; • unidadeOrcamentariaId : int → id da unidade orçamentária do usuário no E-Estado; • departamento : string → departamento do usuário no E-estado; • clientId : Guid → Guid do sistema de origem onde o documento será criado; • tipoDeDocumento : string → tipo do documento (ata, parecer, memorando, etc) • usuario → dados do usuário que irá criar o documento • nome : string; • cpf : string; • codigoDaUnidadeOrcamentaria : int; • email : string. • restrito : boolean → definirá se o documento terá informações restritas ou não. |
| Response | 1 2 3 4 5 6 7 8 9 { «id»: «d6baad9e-01a1-46bc-8bee-d5260c87e763», «corpo»: «testando123», «tipoDeDocumento»: «Parecer», «departamento»: «string», «unidadeOrcamentariaId»: 20, «numeracao»: «001.000103/2022-20», «cpfDoCriador»: «00000000000» } |
| Rota PUT • /Documentos | |
| Descrição | Rota para editar título e conteúdo do documento. |
| Parâmetros | - |
| Request Body | • id : Guid → Guid do documento que será editado; • titulo : string → título editado do documento; • conteudo : string → conteúdo editado do documento; • sistemaClientId : Guid → Guid do sistema de origem onde o documento será criado; • usuario → dados do usuário que criará o documento • nome : string; • cpf : string; • codigoDaUnidadeOrcamentaria : int; • email : string. |
| Response | 1 2 3 4 5 6 7 8 9 10 { «id»: «d6baad9e-01a1-46bc-8bee-d5260c87e763», «conteudo»: «lorem ipsum», «tipoDeDocumento»: «Parecer», «departamento»: «string», «unidadeOrcamentariaId»: 20, «numeracao»: «001.000103/2022-20», «cpfDoCriador»: «00000000000», «assinaturas»: [] } |
| — | — |
| Rota POST • /Documentos/PostDocumentoUsuarioExterno | |
| Descrição | Rota para criar documento com usuário externo. |
| Parâmetros | - |
| Request Body | • titulo : string → título do documento; • conteudo : string → conteúdo do documento; • clientId : Guid → Guid do sistema de origem onde o documento será criado; • tipoDeDocumento : string → tipo do documento (ata, parecer, memorando, etc) • usuario → dados do usuário que irá criar o documento • nome : string; • cpf : string; • email : string. • restrito : boolean → definirá se o documento terá informações restritas ou não. |
| Response | 1 2 3 4 5 6 7 8 9 { «id»: «47d5f0bd-f892-49e0-a64d-a0aa916366ec», «corpo»: « Este é um modelo de ata. lorem ipsum»,«tipoDeDocumento»: «Ata», «departamento»: null, «unidadeOrcamentariaId»: null, «numeracao»: «1019.000006/2022-», «cpfDoCriador»: «00000000000» } |
| Rota POST • /Documentos/Compartilhar | |
| Descrição | Rota para compartilhar documento pelo CPF do usuário logado. |
| Parâmetros | - |
| Request Body | • idDocumento : Guid → Guid do documento que será compartilhado; • nome : string → nome do usuário que o documento será compartilhado; • cpf : string → cpf do usuário que o documento será compartilhado; • permissao : int → permissão do usuário que será compartilhado o documento (visualizar ou editar); • filtro : string → filtro da view que filtra pelo nome ou cpf; • secretariaId : int → secretaria do usuário que o documento será compartilhado no E-Estado; • usuarioLogado → dados do usuário que irá compartilhar o documento • nome : string; • cpf : string; • sistemaClientId : Guid → Guid do sistema de origem. |
| Response | 1 2 3 4 { «status»: «Ok», «message»: "Documento compartilhado com sucesso! " } |
| Rota POST • /Documentos/CompartilharPorSistema | |
| Descrição | Rota para compartilhar documento pelo SISTEMA de origem. |
| Parâmetros | - |
| Request Body | • idDocumento : Guid → Guid do documento que será compartilhado; • sistemaClientId : Guid → Guid do sistema de origem; • permissao : int → permissão do usuário que será compartilhado o documento (visualizar ou editar); • cpfACompartiilhar : string → Cpf do usuário que o documento será compartilhado. |
| Response | 1 2 3 4 { «status»: «Ok», «message»: "Documento compartilhado com sucesso! " } |
| Rota POST • /Documentos/Arquivar | |
| Descrição | Rota para arquivar documento. |
| Parâmetros | - |
| Request Body | • id : Guid → Guid do documento que será arquivado; • usuarioLogado → dados do usuário que irá arquivar o documento • nome : string; • cpf : string; • sistemaClientId : Guid → Guid do sistema de origem. |
| Response | 1 2 3 4 { «status»: «Ok», «message»: "Documento arquivado com sucesso! " } |
| Rota POST • /Documentos/Assinar | |
| Descrição | Rota para assinar documento. |
| Parâmetros | - |
| Request Body | • idDocumento : Guid → Guid do documento que será assinado; • cpf : string → Cpf do usuário que irá assinar o documento; • senha : string → senha do usuário cadastrada no Sauron; • aceitouTermo : boolean → termo que o usuário deve aceitar. |
| Response | 1 2 3 4 { «status»: «Ok», «message»: "Documento assinado com sucesso! " } |
| Rota POST • /Documentos/Revogar | |
| Descrição | Rota para revogar documento. |
| Parâmetros | - |
| Request Body | • idDocumento : Guid → Guid do documento que será revogado; • cpf : string → Cpf do usuário que irá revogar o documento; • senha : string → senha do usuário cadastrado no Sauron. |
| Response | 1 2 3 4 { «status»: «Ok», «message»: "Assinatura(s) do documento revogada(s) com sucesso! " } |
| Rota POST • /Documentos/Autenticidade | |
| Descrição | Rota para verificar a autenticidade do documento. |
| Parâmetros | - |
| Request Body | • numeracao : string → númeração do documento (gerado ao criar o documento); • codigoVerificador : string → código que verifica a autenticidade do documento (gerado ao assinar o documento). |
| Response | 1 2 3 4 { «valido»: true, «mensagem»: «Documento é Válido e Autêntico. Verificação feita dia 25 de agosto de 2022 às 09:03:12» } |
| Rota GET • /Documentos/Pdf/{documentoId} | |
| Descrição | Rota para renderizar documento em PDF pelo id do documento. |
| Parâmetros | documentoId : Guid → Guid do documento que será renderizado; |
| Request Body | - |
| Response | Documento em pdf. |
Concluímos que após analisar todas as funcionalidades do sistema Gov Doc Api o mesmo está apto para ser utilizado em todos por os sistemas do Governo de Rondônia.