Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
| pres:gerti:manuais:integracaoiagoxetce [24/09/2026 14:41] – rmpires | pres:gerti:manuais:integracaoiagoxetce [24/09/2026 17:18] (atual) – [Campos] rmpires | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| - | # Integração IAGO × eTCE — Criação de Peças/ | + | ====== |
| - | ## 1. Objetivo | + | ===== 1. Objetivo |
| - | Este documento descreve a integração utilizada pelo **IAGO** para criação automática de peças no **eTCE-GO | + | Este documento descreve a integração utilizada pelo **IAGO** para criação automática de peças no **eTCE-GO**, |
| - | - endpoint utilizado; | + | * endpoint utilizado; |
| - | - ambientes disponíveis; | + | |
| - | - autenticação; | + | |
| - | - usuário de serviço; | + | |
| - | - contrato da requisição; | + | |
| - | - regras para inclusão e substituição de documentos; | + | |
| - | - validações de negócio; | + | |
| - | - retornos HTTP; | + | |
| - | - mensagens de validação; | + | |
| - | - regras específicas da primeira versão da integração. | + | |
| - | A finalidade do endpoint é permitir que uma peça produzida com apoio de Inteligência Artificial seja criada no TCE-Docs | + | A finalidade do endpoint é permitir que uma peça produzida com apoio de Inteligência Artificial seja criada no eTCE e vinculada ao último andamento do processo no setor informado. |
| - | > **Importante: | + | > **Importante: |
| + | > O uso do usuário de serviço | ||
| - | --- | + | ---- |
| - | ## 2. Repositório da aplicação | + | ===== 2. Repositório da aplicação |
| Código-fonte do backend do eTCE: | Código-fonte do backend do eTCE: | ||
| - | <https:// | + | [[https:// |
| - | --- | + | ---- |
| - | ## 3. Ambientes | + | ===== 3. Ambientes |
| - | ### Homologação | + | ==== Homologação |
| Swagger: | Swagger: | ||
| - | <https:// | + | [[https:// |
| Endpoint: | Endpoint: | ||
| - | ```http | + | < |
| POST https:// | POST https:// | ||
| - | ``` | + | </ |
| - | ### Produção | + | ==== Produção |
| Swagger: | Swagger: | ||
| - | <https:// | + | [[https:// |
| Endpoint: | Endpoint: | ||
| - | ```http | + | < |
| POST https:// | POST https:// | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ## 4. Endpoint | + | ===== 4. Endpoint |
| - | ```http | + | < |
| POST / | POST / | ||
| - | ``` | + | </ |
| - | ### Descrição | + | ==== Descrição |
| - | Cria o documento gerado pelo IAGO no **TCE-Docs** e vincula o documento ao **último andamento do processo**, considerando o processo, o setor informado e o usuário autenticado. | + | Cria o documento gerado pelo IAGO no **eTCE** e vincula o documento ao **último andamento do processo**, considerando o processo, o setor informado e o usuário autenticado. |
| - | O endpoint centraliza as validações necessárias para a criação da peça. Não existe uma etapa separada de pré-validação. | + | O endpoint centraliza as validações necessárias para a criação da peça. |
| - | --- | + | ---- |
| - | ## 5. Autenticação | + | ===== 5. Autenticação |
| A integração utiliza autenticação via **OpenID Connect / Keycloak**, com obtenção prévia de um token Bearer. | A integração utiliza autenticação via **OpenID Connect / Keycloak**, com obtenção prévia de um token Bearer. | ||
| - | ### 5.1. Produção | + | ==== 5.1. Produção |
| - | ```bash | + | < |
| curl --location ' | curl --location ' | ||
| --header ' | --header ' | ||
| Linha 85: | Linha 86: | ||
| --data-urlencode ' | --data-urlencode ' | ||
| --data-urlencode ' | --data-urlencode ' | ||
| - | ``` | + | </ |
| - | ### 5.2. Homologação | + | ==== 5.2. Homologação |
| - | ```bash | + | < |
| curl --location ' | curl --location ' | ||
| --header ' | --header ' | ||
| Linha 96: | Linha 97: | ||
| --data-urlencode ' | --data-urlencode ' | ||
| --data-urlencode ' | --data-urlencode ' | ||
| - | ``` | + | </ |
| O token retornado deve ser enviado ao endpoint: | O token retornado deve ser enviado ao endpoint: | ||
| - | ```http | + | < |
| Authorization: | Authorization: | ||
| Content-Type: | Content-Type: | ||
| - | ``` | + | </ |
| - | ### Retornos relacionados à autenticação | + | ==== Retornos relacionados à autenticação |
| - | | HTTP | Situação | + | ^ HTTP ^ Situação |
| - | |---|---| | + | | '' |
| - | | `401 Unauthorized` | Requisição realizada sem autenticação/ | + | | '' |
| - | | `403 Forbidden` | Usuário autenticado, | + | |
| - | --- | + | ---- |
| - | ## 6. Usuário de serviço | + | ===== 6. Usuário de serviço |
| O usuário recomendado para criação das peças geradas pelo IAGO é: | O usuário recomendado para criação das peças geradas pelo IAGO é: | ||
| - | ```text | + | < |
| BOTMINUTA | BOTMINUTA | ||
| - | ``` | + | </ |
| O uso desse usuário permite identificar que o documento foi produzido por meio da integração com Inteligência Artificial e que deve passar por revisão de um servidor antes da continuidade do fluxo. | O uso desse usuário permite identificar que o documento foi produzido por meio da integração com Inteligência Artificial e que deve passar por revisão de um servidor antes da continuidade do fluxo. | ||
| - | ### 6.1. Regra de lotação | + | ==== 6.1. Regra de lotação |
| Uma das principais regras da integração é: | Uma das principais regras da integração é: | ||
| Linha 134: | Linha 134: | ||
| Atualmente existem vinculações do usuário de serviço aos seguintes setores: | Atualmente existem vinculações do usuário de serviço aos seguintes setores: | ||
| - | | Setor | Descrição | + | ^ Setor ^ Descrição |
| - | |---|---|---| | + | | '' |
| - | | `DI-TI` | Diretoria de Tecnologia da Informação | `BOTMINUTA` | | + | | '' |
| - | | `GPCCR` | Gabinete do Procurador de Contas Carlos Gustavo Silva Rodrigues | `BOTMINUTA_GPCCR` | | + | |
| - | > Caso a funcionalidade seja disponibilizada para novos setores, será necessário incluir o usuário de serviço no setor correspondente antes de utilizar o endpoint. | + | > **Importante: |
| - | --- | + | ---- |
| - | ## 7. Contrato da requisição | + | ===== 7. Contrato da requisição |
| - | ### Request Body | + | ==== Request Body ==== |
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| - | " | ||
| " | " | ||
| " | " | ||
| Linha 156: | Linha 154: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | ### Campos | + | ==== Campos |
| - | | Campo | Obrigatório | + | ^ Campo ^ Obrigatório |
| - | |---|---: | + | | '' |
| - | | `setorGeralId` | Sim | Identificador do setor no qual o processo deverá estar e ao qual o usuário autenticado deverá estar vinculado. | | + | | '' |
| - | | `codigoProcesso` | Sim | Código do processo onde a peça será criada. | | + | | '' |
| - | | `tipoDocumento` | Sim | Indicador do tipo de documento. Na primeira versão da integração deve ser utilizado | + | | '' |
| - | | `corpoDocumento` | Sim | Conteúdo da peça em HTML. | | + | | '' |
| - | | `conversaId` | Não | Identificador da conversa do IAGO, utilizado para rastreabilidade quando informado. O valor `0` é aceito e é tratado como não informado. | | + | |
| - | | `ementa` | Não | Ementa que será associada ao documento. Quando informada, será utilizada na criação da peça; quando omitida, a API utiliza a ementa cadastrada na autuação do processo. | | + | |
| - | ### Observações sobre o contrato | + | ==== Observações sobre o contrato |
| - | - Recomenda-se enviar `tipoDocumento` como `DP`. | + | * Deve ser utilizado '' |
| - | - O contrato deve trabalhar com **um processo por requisição**. | + | |
| - | - Recomenda-se utilizar os tipos definidos no contrato/ | + | |
| - | - `corpoDocumento` deve possuir conteúdo HTML válido e conteúdo efetivo; tags vazias não são aceitas. | + | * '' |
| + | * Tags HTML vazias não são aceitas. | ||
| - | --- | + | ---- |
| - | ## 8. Regra da ementa | + | ===== 8. Regra da ementa |
| - | O campo `ementa` é **opcional**. | + | O campo '' |
| - | ### Quando | + | ==== Quando |
| A ementa do documento será gerada utilizando o conteúdo enviado na própria requisição: | A ementa do documento será gerada utilizando o conteúdo enviado na própria requisição: | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | ### Quando `ementa` não é informada | + | ===== 8. Regra da ementa |
| - | A API busca a ementa | + | O campo '' |
| - | Se nenhuma ementa estiver disponível para ser utilizada, a criação não poderá prosseguir. | + | Durante o processamento, a API também considera a ementa cadastrada na autuação do processo. |
| - | Retorno: | + | A definição da ementa do documento ocorre da seguinte forma: |
| - | ```json | + | * quando o campo '' |
| + | * quando o campo '' | ||
| + | |||
| + | Para que a criação do documento seja concluída, o processo deve possuir ementa cadastrada na autuação. | ||
| + | |||
| + | Caso essa informação não esteja preenchida, a API retorna: | ||
| + | |||
| + | < | ||
| { | { | ||
| " | " | ||
| Linha 210: | Linha 214: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </code> |
| - | + | ||
| - | > Se uma `ementa` válida for enviada diretamente na requisição, | + | |
| - | --- | + | ^ Campo '' |
| + | | Informado | Conteúdo enviado na requisição | | ||
| + | | Não informado | Ementa cadastrada na autuação | | ||
| + | ---- | ||
| - | ## 9. Tipo de documento permitido | + | ===== 9. Tipo de documento permitido |
| Na primeira versão da integração foi implementada a criação de **Parecer**. | Na primeira versão da integração foi implementada a criação de **Parecer**. | ||
| Linha 222: | Linha 227: | ||
| O valor esperado é: | O valor esperado é: | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | `DP` corresponde ao tipo documental **Parecer**. | + | '' |
| Não devem ser enviados outros tipos documentais enquanto não forem explicitamente habilitados para a integração. | Não devem ser enviados outros tipos documentais enquanto não forem explicitamente habilitados para a integração. | ||
| - | ### Tipo não permitido para integração com o IAGO | + | ==== Tipo não permitido para integração com o IAGO ==== |
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 244: | Linha 249: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | ### Tipo inexistente ou indisponível para o setor | + | ==== Tipo inexistente ou indisponível para o setor ==== |
| Também pode ocorrer validação relacionada ao cadastro ou habilitação do tipo documental para o setor informado: | Também pode ocorrer validação relacionada ao cadastro ou habilitação do tipo documental para o setor informado: | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 260: | Linha 265: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ## 10. Fluxo da operação | + | ===== 10. Fluxo da operação |
| De forma simplificada, | De forma simplificada, | ||
| - | 1. recebe | + | - Recebe |
| - | 2. valida autenticação; | + | - Valida a autenticação. |
| - | 3. valida | + | - Valida a autorização para utilização da API. |
| - | 4. valida | + | - Valida |
| - | 5. valida | + | - Valida |
| - | 6. valida | + | - Valida |
| - | 7. valida | + | - Valida |
| - | 8. valida | + | - Valida |
| - | 9. valida | + | - Valida as regras de segurança do processo. |
| - | 10. valida | + | - Valida |
| - | 11. cria uma nova peça ou substitui uma peça anterior quando permitido; | + | - Cria uma nova peça ou substitui uma peça anterior quando permitido. |
| - | 12. cria/atualiza o documento no TCE-Docs; | + | - Cria ou atualiza o documento no TCE-Docs. |
| - | 13. vincula | + | - Vincula |
| - | 14. atualiza | + | - Atualiza |
| - | 15. retorna | + | - Retorna |
| - | --- | + | ---- |
| - | ## 11. Regras de negócio | + | ===== 11. Regras de negócio |
| - | ### RN01 — Processo existente | + | ==== RN01 — Processo existente |
| O processo informado precisa existir. | O processo informado precisa existir. | ||
| Linha 294: | Linha 299: | ||
| Caso contrário, a operação é interrompida. | Caso contrário, a operação é interrompida. | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 304: | Linha 309: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ### RN02 — Usuário vinculado ao setor | + | ==== RN02 — Usuário vinculado ao setor ==== |
| - | O usuário autenticado precisa estar vinculado ao `setorGeralId` informado. | + | O usuário autenticado precisa estar vinculado ao '' |
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 322: | Linha 327: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| Essa regra é válida tanto para processos comuns quanto reservados. | Essa regra é válida tanto para processos comuns quanto reservados. | ||
| - | --- | + | ---- |
| - | ### RN03 — Processo no setor informado | + | ==== RN03 — Processo no setor informado |
| O processo deve estar no setor informado na requisição, | O processo deve estar no setor informado na requisição, | ||
| Linha 334: | Linha 339: | ||
| Não é permitido utilizar a integração para incluir uma peça em processo pertencente a setor para o qual o usuário de serviço não esteja devidamente vinculado. | Não é permitido utilizar a integração para incluir uma peça em processo pertencente a setor para o qual o usuário de serviço não esteja devidamente vinculado. | ||
| - | --- | + | ---- |
| - | ### RN04 — Processos sigilosos | + | ==== RN04 — Processos sigilosos |
| Não é permitida a criação de documentos por este endpoint em processos classificados como **sigilosos**, | Não é permitida a criação de documentos por este endpoint em processos classificados como **sigilosos**, | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 350: | Linha 355: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| O número do processo apresentado na mensagem varia conforme o processo informado. | O número do processo apresentado na mensagem varia conforme o processo informado. | ||
| - | --- | + | ---- |
| - | ### RN05 — Processos reservados | + | ==== RN05 — Processos reservados |
| - | A criação é permitida em processo reservado desde que o usuário de serviço esteja vinculado ao mesmo setor do processo e as demais regras de negócio sejam atendidas. | + | A criação é permitida em processo reservado desde que: |
| - | Caso o usuário | + | * o usuário |
| + | * o processo esteja no setor informado; | ||
| + | * as demais regras de negócio sejam atendidas. | ||
| - | --- | + | Caso o usuário não esteja vinculado ao setor informado, a requisição é rejeitada com '' |
| - | ### RN06 — Ementa | + | ---- |
| + | |||
| + | ==== RN06 — Ementa | ||
| A ementa utilizada no documento segue a seguinte prioridade: | A ementa utilizada no documento segue a seguinte prioridade: | ||
| - | 1. `ementa` informada no body da requisição; | + | - '' |
| - | 2. ementa cadastrada na autuação do processo. | + | |
| Caso não exista uma ementa válida disponível, | Caso não exista uma ementa válida disponível, | ||
| - | --- | + | ---- |
| - | ### RN07 — Responsável pelo setor | + | ==== RN07 — Responsável pelo setor ==== |
| Deve existir responsável cadastrado para o setor do processo. | Deve existir responsável cadastrado para o setor do processo. | ||
| Linha 381: | Linha 390: | ||
| Caso não exista responsável cadastrado, a criação da minuta será interrompida. | Caso não exista responsável cadastrado, a criação da minuta será interrompida. | ||
| - | --- | + | ---- |
| - | ### RN08 — Documento assinado ou aguardando assinatura | + | ==== RN08 — Documento assinado ou aguardando assinatura |
| Não é permitida a substituição quando o processo já possui documento assinado ou aguardando assinatura. | Não é permitida a substituição quando o processo já possui documento assinado ou aguardando assinatura. | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 397: | Linha 406: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ### RN09 — Documento aberto para edição no Word | + | ==== RN09 — Documento aberto para edição no Word ==== |
| Não é permitida a substituição automática quando o documento está aberto para edição. | Não é permitida a substituição automática quando o documento está aberto para edição. | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 415: | Linha 424: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ### RN10 — Substituição de documento criado pelo IAGO | + | ==== RN10 — Substituição de documento criado pelo IAGO ==== |
| Um documento criado anteriormente pelo IAGO pode ser automaticamente substituído **somente quando não tiver sofrido alteração por usuário**. | Um documento criado anteriormente pelo IAGO pode ser automaticamente substituído **somente quando não tiver sofrido alteração por usuário**. | ||
| Linha 425: | Linha 434: | ||
| Nesse cenário, o endpoint retorna sucesso e: | Nesse cenário, o endpoint retorna sucesso e: | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ### RN11 — Documento criado pelo IAGO e alterado por usuário | + | ==== RN11 — Documento criado pelo IAGO e alterado por usuário |
| Se um documento criado pelo IAGO tiver sido posteriormente alterado por um usuário, a substituição automática não é permitida. | Se um documento criado pelo IAGO tiver sido posteriormente alterado por um usuário, a substituição automática não é permitida. | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 447: | Linha 456: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ### RN12 — Documento criado por usuário | + | ==== RN12 — Documento criado por usuário |
| Documentos originalmente criados por usuário não podem ser substituídos automaticamente pela integração. | Documentos originalmente criados por usuário não podem ser substituídos automaticamente pela integração. | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 465: | Linha 474: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ### RN13 — Corpo do documento obrigatório | + | ==== RN13 — Corpo do documento obrigatório |
| - | `corpoDocumento` é obrigatório e precisa conter conteúdo válido. | + | '' |
| Não são aceitos: | Não são aceitos: | ||
| - | - valor `null`; | + | * valor '' |
| - | - string vazia; | + | |
| - | - conteúdo contendo somente espaços; | + | |
| - | - HTML sem conteúdo útil; | + | |
| - | - conteúdo em formato HTML considerado inválido pela API. | + | |
| - | Para valor vazio ou `null`: | + | Para valor vazio ou '' |
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 493: | Linha 502: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| Para HTML inválido ou contendo somente tags vazias: | Para HTML inválido ou contendo somente tags vazias: | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 507: | Linha 516: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ### RN14 — Um processo por requisição | + | ==== RN14 — Um processo por requisição |
| O endpoint deve ser utilizado para inclusão de documento em **um processo por vez**. | O endpoint deve ser utilizado para inclusão de documento em **um processo por vez**. | ||
| - | Não deve ser enviada uma lista de processos no campo `codigoProcesso`. | + | Não deve ser enviada uma lista de processos no campo '' |
| - | --- | + | ---- |
| - | ### RN15 — Atualização do andamento | + | ==== RN15 — Atualização do andamento |
| Após a criação do documento, o endpoint atualiza o andamento do processo, incluindo os dados utilizados para referenciar o documento gerado no TCE-Docs. | Após a criação do documento, o endpoint atualiza o andamento do processo, incluindo os dados utilizados para referenciar o documento gerado no TCE-Docs. | ||
| Linha 525: | Linha 534: | ||
| Entre os dados relacionados ao documento estão: | Entre os dados relacionados ao documento estão: | ||
| - | ```text | + | < |
| ID_DOCUMENT_N | ID_DOCUMENT_N | ||
| TIPO_DOCUMENT_A | TIPO_DOCUMENT_A | ||
| - | ``` | + | </ |
| - | --- | + | ---- |
| - | ## 12. Campos obrigatórios e mensagens de validação | + | ===== 12. Campos obrigatórios e mensagens de validação |
| - | ### `setorGeralId` | + | ==== setorGeralId |
| Quando não informado: | Quando não informado: | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 548: | Linha 557: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | ### `codigoProcesso` | + | ==== codigoProcesso |
| Quando não informado: | Quando não informado: | ||
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 564: | Linha 573: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | ### `corpoDocumento` | + | ==== corpoDocumento |
| - | Quando vazio ou `null`: | + | Quando vazio ou '' |
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 580: | Linha 589: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | ### `conversaId` | + | ==== conversaId |
| O campo não é obrigatório. | O campo não é obrigatório. | ||
| Linha 588: | Linha 597: | ||
| São permitidos: | São permitidos: | ||
| - | - atributo não informado; | + | * atributo não informado; |
| - | - `conversaId = 0`. | + | * '' |
| - | --- | + | ---- |
| - | ## 13. Exemplo de requisição | + | ===== 13. Exemplo de requisição |
| - | ```bash | + | ==== Homologação ==== |
| + | |||
| + | < | ||
| curl --location ' | curl --location ' | ||
| --header ' | --header ' | ||
| Linha 607: | Linha 618: | ||
| " | " | ||
| }' | }' | ||
| - | ``` | + | </ |
| + | |||
| + | Para produção utilizar: | ||
| - | > No ambiente de produção, substituir a URL de homologação pela URL correspondente de produção. | + | <code> |
| + | https:// | ||
| + | </ | ||
| - | --- | + | ---- |
| - | ## 14. Retorno de sucesso | + | ===== 14. Retorno de sucesso |
| - | ### Criação de novo documento | + | ==== Criação de novo documento |
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 626: | Linha 641: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | ### Substituição permitida | + | ==== Substituição permitida |
| - | ```json | + | < |
| { | { | ||
| " | " | ||
| Linha 639: | Linha 654: | ||
| " | " | ||
| } | } | ||
| - | ``` | + | </ |
| - | ### Campos do retorno | + | ==== Campos do retorno |
| - | | Campo | Descrição | + | ^ Campo ^ Descrição |
| - | |---|---| | + | | '' |
| - | | `documentoId` | Identificador do documento criado/ | + | | '' |
| - | | `codigoProcesso` | Processo relacionado à operação. | | + | | '' |
| - | | `tipoDocumento` | Descrição do tipo documental criado. | | + | | '' |
| - | | `dataHora` | Data e hora da operação. | | + | | '' |
| - | | `nomeUsuario` | Usuário responsável pela criação via integração. | | + | | '' |
| - | | `acaoExecutada` | Informa se houve `CriacaoNova` ou `Substituicao`. | | + | |
| - | --- | + | ---- |
| - | ## 15. Códigos HTTP | + | ===== 15. Códigos HTTP ===== |
| - | | HTTP | Situação | + | ^ HTTP ^ Situação |
| - | |---|---| | + | | '' |
| - | | `200 OK` | Documento criado ou substituído com sucesso. | | + | | '' |
| - | | `400 Bad Request` | Campos ou parâmetros inválidos, processo inexistente, | + | | '' |
| - | | `401 Unauthorized` | Ausência de autenticação válida. | | + | | '' |
| - | | `403 Forbidden` | Usuário autenticado sem autorização para utilizar o endpoint. | | + | | '' |
| - | | `409 Conflict` | Regra de negócio impede a criação ou substituição. | | + | | '' |
| - | | `422 Unprocessable Entity` | Falha de validação ou vínculo, como usuário não vinculado ao setor informado. | | + | | '' |
| - | | `500 Internal Server Error` | Erro interno da aplicação. | | + | |
| - | --- | + | ---- |
| - | ## 16. Resumo das principais validações | + | ===== 16. Resumo das principais validações |
| - | | Validação | + | ^ Validação |
| - | |---|---| | + | | Usuário sem autenticação | '' |
| - | | Usuário sem autenticação | `401` | | + | | Usuário sem permissão | '' |
| - | | Usuário sem permissão | `403` | | + | | '' |
| - | | `setorGeralId` ausente | `400` | | + | | Usuário não vinculado ao setor | '' |
| - | | Usuário não vinculado ao setor | `422` | | + | | '' |
| - | | `codigoProcesso` ausente | `400` | | + | | Processo inexistente | '' |
| - | | Processo inexistente | `400` | | + | | Processo sigiloso | '' |
| - | | Processo sigiloso | `409` | | + | |
| | Processo reservado no mesmo setor | Permitido, se as demais regras forem atendidas | | | Processo reservado no mesmo setor | Permitido, se as demais regras forem atendidas | | ||
| - | | Processo reservado fora do setor | `422` | | + | | Processo reservado fora do setor | '' |
| - | | Processo sem ementa disponível | `409` | | + | | Processo sem ementa disponível | '' |
| - | | Tipo diferente do permitido para integração | `409` | | + | | Tipo diferente do permitido para integração | '' |
| - | | Documento assinado/ | + | | Documento assinado/ |
| - | | Documento em edição no Word | `409` | | + | | Documento em edição no Word | '' |
| | Documento IAGO sem alteração humana | Substituição permitida | | | Documento IAGO sem alteração humana | Substituição permitida | | ||
| - | | Documento IAGO alterado por usuário | `409` | | + | | Documento IAGO alterado por usuário | '' |
| - | | Documento criado por usuário | `409` | | + | | Documento criado por usuário | '' |
| - | | `corpoDocumento` vazio ou `null` | `400` | | + | | '' |
| - | | HTML inválido/ | + | | HTML inválido/ |
| - | | `conversaId` ausente | Permitido | | + | | '' |
| - | | `conversaId = 0` | Permitido | | + | | '' |
| - | --- | + | ---- |
| - | ## 17. Considerações para expansão da funcionalidade | + | ===== 17. Considerações para expansão da funcionalidade |
| Para habilitar a criação automática de peças em novos setores, deve-se verificar no mínimo: | Para habilitar a criação automática de peças em novos setores, deve-se verificar no mínimo: | ||
| - | 1. lotação/ | + | - lotação/ |
| - | 2. permissão do usuário para utilização do endpoint; | + | |
| - | 3. disponibilidade do tipo documental para o setor; | + | |
| - | 4. existência de responsável cadastrado para o setor; | + | |
| - | 5. regras específicas do tipo documental; | + | |
| - | 6. necessidade de habilitar novos indicadores além de `DP`; | + | |
| - | 7. adequação das regras de segurança e substituição; | + | |
| - | 8. validação em ambiente de homologação antes da liberação em produção. | + | |
| - | Enquanto não houver ampliação formal da integração, | + | Enquanto não houver ampliação formal da integração, |
| - | --- | + | ---- |
| - | ## 18. Recomendações para consumo pelo IAGO | + | ===== 18. Recomendações para consumo pelo IAGO ===== |
| Antes de enviar a requisição: | Antes de enviar a requisição: | ||
| - | - obter o token utilizando o usuário de serviço; | + | * obter o token utilizando o usuário de serviço; |
| - | - utilizar o setor em que o processo efetivamente se encontra; | + | |
| - | - garantir que o usuário esteja vinculado ao setor; | + | |
| - | - utilizar | + | |
| - | - enviar HTML válido e não vazio em `corpoDocumento`; | + | |
| - | - enviar | + | |
| - | - utilizar | + | |
| - | - tratar | + | |
| - | - não realizar substituição forçada quando a API indicar alteração humana, assinatura ou edição do documento. | + | |
| - | --- | + | ---- |