API SIAC 156 - Guia de Integração Entre Aplicações

Elaborado por: Gerência de Projetos - Institudo das Cidades Inteligentes
Data de atualização: 16/11/2021


Introdução

Através da API SIAC 156, outras aplicações do município podem ser integradas com o SIAC 156, de forma que a aplicação autenticada conseguirá importar as solicitações pendentes de um determinado grupo, e devolver ao SIAC 156 com uma resposta.

Em caso de dúvidas quanto a utilização da API, favor contatar a Secretaria de Governo Municipal através do e-mail gestao156@curitiba.pr.gov.br.


Conceitos

A integração é possível através da geração de tokens no formato JSON Web Token, que são gerados em uma primeira chamada a API, e então recuperados pela aplicação, que chama a API passando o token nos cabeçalhos da requisição para ter acesso aos métodos liberados para aplicação.

Como a API SIAC 156 permite chamadas REST via protocolo HTTPS para realizar a integração, é possível integrar aplicações desenvolvidas em diversas tecnologias.


Solicitando a Integração

O primeiro passo para integração é solicitar autorização a SGM detalhando quais grupos serão integrados. Essa solicitação pode ser feita através do seguinte e-mail: gestao156@curitiba.pr.gov.br.

A SGM avaliará o pedido e abrirá um chamado via servicedesk, solicitando a equipe técnica que realize as configurações necessárias e informe através de email a chave para autenticação a API. Primeiramente será liberado acesso somente ao ambiente de desenvolvimento.


Homologando a Integração

Após finalizada a integração em ambiente de desenvovimento, a SGM deverá ser comunicada para dar inicio a homologação das funcionalidades. Feito o comunicado, a SGM irá solicitar a equipe técnica responsável pela API, a liberação de acesso em ambiente de homologação.

Após a integração homologada pela SGM em conjunto com os gestores da aplicação que realiza a integração, será realizada a liberação de acesso em ambiente de produção.


Autenticando na API

A aplicação solicitará o JSON Web Token gerado pela API através do método /api/siac156/autenticacao via POST, passando o token gerado no cadastro de aplicações via query string no parâmetro guid.

O JSON Web Token obtido, deverá ser enviado através do cabeçalho Authorization, no seguinte formato: Authorization: Bearer {token_gerado_pela_API}, em todas as requisições solicitadas a API.

Não é necessário utilizar nenhuma biblioteca para validar o token gerado, a API fará a validação. Caso o token seja válido, a mesma verifica se a aplicação possuí acesso ao método requisitado.

Método de obtenção dos dados de usuário.
Método para obter o token da API.
Resposta com dados do usuário.
Resposta do método para obter o token da API.

Procedimento para Integração - Responder Solicitações do Órgão

Procedimentos necessários para aplicações que necessitam da integração, assumir as solicitações criadas pelos canais de entrada do SIAC 156 e devolver com uma resposta ao solicitante.

Segue descritivo sequencial para implementar as funcionalidades:

1 - Assumir solicitações pendentes do grupo

Dependendo do volume de demanda, a aplicação deve desenvolver uma lógica de importação dos protocolos, que deverá ser executada em um período mínimo de 10 minutos, para não afetar a performance da base de dados. Após importar ou assumir o documento para atendimento, a solicitação é bloqueada no SIAC 156 para alterações até ser devolvida novamente ao SIAC 156.

  • "/api/siac156/ListarGrupo": obter id dos grupos permitidos para acessar as pendências;
  • "/api/siac156/ListarPendencia": obter lista de solicitações pendentes para o grupo;
  • "/api/siac156/NotificaSolicitacaoIntegrada": informar ao SIAC 156 que a solicitação foi assumida pela aplicação com sucesso. Automaticamente será registrado no histórico da solicitação, o nome da aplicação que seguirá com os trâmites, o documento ficará bloqueado no SIAC 156 até sua devolução;

2 - Devolver solicitação ao SIAC 156

  • "/api/siac156/ListarMotivoDevolucao": obter os motivos permitidos para devolução da solicitação;
  • "/api/siac156/DevolverSolicitacao": devolver a solicitação ao SIAC 156 conforme motivo.

3 - Listar solicitações com pedido de cancelamento

Lista as solicitações que tiveram um pedido de cancelamento pelo cidadão. Enquanto não for devolvido ao SIAC 156 com uma resposta, não sairá dessa lista.

  • "/api/siac156/ListarPedidoCancelamento": obter lista de solicitações com pedido de cancelamento;

4 - Visualizar histórico da solicitação

O histórico contém registros dos trâmites da solicitação, que são importantes para sua resolução e entendimento. São dados dinâmicos e devem ser consultados em tempo real quando necessário.

  • "/api/siac156/ListarHistoricoSolicitacao": obter o histórico de atendimento desde a criação;

5 - Visualizar dados do solicitante

Dados dinâmicos e devem ser consultados em tempo real quando necessário.

  • "/api/siac156/ConsultarSolicitante": obter dados do solicitante de uma solicitação;

Enviar notificação para o APP Curitiba 156

Método necessário para enviar notificação para o APP Curitiba 156 por tema.

Segue descritivo sequencial para implementar as funcionalidades:

  • "/api/siac156/ListarTopicos": obter tópico(s) disponível(is) para envio de notificação;
  • "/api/siac156/EnviarNotificacaoPushCidadao": enviar notificação para o APP por tópico;