{{:iws_notify:in_144px.png?200|}} A liberação do servidor de notificação(**IWS Notify**) ocorreu na versão **1.4.009.000** (12/08/2019). Complementando este manual, temos o [[manuais:iws-noitify|Manual do Android]] referente ao aplicativo que deve ser instalado no celular. ===== Interface Principal ===== Ao executar o programa, será aberta a seguinte tela: {{ :iws_notify:iws_not_interface_principal.png?850 |}} ==== Aba Permissão ==== Na **primeira tabela**, serão mostradas as __permissões e avisos que aguardam algum tipo de interação por parte do usuário no servidor__. Na parte inferior teremos 3 botões para o caso de liberação de permissão: * **Refresh** - Permite recarregar da tabela de tickets pendentes todas as permissões que aguardam interação do usuário. * **Negar Permissão** - Permite negar imediatamente quando estiver configurado a opção **Desktop** ou **Todos** o pedido de permissão selecionado. * **Permissão** - Permite abrir a tela de login para que seja inserido um usuário e senha para liberar uma determinada permissão, caso esteja configurado a opção **Desktop** ou **Todos**. Caso seja solicitado a presença do gerente no frente de caixa, os dois últimos botões irão se transformar em um botão único chamado **Visualizar**, ao clicar no mesmo, irá abrir a seguinte interface: {{ :iws_notify:iws_not_presenca_gerente.png?300 |}} Na **segunda tabela**, serão mostradas as __requisições que já foram processadas ou que não obtiveram resposta__, executando timeout na conexão. Lembrando que nesta tabela a cor **VERMELHO CLARO** representa as requisições cuja permissão foi negada. A cor **ROXA** representa as requisições que não foram respondidas a tempo e foram finalizadas pelo frente de caixa como **TIMEOUT**. Na parte inferior teremos 2 botões: * **Exportar** - Permite exportar para Excel todos os dados da tabela para que seja analisado a liberação de permissão, caso seja necessário efetuar algum tipo de auditoria. Exemplo: {{ :iws_notify:iws_not_exportacao_xls.png?900 |}} * **Fechar** - Exibe a mensagem de confirmação para fechar o servidor de notificação. ==== Aba Comunicação ==== === Funcionamento === O servidor de notificação trabalha com a **tecnologia de callback em um canal**, ou seja, quando o EasyCash abre, é registrado no servidor para este PDV um número serial que identifica o mesmo perante os outros PDVs. Sendo assim, o servidor e os frentes de caixas podem enviar informações entre si, utilizando o referido canal registrado e seus ID's. Segue o diagrama: {{ :iws_notify:iws_not_callback.png?450 |}} Neste caso, portanto, podemos **notificar um callback(PDV) específico** enviando algum tipo de informação ou podemos efetuar **um broadcast no canal**, onde todos os computadores registrados no canal receberão aquele tipo de informação. Com base nos dados acima, **DEVE-SE iniciar o servidor de notificação primeiro** e depois iniciar o EasyCash. Caso precise **reiniciar o servidor de notificação DEVE-SE reiniciar os PDV's** que estiverem linkados ao mesmo para que o canal de callback seja refeito. === Interface === {{ :iws_notify:iws_not_comunicacao.png?850 |}} Abaixo da tabela superior, temos o botão **Refresh Clientes** que irá atualizar a mesma caso ocorra novas conexões que não estejam exibidas. O botão **Broacast para o Canal** permite enviar o texto "Teste de conexão!" para todos os PDV's assim como o botão **Notificar CallBack** permite enviar a mesma mensagem para o PDV selecionado. Caso clique em um desses botões e o canal esteja funcionando corretamente, no frente de caixa, na pasta **LOG** deve-se ter um arquivo chamado **EasyCashNOT_YYYYMMDD.log** com o seguinte registro: {{ :iws_notify:iws_not_easycash_testeconexao.png?750 |}} O botão **Informação do Túnel** exibe todos os clientes e callbacks registrados no canal, conforme a imagem a seguir: {{ :iws_notify:iws_not_informacoes_canal.png?850 |}} ==== Aba Configuração ==== O sistema de notificação para mobile utiliza o banco de dados FireBase Google para envio de mensagens. Para maiores informações visite: [[https://firebase.google.com/products/realtime-database/|FireBase - Realtime Database]] {{ :iws_notify:iws_not_configuracao.png?850 |}} Nesta tela, temos a porta que o servidor de notificação está trabalhando, podendo ser modificada rapidamente por esta interface, o identificador do aplicativo junto ao FireBase(**ID aplicativo**) e o id do cliente junto ao aplicativo(**ID cliente**). Vale ressaltar que temos também o tempo em que o servidor irá efetuar um refresh nos dados da tela principal. Temos também que para o caso do Mobile, __serão efetuadas 30 tentativas com intervalo de 2 segundos para tentar recuperar os dados do FireBase__ no caso da permissão via celular. ==== Aba Informações Adicionais ==== {{ :iws_notify:iws_not_info_adicional.png?850 |}} Nesta tela, podemos visualizar as configurações do retaguarda que são exportadas para o frente de caixa, caso seja preciso validar o valor ou o status das mesmas. Para alterar estas configurações, no retaguarda acesse:
GerenciamentoEasyCashConfiguraçãoConfiguração do PDVAlterar
Será aberta a seguinte tela: {{ :iws_notify:iws_not_retaguarda_config.png?550 |}} No frente de caixa, ao efetuar esta configuração, no arquivo **EasyCash1.ini**, teremos a tag **[Notificacao]**, conforme a imagem: {{ :iws_notify:iws_not_config_easycashini.png?750 |}} No modo de configuração pode ser escolhido **Desktop**(liberação via interface do IWS Notify), **Mobile**(Celular) ou **Todos**(Desktop + Mobile). Para o caso do **Mobile** ou da opção **Todos**, deve-se ter __um e-mail do Google devidamente registrado no celular__ que irá receber a notificação e o referido operador de caixa deve ter permissão para poder executar a liberação da mesma. Tomemos como exemplo o seguinte operador: {{ :iws_notify:iws_not_operador_caixa.png?800 |}} No cadastro do mesmo deve conter o referido e-mail registrado em seu celular, conforme a imagem: {{ :iws_notify:iws_not_operador_caixa2.png?800 |}} Ressaltando que o referido usuário possui permissão para liberação da maioria das permissões pedidas pelo frente de caixa. Para que o referido __operador de caixa receba aviso de solicitação do gerente__ do frente de caixa, **DEVE-SE** estar marcado a seguinte permissão: {{ :iws_notify:iws_not_solicita_gerente_permissao.png?850 |}} ===== Solicitação do Gerente no Frente de Caixa ===== Ao habilitar configuração de Push Notification, automaticamente será mostrado no lado superior direito da tela principal do frente de caixa o seguinte atalho(**SHIFT + F3**) que funciona no sistema inteiro do EasyCash: {{ :iws_notify:iws_not_atalho_solicita_gerente.png?350 |}} Ao pressionar, será exibido no canto inferior direito da tela a seguinte mensagem: {{ :iws_notify:iws_not_atalho_solicita_gerente2.png?350 |}} ===== Exemplo de liberação de Permissão via Mobile ===== No frente de caixa ao pedir uma permissão, teremos: {{ :iws_notify:iws_not_exemplo1_01.png?750 |}} Para o caso de estar esperando processamento, temos: {{ :iws_notify:iws_not_exemplo1_02.png?750 |}} Se não houver resposta, teremos: {{ :iws_notify:iws_not_exemplo1_03.png?300 |}} Neste caso, podemos reenviar novamente o pedido. Para o caso em que a permissão é negada, temos: {{ :iws_notify:iws_not_exemplo1_04.png?300 |}} Na tela do celular, através do celular será apresentada uma das seguintes telas: * **Pedido de Permissão**: {{ :iws_notify:iws_not_mobile_01.png?350 |}} * **Pedido de Permissão para o DESCONTOMAXIMO**: {{ :iws_notify:iws_not_mobile_02.png?350 |}} * **Solicitação da presença do gerente no caixa**: {{ :iws_notify:iws_not_mobile_03.png?350 |}}