Base de Conhecimento de Gestão Comercial de Saneamento

A maior base de documentação de GSAN do mercado mantida pela Consenso Tecnologia

Ferramentas do usuário

Ferramentas do site


postgres:boto-nlp:api





API de Integração com os Serviços do Chatbot

Nosso objetivo é definir as características esperadas na A.P.I de cada serviço, possibilitando a integração com o Chatbot. A A.P.I deve utilizar o protocolo REST e respeitar o TTL (Time To Live) máximo de 5 segundos (exceto para A.P.I de verificação de débitos, onde a tolerância é de 15 segundos).


Serviços

Validação/Integração - Status

A.P.I responsável por informar se o sistema comercial está online e apto a receber requisições.


GET /gsan/verificarBot

A.P.I para obter o status do serviço do sistema comercial.


Resposta esperada:

  1. body: valor booleano


Exemplo:

Figura 1 exemplo de request para a rota /gsan/verificarBot


Login/Autenticação

A.P.I responsável pela verificação e autenticação de clientes no sistema comercial. Veja abaixo as rotas necessárias para a realização deste serviço:


GET /gsan/localidadeImovel

A.P.I para obter as informações de localidade, setor comercial e quadra de um imóvel. Parâmetros:

Matricula:

  1. Valor inteiro com a identificação do imóvel no sistema comercial.


Resposta esperada:

  1. body: Objeto JSON com as seguintes informações:
    1. localidade: Identificador da localidade do imóvel.
    2. setor: Identificador do setor comercial do imóvel.
    3. quadra: Identificador da quadra do imóvel.


Exemplo:

Figura 2 Exemplo de request para a rota /gsan/localidadeImovel


GET /gsan/buscarImoveis

A.P.I para obter imóveis associados a um CPF/CNPJ. Parâmetros:

cpfCnpj: valor inteiro com a identificação do imóvel no sistema comercial.

Resposta esperada:

  1. body: Lista de objetos JSON com as seguintes informações:
    1. matriculaImovel: Identificador do imóvel no sistema comercial.
    2. nomeCliente: Nome do cliente.
    3. enderecoImovel: Endereço do imóvel.
    4. idCliente: Identificador do cliente.
    5. diaVencimentoImovel: Dia do vencimento das contas do imóvel.


Exemplo:

Figura 3 Exemplo de request para a rota /gsan/buscarImoveis


GET /gsan/verificarMatriculaCpfCnpj

A.P.I para checar se um CPF/CNPJ está associado à matrícula informada. Parâmetros:

  1. matricula: valor inteiro com a identificação do imóvel no sistema comercial.
  2. cpfCnpj: string com o número do CPF/CNPJ sem formatação.


Resposta esperada:

  1. body: Objeto JSON com os campos abaixo:
    1. cpfCnpjValido: Valor booleano, que indica se o CPF/CNPJ informado é válido ou não.
    2. matriculaValida: Valor booleano, o qual indica se a matrícula informada corresponde a um valor válido no sistema comercial.
    3. matriculaExistente: Valor booleano, com o indicativo se existe imóvel com a matrícula informada.
    4. cpfCnpjVinculados: Indica se o CPF/CNPJ e matrícula informados estão associados.


Exemplo:

Figura 4: Exemplo de request para a rota /gsan/verificarMatriculaCpfCnpj


GET /gsan/chatbot/autenticarMatricula

A.P.I para checar se uma matrícula possui um valor válido no sistema comercial. Parâmetros:

matricula: valor inteiro com a identificação do imóvel no sistema comercial.


Resposta esperada 1:

  1. body: Matrícula do imóvel:


Exemplo:

Figura 5.1: Exemplo de request para a rota /gsan/chatbot/autenticarMatricula


Resposta esperada 2:

  1. error: objeto JSON com os campos definidos abaixo:
    1. detailMessage: mensagem do erro.


Exemplo:

Figura 5.2: Exemplo de request para a rota /gsan/chatbot/autenticarMatricula

Observação: No exemplo 5.2 o código de status da resposta é 422.

Segunda Via de Contas

A.P.I's responsáveis pela listagem das contas pendentes do cliente, bem como pela obtenção e emissão da conta. Para tanto, faz-se uso de quatro rotas REST. São elas:


GET /gsan/segundaViaConta

A.P.I para listar as contas de uma matrícula. Parâmetros:

  1. matricula: valor inteiro com a identificação do imóvel no sistema comercial.
  2. pagination: valor inteiro referente à página do resultado da lista de contas. Opcional. Caso não seja informado, ou informado o valor 0, são listados todos os débitos, sem paginação do resultado.


Resposta esperada:

  1. body: Objeto JSON contendo uma lista de objetos JSON com os seguintes campos:
    1. data: Mês/ano de referência da conta.
    2. valor: Valor total da conta.
    3. idConta: Identificador da conta.


Exemplo:

Figura 6: Exemplo de request para a rota /gsan/segundaViaConta


GET /gsan/segundaViaContaTotal

A.P.I para obter a quantidade e o valor total das contas de uma matrícula. Parâmetros:

matricula: valor inteiro com a identificação do imóvel no sistema comercial.


