Árvore de páginas


Introdução

Quando um atendimento é iniciado no TOTVS Varejo PDV Omni uma pré venda é 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 propriedades 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 através 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 implementados

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 atribuímos 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 atribuímos 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 atribuímos 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é vendas elas serão 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.

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 - Disponibilizado com sucesso
--98 - Sem Internet
--99 - Erro ao tentar integrar no Sync