Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

...

Introdução

Quando um atendimento é iniciado no TOTVS Varejo PDV Omni Ao realizar uma pré - venda no PDV, ela é sinalizada a partir de alguns campos na tabela que está pronta para ser enviada para a retaguarda. Esse processo ocorre da seguinte forma:

...

é gerada e armazenada.

A pré venda precisa passar por algumas regras para que seja realizada a subida, as regras são

  • O campo situacao_pre_

...

  • venda  deve ser diferente de 'ATENDIMENTO'

...

  • .
  • O campo sincronizado

...

  • de estar com o status 0 (Pendente envio).

...

  • A Api Cliente do POSH deve estar sendo executada.
  • O Cliente Up do POSH deve estar sendo executado.

Quando todas as regras para envio da pré venda forem seguidas, o Cliente UP do POSH está apto para resgatar a pré venda para ser enviada a ServiçoComercial do POSH. 

No momento da subida da pré venda, o UP irá gerar um arquivo com algumas propriedas distintas, que chamamos de capa, e um campo chamado "conteudo". Neste campo é enviada a pré venda completa no formato base64.

Ao enviar a pré venda para o Serviço Comercial ela ficará disponível para resgate da Retaguarda atráves do endpoint de Get PrevendaMensagens. Já no banco do PDV Omni ela ira ficar com o status 1 (processado)

O tempo que o Up irá buscar novas pré vendas é definido pelo parâmetro número 26 cadastrado no Serviço Controle.

Cenários de falha

Quando o Up não consegue finalizar o envio da pré venda alguns cenários de falha são implemetandos

Queda de internet durante o envio da pré venda.

Caso o Up não consiga realizar a requisição ao Serviço Comercial e a requisição seja retornada com erro, o Up irá verificar se isso ocorreu devido a uma falta de internet.

Para isso o Up faz um outra requisição a api, dessa vez no endpoint api/monitoramento/validations no Serviço Controle.

Caso essa requisição ao Serviço de Controle seja executada com êxito, asseguramos que a pré venda não terminou de ser enviado por queda de conexão, sendo assim atribuimos 99 (Erro ao integrar) a pré venda.

Caso a requisição ao Serviço Controle também devolva erro entendemos que é problema com a conexão de internet então atribuimos 98(Sem internet) a pré venda.

Nesta rotina, a ordem de execução é enviar a pré venda e, caso ocorra erro nesse envio, verificamos a conexão e atribuimos o status

      • 98 - caso tenha ocorrido o problema por conexão com o microsserviço Comercial.
      • 99 - caso tenha ocorrido por outro tipo de erro durante o processo.

Reprocessamento de pré venda

Caso o Up encontre algum problema durante o envio da pré venda temos alguns cenários onde a pré venda será reprocessada.

A verificação de vendas para reprocessar só irá ocorrer uma única vez no horário especificado.

Quando chegar o momento de realizar a verificação das pré vendas a serem reprocessadas, o PDVSync.Client.Up irá realizar a chamada ao endpoint cridado no PDVSync.Client.API para que as pré vendas sejam alteradas para o status 0 (Pendente envio)e no próximo instante de busca de pré venda, caso houver pré vendsas elas seram enviadas ao PDVSync.Core.Comercial

  • Os horários são fixo e estão listados abaixo
    • 9 horas de manhã 
    • Meio dia | 12 horas 
    • 3 horas da tarde | 15 horas
    • 6 horas da tarde | 18  horas
    • 8 horas da noite | 20 horas

Os status que serão reprocessados são 

  • 98 - caso tenha ocorrido o problema por conexão com o microsserviço Comercial.
  • 99 - caso tenha ocorrido por outro tipo de erro durante o processo.

O Serviço UP irá "empacotar" a venda e tentar transmitir diretamente ao micro serviço Comercial através do endpoint PreVendaMensagens . Se for bem sucedido irá marcar na tabela venda o campo sincronizado = 0, caso contrário será sincronizado = 99. (vide tabela de apoio abaixo)

A venda chegará na tabela PreVendaMensagem do Comercial com o campo conteudo em base 64.

...

Tabela de apoio para os status das vendas no PDV e no POSH Server.

Abaixo temos os status relacionados entre a pré venda que está no banco do PDV omni e a que está no banco do Serviço Comercial.

Status na tabela PreVendaMensagem (SyncServer)Status na tabela pre_venda do PDV

--

0  - Pendente envio para o Sync

0 - Pendente consumo pela retaguarda

--

1 - Consumido pela retaguarda--
2 - Consumido com erro pela retaguarda--
3 - Reprocessar--
4 - Integrado com sucesso pela retaguarda1 - Integrado Disponibilizado com sucesso pela retaguarda
--98 - Sem Internet
--99 - Erro ao tentar integrar no Sync