Resposta esperada:

  1. body: Objeto JSON contendo os campos abaixo:
    1. qntdContas: Quantidade total de contas do imóvel.
    2. valor: Valor total das contas do imóvel.


Exemplo:

Figura 7: Exemplo de request para a rota /gsan/segundaViaContaTotal


GET /gsan/segundaViaCodigoBarra

A.P.I para obter os códigos de barra das contas informadas. Parâmetros:

  1. matricula: valor inteiro com a identificação do imóvel no sistema comercial.
  2. idConta: lista de strings com a identificação das contas.


Resposta esperada:

  1. body: Objeto JSON contendo os campos abaixo:
    1. mesAno: Lista com mês/ano de referência das contas, na ordem em que foram informadas.
    2. valor: Lista com os valores das contas, na ordem em que foram informadas.
    3. codigoBarra: Lista com os códigos de barra sem formatação, seguindo a ordem em que as contas foram informadas.


Exemplo:

Figura 8: Exemplo de request para a rota /gsan/segundaViaCodigoBarra


GET /gsan/segundaViaContaRelatorio

A.P.I obter (ou enviar por e-mail) o PDF com as contas informadas. Parâmetros:

  1. matricula: valor inteiro com a identificação do imóvel no sistema comercial.
  2. idConta: lista de strings com a identificação das contas.
  3. simplificada: parâmetro opcional. Quando informado, emite a conta com o layout simplificado. Caso não seja informado, é emitido no layout padrão de conta.
  4. email: string opcional com o e-mail para o qual as contas serão enviadas. Caso não seja informado, é retornado o BLOB do arquivo PDF; caso contrário, os arquivos são enviados para o e-mail informado.


Resposta esperada 1: com e-mail informado

  1. body: string informando que o e-mail foi enviado.


Exemplo:

Figura 9.1: Exemplo de request para a rota /gsan/segundaViaContaRelatorio com e-mail


Resposta esperada 2: sem e-mail informado:

  1. body: BLOB do arquivo PDF com content-type: aplication/pdf.


Exemplo:

Figura 9.2: Exemplo de request para a rota /gsan/segundaViaContaRelatorio sem e-mail


Abrir RA: Falta D’Água, Vazamento e Religação

A.P.I’s responsáveis pela verificação e cadastramento de Registros de Atendimento por Falta de Água, Vazamento e Religação da ligação de água. Segue abaixo as rotas REST para realização do fluxo:


POST /gsan/verificarRAWS

A.P.I para checar a existência de registros de atendimento abertos para o imóvel.

Campos do body:

  1. matricula: valor inteiro com a identificação do imóvel no sistema comercial.
  2. especificacao: valor inteiro com a identificação da especificação do atendimento.


Resposta esperada 1 (caso exista registro de atendimento pendente para a matrícula informada):

  1. body: Objeto JSON com os campos abaixo citados:
    1. protocolo: Protocolo do registro de atendimento.
    2. dataPrevistaAtendimentoRA: A data em que o registro de atendimento está previsto para ser atendido.
    3. status: Texto informativo que a solicitação já se encontra cadastrada.

Exemplo:


Figura 10.1: Exemplo de request para a rota /gsan/verficarRAWS com RA pendente


Resposta esperada 2 (caso não exista registro de atendimento pendente para a matrícula informada):

  1. error: objeto JSON com os campos abaixo citados:
    1. detailtMessage: mensagem do erro.


Figura 10.2: Exemplo de request para a rota /gsan/verficarRAWS sem RA pendente


Observação: No exemplo 10.2 o código de status da resposta é 422.


GET /gsan/episodiosFaltaAgua

A.P.I para checar a existência de ocorrências de desabastecimento na região do imóvel. Parâmetros:

matricula: valor inteiro com a identificação do imóvel no sistema comercial.
Resposta esperada

  1. body: lista de objetos JSON com os campos especificados abaixo:
    1. idOcorrencia: identificador da ocorrência operacional.
    2. ocorrencia: descrição da ocorrência operacional.
    3. ocorrenciaAbreviada: descrição da ocorrência com no máximo 30 caracteres.
    4. dataHora: data e hora da ocorrência, no formato DD/MM/YYYY HH:mi:ss.
    5. previsão: data e período da previsão de retomada do abastecimento.
    6. areaAfetada: descrição das áreas afetadas pela ocorrência.
    7. areaAfetadaAbreviada: descrição das áreas afetadas pela ocorrência, com no máximo 30 caracteres.


Exemplo:


Figura 11: Exemplo de request para a rota /gsan/episodiosFaltaAgua


GET /gsan/tipoEspecificacaoRA

A.P.I para listar as especificações de um tipo de solicitação de atendimento. Parâmetros:

tipoSolicitacao: valor inteiro com a identificação do tipo de solicitação.

Resposta esperada:

  1. body: lista de objetos JSON contendo os campos abaixo:
    1. id: identificador da especificação do atendimento.
    2. descricao: descrição da especificação.


Exemplo:


Figura 12: Exemplo de request para a rota /gsan/tipoEspecificacaoRA


POST /gsan/verificarExistenciaRAReligacao

