Índice |
---|
...
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
...
...
...
...
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.
Quando o Up não consegue finalizar o envio da pré venda alguns cenários de falha são implemetandos
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
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 status que serão reprocessados são
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.
...
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 retaguarda | 1 - Integrado Disponibilizado com sucesso pela retaguarda |
-- | 98 - Sem Internet |
-- | 99 - Erro ao tentar integrar no Sync |