Assunto
Este documento descreve o processo de Integração entre FlyChats e Sisdia.
Conceitos
FlyChats é um sistema Omnichannel de atendimento Online por robô, de maneira a interagir com pessoas através de chat a fim de captar leads, esclarecer dúvidas, agendar serviços entre outros. A partir das interações entre a pessoa e o robô, o FlyChats irá consumir um Webservice do DMS LINX instalado no tomcat, que irá gravar automaticamente o agendamento do cliente no SISDIA, além de consultar informações relacionadas para a geração do agendamento.
Nesta API de Agendamentos, estes métodos deverão ser consumidos automaticamente pelo FlyChats, de acordo com a seguinte dinâmica:
a) ListaEndereços: o FlyChats passa a cidade do cliente e a API retorna a lista de filiais mais próximas do cliente, com seus respectivos endereços, para que o cliente selecione a filial a ser feito a agendamento.
b) ObtemCadastroCliente: o FlyChats passa o CPF/CNPJ do cliente e a API retorna os dados cadastrais do cliente.
c) ObtemCadastroVeículo: o FlyChats passa a placa do veículo e a API retorna os dados cadastrais do veículo.
d) ListaPacotesModelo: o FlyChats passa o modelo do veículo e a API retorna a lista de pacotes de revisão disponíveis para o modelo, com os respectivos preços.
e) ListaHoráriosVagos: o FlyChats passa um intervalo de datas para agendamento (data inicial e data final) e a API retorna uma lista contendo as datas e os horários disponíveis dentro deste intervalo, com os respectivos consultores disponíveis em cada data/horário.
f) GravaAgendamento: o FlyChats passa a data e o horário escolhido e a API realiza o agendamento no OFIT0375, retornando o número do agendamento realizado.
Itens de Configuração
- FlyChatsApi.war – Provedor de Web Service do DMS LINX
- Aplicação WEBSERVICE hospedada no servidor TOMCAT do cliente
- Disponibiliza uma API RESTful com o seguinte endereço Endpoint: http://localhost:8080/FlyChatsApi/agendamento
- Esta API possui recursos de consulta e gravação ao banco de dados INFORMIX do SISDIA, que são consumidos pelo FlyChats.
- Os recursos são acessados pelo cliente (FlyChats) através das URLs dos recursos com os verbos GET ou POST da aplicação REST.
- O cliente recebe uma mensagem de resposta no formato JSON.
- O contrato WADL da API está em: http://localhost:8080/FlyChatsApi/agendamento?_wadl
Instalação
Configurar o arquivo "<TOMCAT_HOME>/conf/ tomcat-users.xml" incluindo a role "tomcat" com um usuário relacionado. Este usuário será acessado pelo FlyChats;
Exemplo:
Configurar o arquivo context.xml em /usr/local/tomcat/conf, criando a instancia 'agendamento' no qual será realizado a conexão com o banco de dados Informix;
Exemplo:
Copiar o arquivo FlyChatsApi.war para a pasta "<TOMCAT_HOME>/webapps"Exemplo:
Alternativamente é possível efetuar o deploy do FlyChatsApi.war pela interface gráfica do Apache Tomcat
Exemplo:
OBS.: "<TOMCAT_HOME> = diretório de instalação do tomcat
Exemplos de Chamadas API pelo SOAPUI
ListaEndereços:
ObtemCadastroCliente:
ObtemCadastroVeículo:
ListaPacotesModelo:
ListaHoráriosVagos:
GravaAgendamento:
Validações
- Se o cliente não possuir endereço principal, uma mensagem de erro será devolvida pelo serviço obtemCadastroCliente e o processo não será continuado.
- Se a placa não estiver cadastrada, uma mensagem de erro será devolvida pelo serviço obtemCadastroVeiculo e o processo não será continuado.
- Se não existir pacotes para o modelo, uma mensagem de erro será devolvida pelo serviço listaPacotesModelo e o processo não será continuado.
- Se não existir horário vago na data, uma mensagem de erro será devolvida pelo serviço listaHorariosVagos e o processo não será continuado
- A origem da início e fim de expediente e o tempo padrão do intervalo a ser utilizado no serviço listaHorariosVagos é parametrizado a partir do VIPE1001, aba Quadro agendamento, conforme exemplo abaixo:
Forma de Gravação do Agendamento FlyChats
- Distribuidor: Filial que o FlyChats enviou a partir do endereço selecionado pelo cliente
- Departamento: Selecionado automaticamente pelo DMS
- Consultor: Enviado pelo FlyChats a partir da lista de horários vagos
- Cliente: Enviado pelo FlyChats
- Endereço: endereço ativo principal do cliente
- Placa/Chassi: Enviado pelo FlyChats
- Tipo: informado pelo FlyChats (P=Periódica, C=Corretiva, I=Inspeção)
- Pacote/Cod.Serviço: Enviado pelo FlyChats a partir da lista de pacotes
- Tipo de OS: Se o FlyChats não enviar o tipo da Ordem então será pesquisado o padrão em DIAG2000 conforme Modelo/Grupo/Serviço, senão conforme parametrizado em CADA0900 para filial e o Código de Integração "FLYCHATS" e conforme definido no campo "Informações Adicionais 1"
- Tempo Estimado: Para DIAGNOSTICO: default 1h Para pacote será considerado o tempo cadastrado.
- Valor ME: default 0 (ZERO)
- Agendado Para: Usará a Data/Hora informada no Website
- Plano p/ Início do Serviço: Usará a Data/Hora informada no Website
- Prazo Prometido p/ Entrega: será o campo "Plano p/ Início do Serviço" + o número horas calculado.
Implementação no Sisdia
Passa a ser incluído no OFIT0375 uma nova opção, denominada "FlyChats", através da qual será disponibilizada uma consulta/relatório dos agendamentos realizados via integração com o FlyChats.
Nesta consulta/relatório serão listados todos os veículos agendados pelo FlyChats e que geraram ordem de serviço, contendo as seguintes informações: Filial, Data/Hora Agendamento, Placa, Consultor e Número da OS.
Para tanto, no momento da integração do Sisdia com o FlyChats por meio do serviço GravaAgendamento serão inserido na tabela flychats os dados para exibição no relatório.
Telas no Sisdia envolvendo o processo FlyChats
- Através do OFIT0375: O programa OFIT0375 é utilizado para a geração e manutenção de agendamentos e pré-ordens.
A opção do "FlyChats" nessa tela, irá exibir um relatório de todos os agendamentos gerados durante um período que desejar. Também irá exibir as pré-ordens que se tornaram Ordens de Serviços:
Para este caso, o filtro corresponde ao dia 01/01/2020 até 30/05/2020, retornando todas as pré-ordens abertas pelo FlyChats e na última coluna "Nro. OS" são exibidas as Ordens de Serviços geradas:
Com a opção do relatório conforme o layout abaixo:
Essa mesma tela pode ser acessada diretamente através do programa FLCH0000:
Para buscar o programa, basta preencher no MENU inicial do Sisdia e pressionar "Tab" ou "Enter":
Quando uma pré-ordem é gerada com sucesso através do FlyChats, será gravado no campo "Observação" da pré-ordem uma mensagem informando que foi aberta pelo FlyChats:
Essa mesma informação se mantém, mesmo quando a pré-ordem virar uma Ordem de Serviço:
Para consultar uma Ordem de Serviço, basta acessar o OFIC1200. Para abrir uma Ordem de Serviço, é utilizado o OFIT1000, ou, quando já existe pré-ordem, a abertura da OS pode ser gerada diretamente do OFIT0375.