A.P.I para checar se existe registro de atendimento de religação para o imóvel. Campos do body:

matricula: valor inteiro com a identificação do imóvel no sistema comercial.

Resposta esperada 1:

  1. body: objeto JSON com os campos abaixo citados:
    1. protocolo: protocolo do registro de atendimento.
    2. dataPrevistaAtendimentoRA: a data em que o registro de atendimento está previsto para ser atendido.
    3. status: texto informativo que a solicitação já se encontra cadastrada.


Exemplo:


Figura 13.1 – Exemplo de request para a rota /gsan/verificarExistenciaRAReligacao


Resposta esperada 2:

  1. error: objeto JSON com os campos descritos abaixo:
    1. mensagem: mensagem indicando que não existe solicitação cadastrada para a matrícula.


Figura 13.2 – Exemplo 2 de request para a rota /gsan/verificarExistenciaRAReligacao


Observação: No exemplo 13.2 o código de status da resposta é 422.


GET /gsan/verificarDebitosImovel

A.P.I para checar se o imóvel ainda possui débito em atraso. Parâmetros:

matrícula: valor inteiro com a identificação do imóvel no sistema comercial.
Resposta esperada:

  1. message: mensagens de validação dos fluxos conforme descritos nas árvores conversacionais (ver: https://www.gsan.com.br/doku.php?id=postgres:boto-nlp:abrir-ra:religacao).
  2. body: objeto JSON com os campos abaixo:
    1. matricula: valor inteiro com a identificação do imóvel no sistema comercial.
    2. endereco endereço do imóvel.
    3. cortado: valor booleano indicador se o imóvel encontra-se cortado ou não.
  3. débitos: objeto JSON referente aos débitos originários do corte, caso possua, com os seguintes campos:
    1. contas: lista de objetos JSON com os valores:
      1. id: identificador da conta.
      2. referência: mês/ano de referência da conta.
      3. valor: valor total da conta.
    2. guias: lista de objetos JSON com os valores:
      1. id: identificador da guia de pagamento.
      2. referência: mês/ano de referência da guia de pagamento.
      3. valor: valor total da guia de pagamento.
    3. débitos: lista de objetos JSON com os valores:
      1. id: identificador do débito a cobrar.
      2. referência: mês/ano de referência do débito a cobrar.
      3. valor: valor total do débito a cobrar.


Exemplo:


Figura 14.1 – Exemplo de request para a rota /gsan/verificarDebitosImovel


Exemplo 2:


Figura 14.2 – Exemplo 2 de request para a rota /gsan/verificarDebitosImovel

GET /gsan/verificarEmailCadastrado

A.P.I para checar se o e-mail informado está vinculado ao cliente do imóvel. Parâmetros:

  1. matrícula: valor inteiro com a identificação do imóvel no sistema comercial.
  2. email: string com o e-mail para validação.


Resposta esperada:

  1. body: valor booleano indicando se o e-mail informado está associado ao cliente do imóvel ou não.


Exemplo:


Figura 15 – Exemplo 2 de request para a rota /gsan/verificarEmailCadastrado


POST /gsan/inserirRAWS

A.P.I para inserir o Registro de Atendimento.

Campos do body:

  1. matrícula: valor inteiro com a identificação do imóvel no sistema comercial.
  2. solicitacaoTipo: valor inteiro, referente ao identificador do tipo de solicitação do atendimento.
  3. especificacao: valor inteiro, referente ao identificador da especificação do atendimento.
  4. pontoReferencia: descrição do ponto de referência.
  5. telefoneContato: telefone de contato com o DDD, no formato (XX) DDDDD-DDDD.
  6. observacoes: descrição da observação a ser associada ao Registro de Atendimento.
  7. nomeSolicitante: nome do solicitante.
  8. email: email do solicitante.


Resposta esperada

  1. body: objeto JSON com os campos abaixo:
    1. protocolo: número do protocolo de atendimento registrado.
    2. dataPrevistaAtendimentoRA: data prevista de realização do atendimento.
    3. status: texto informativo que a solicitação foi cadastrada.


Exemplo:


Figura 16 – Exemplo de request para a rota /gsan/inserirRAWS


POST /gsan/inserirRAReligacao

A.P.I para inserir o Registro de Atendimento de religação da ligação de água.

Campos do body:

  1. matricula: valor inteiro com a identificação do imóvel no sistema comercial.
  2. pontoReferencia: descrição do ponto de referência.
  3. telefoneContato: telefone de contato com o DDD, no formato (XX) DDDDD-DDDD.
  4. email: email do solicitante.
  5. tipoRegistroAtendimento: valor constante 1.


Resposta esperada

  1. body: objeto JSON com os campos abaixo:
    1. protocolo: número do protocolo de atendimento registrado.
    2. dataPrevistaAtendimentoRA: data prevista de realização do atendimento.
    3. status: texto informativo que a solicitação foi cadastrada.


Exemplo:


Figura 17 – Exemplo de request para a rota /gsan/inserirRAReligacao


Clique AQUI para retornar.
Export page to Open Document format

postgres/boto-nlp/api.txt · Última modificação: 02/08/2022 16:18 por tadeu.sarmento