Árvore de páginas

Versões comparadas

Chave

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

Índice 

Índice

1.  PDVSync

PDVSync é a camada responsável por orquestrar as operações de sincronização de dados entre o TOTVS Varejo  PDV  Omni e Omnishop e as suas respectivas retaguardas/ERPs.

...

  • O PDVSync Server: Conjunto de APIs, serviços e bases de dados hospedados em nuvem pública responsáveis pela execução, orquestração e controle das sincronizações entre PDVs e retaguardas/ERPs e vice-versa. 
  • PDVSync Client: Serviço instalado no pacote do TOTVS Varejo PDV Omni que PDV Omnishop que será responsável por fazer a comunicação entre o PDV e o PDVSync Server, conforme ilustração a seguir:






...

2. Fluxo de integração  entre o ERP e PDVSync



...


Exemplo de Fluxo de chamadas de API´s com Abertura de lote, Fechamento de Lote e Solicitação de Retorno do Status do Lote Enviado.

...

OBS: Todos Schemas e Retornos disponíveis estão no Swagger.


...

Âncora
Conceitos de ID Inquilino / ID Retaguarda / ID Proprietário
Conceitos de ID Inquilino / ID Retaguarda / ID Proprietário

3. Conceitos de ID Inquilino / ID Retaguarda / ID Proprietário

IDInquilino : OMXKpmP8hVjbqE

...

                                 



4. Domínios Microsserviços

Para o PDVSync foram definidos microsserviços independentes, levando em consideração a utilização e afinidade das informações trafegadas e armazenadas.

Os microsserviços foram divididos em:


...

Âncora
Controle
Controle

5. Controle

No MicroServiço controle, com relação a comunicação com o ERP/Retaguarda, temos as informações de Abertura e Fechamento do Lote de envio de dados e o retorno do Lote enviado, informando sucesso das informações entregues no PDVSync ou qual o erro encontrado e a estrutura de lojas na Compartilhamento, esta responsável por determinar quais lojas irão receber qual informação entregue no PDVSync.

...

Informações

O microserviço de controle está disponível na url

5.1 Compartilhamento

A API compartilhamento é de extrema importância para que o PDVSync saiba onde entregar as informações enviadas em todos as API´s, ou seja, através da composição dos dados da compartilhamento o PDVSync sabe quem é o dado enviado tem um ID Proprietário e este na compartilhamento tem quem são as lojas que devem receber as informações enviadas com um ID Proprietário.

...

Bloco de código
languagejava
themeEclipse
titlePOST ​/api​/retaguarda​/compartilhamentos
collapsetrue
{
"idRetaguarda": "a5c20fa2942342188cacabec8b9da543",
"idProprietario": "1639797f5ce64843a73711d919dad5e7",
"nomeCompartilhamento": "Master",
"nivel": 0,
"idRetaguardaPai": "",
"idRetaguardaLoja": "",
"idInquilino": "OMXKpmP8hVjbqExUN7sa"
},
{
"idRetaguarda": "998e4779609b45aa9f09ba04da1eb81e",
"idProprietario": "693325a343724ff0920fa368377ccd19",
"nomeCompartilhamento": "Central",
"nivel": 1,
"idRetaguardaPai": "a5c20fa2942342188cacabec8b9da543",
"idRetaguardaLoja": "",
"idInquilino": "OMXKpmP8hVjbqExUN7sa"
},
{
"idRetaguarda": "1e6186cbdf4345d7bdcafc862510f31d",
"idProprietario": "57348546ff964e9aa63517e829f33f6d",
"nomeCompartilhamento": "Loja 01",
"nivel": 2,
"idRetaguardaPai": "998e4779609b45aa9f09ba04da1eb81e",
"idRetaguardaLoja": "1d7556c01a604bf28dc4cb1ac4a4ae2f",
"idInquilino": "OMXKpmP8hVjbqExUN7sa"
},
{
"idRetaguarda": "91fd568a3e2748cab760b15731447abc",
"idProprietario": "06df84c10a3049ed9e359dc24d37d5a2",
"nomeCompartilhamento": "Loja 02",
"nivel": 2,
"idRetaguardaPai": "998e4779609b45aa9f09ba04da1eb81e",
"idRetaguardaLoja": "7f16bb7c5b8b4d00821af3b8de08f221",
"idInquilino": "OMXKpmP8hVjbqExUN7sa"
}


5.2 InquilinoLoteExterno

A API InquilinoLoteExterno deverá ser utilizada pela ERP/Retaguarda para iniciar, encerrar e consultar o status do processo de integração com o PDVSync. 

...

Bloco de código
languagejava
themeEclipse
titlePUT ​/api​/retaguarda​/inquilinolotesexternos​/{inquilino}​/{lote}
collapsetrue

5.4 Lote Externo Retornos - INQUILINOLOTEEXTERNO



...

Âncora
dadosBasicos
dadosBasicos

6. Dados Básicos

6.1 Loja - LOJAS

 EndPoint - /api/retaguarda/lojas - POST

...

CampoTipoTamanhoObrigatoriedadeDescrição
razaoSocialString50SimRazão social da loja.
nomeFantasiaString50SimNome fantasia da loja.
cnpjString14SimCNPJ da loja.
inscricaoEstadualString15SimInscrição Estadual da Loja
inscricaoMunicipalString15NãoInscrição Municipal da Loja
enderecoString200SimEndereço da Loja
numeroString10SimNúmero da Loja
complementoString100NãoComplemento do Endereço da Loja
bairroString150SimBairro da Loja
cidadeString150SimCidade da Loja
estadoString60SimEstado da Loja
siglaUfString2SimSigla do Estado da Loja (UF)
codigoUFIBGEString2SimCódigo da UF no IBGE
codigoMunicipioIbgeString50SimCódigo do Município do IBGE
cepString10SimCEP da Loja
telefoneString20SimTelefone da Loja
codigoIdentificacaoLojaString20SimCódigo de Identificação da Loja
modeloFiscalString1Não

Modelo Fiscal da Loja:
0 - Não Configurado
1 - SAT
2 - NFC-e
3 - MFE

A configuração do modelo fiscal da loja poderá ser realizado através do configurador do PDV

regimeTributarioString1SimEnquadramento Fiscal da Loja
0 - Simples Nacional
1 - Normal
redeString40SimDescrição da REDE no ERP/Retaguarda
numeroLojaString30SimCóidgo da Loja no ERP/Retaguarda
idInquilinoString
SimCódigo do Inquilino o qual a Loja pertence
idRetaguardaString
SimCódigo da Loja no ERP/Retaguarda
idProprietarioDateTime
SimCódigo do Proprietário da informação, no caso da Loja é o próprio ID Retaguarda
loteOrigemInteger
SimNúmero do lote que está sendo integrado, disponibilizado pelo PDV Sync ao ERP na abertura da integração
loteInteger
NãoInformação do PDV Sync, não integrado pelo ERP


6.2 Motivo

EndPoint - /api/retaguarda/motivos - POST

...

CampoTipoTamanhoObrigatoriedadeDescrição
DescriçãoString
SimDescrição do Motivo
TipoInteger
Sim

Tipo do Motivo utilizado :

AcrescimoDesconto =  0

TrocaDevolucao        = 1

CancelamentoVenda = 5

Sangria                      = 6

Suprimento               = 7

SituaçãoInteger
Sim

Situação do Motivo.

1 - Ativo

0 - Inativo

idString
NãoCampo Interno do PDVSync
idInquilinoString100SimCódigo do Inquilino o qual a Loja pertence
idRetaguardaString100SimCódigo da Loja no ERP/Retaguarda
dataAtualizacaoDateTime
NãoCampo Interno data da atualização no PDVSync
dataCadastroDateTime
NãoCampo Interno data de cadastro no PDVSync
idProprietarioString100SimCódigo do Proprietário da informação, no caso da Loja é o próprio ID Retaguarda
loteOrigemInterger
SimNúmero do lote que está sendo integrado, disponibilizado pelo PDVSync ao ERP na abertura da integração
loteInterger
NãoCampo Interno Informação do PDVSync, 

6.2 Usuário

EndPoint - /api/retaguarda/motivos - POST

...

CampoTipoTamanhoObrigatoriedadeDescrição
DescriçãoString100SimDescrição do Motivo
TipoInteger
SimTipo do Motivo utilizado
0 -
1 -
SituaçãoInteger
SimAituação do Motivo
idString
Não
idInquilinoString100SimCódigo do Inquilino o qual a Loja pertence
idRetaguardaString100SimCódigo da Loja no ERP/Retaguarda
dataAtualizacaoDateTime
NãoData da Atualização no PDVSync
dataCadastroDateTime
NãoData de Cadastro no PDVSync
idProprietarioString100SimCódigo do Proprietário da informação, no caso da Loja é o próprio ID Retaguarda
loteOrigemInterger
SimNúmero do lote que está sendo integrado, disponibilizado pelo PDV Sync ao ERP na abertura da integração
loteInterger
NãoInformação do PDV Sync, não integrado pelo ERP

Âncora
Produto
Produto

7. Produto

7.1 Produto

API com um método Post, Get, Put e Delete para o ERP possa ser enviar o cadastro de produtos no PDVSync.

...

Bloco de código
languagejava
themeEclipse
titlePOST /api/retaguarda/produtos
collapsetrue
[{
        "IdInquilino": "V3uEWOAdRCTLUJX7eedZ",
        "IdProprietario": "78965",
        "IdRetaguarda": "12356",
        "Lote": 12345698765,
        "LoteOrigem": "20210420135510963",
        "IdRetaguardaImposto": "6lnnB85sauBB3nZeGX08",
        "IdRetaguardaNcm": "7nnnB85sauBB3nZeGX08",
        "IdRetaguardaPisCofins": "8unnB85sauBB3nZeGX08",
        "Descricao": "Produto 12222 Completo",
        "UnidadeMedida": "UN",
        "DescontoMaximo": 10,
        "TipoArredondaTrunca": "01",
        "CodigoProduto": "56987",
        "CodigoAlternativo": "56987",
        "OrigemProduto": "0",
        "Situacao": 1,
        "Imagem": "alksjdkjaskdjalskdjaisudoi23u4o2i34534h563kj5464k5jh61l2k42l3542m34h5k3jg465k34jh5453j4h5k3j4h5k3j4h545l34jh54l63k4jh6l3k4jh536l34u54y63i4u54y63k4j5h6l34jh6i34u54y6893745yt3489u5ht93458jt9304u5t3904j58t9034j58t9034u5t",
        "TipoProduto": 1,
        "Fracionado": true,
        "CnpjFornecedor": "25362415680001",
        "EscalaRelevante": true,
        "ValorBaseFcp": 0,
        "CodigoBeneficioFiscal": "AB",
        "PercentualFcp": 1,
        "CstIcms": "CST",
        "PercentualReducaoIcms": 1,
        "AliquotaIcms": 1,
        "Vlicmsret": 1,
        "MotivoDesoneracaoIcms": 1,
        "DescontaDesoneracaoNf": false,
        "Cest": "Cest",
        "produtoKits": [{
                "Id": "6lnnB85sauBB3nZeGX08",
                "IdInquilino": "V3uEWOAdRCTLUJX7eedZ",
                "IdRetaguarda": "78965",
                "IdProprietario": "78965",
                "Lote": 12345698765,
                "LoteOrigem": "20210420135510963",
                "IdRetaguardaProduto": "132216354",
                "IdRetaguardaProdutoKit": "1234558",
                "Descricao": "Kit Teste 01",
                "QuantidadeVendaKit": 10,
                "TipoValorKit": 1,
                "Situacao": 1,
                "ValorDesconto": 1,
                "NovoValorUnitario": 58
            }, {
                "Id": "6lnnB85sauBB3nZeGX08",
                "IdInquilino": "V3uEWOAdRCTLUJX7eedZ",
                "IdRetaguarda": "78965",
                "IdProprietario": "78965",
                "Lote": 12345698765,
                "LoteOrigem": "20210420135510963",
                "IdRetaguardaProduto": "132216354",
                "IdRetaguardaProdutoKit": "1234558",
                "Descricao": "Kit Teste 01",
                "QuantidadeVendaKit": 10,
                "TipoValorKit": 1,
                "Situacao": 1,
                "ValorDesconto": 1,
                "NovoValorUnitario": 58
            }, {
                "Id": "6lnnB85sauBB3nZeGX08",
                "IdInquilino": "V3uEWOAdRCTLUJX7eedZ",
                "IdRetaguarda": "78965",
                "IdProprietario": "78965",
                "Lote": 12345698765,
                "LoteOrigem": "20210420135510963",
                "IdRetaguardaProduto": "132216354",
                "IdRetaguardaProdutoKit": "1234558",
                "Descricao": "Kit Teste 01",
                "QuantidadeVendaKit": 10,
                "TipoValorKit": 1,
                "Situacao": 1,
                "ValorDesconto": 1,
                "NovoValorUnitario": 58
            }
        ],
        "produtosSimilares": [{
                "Id": "6lnnB85sauBB3nZeGX08",
                "IdInquilino": "V3uEWOAdRCTLUJX7eedZ",
                "IdRetaguarda": "78965",
                "IdProprietario": "78965",
                "Lote": 12345698765,
                "LoteOrigem": "20210420135510963",
                "IdRetaguardaProduto": "132216354",
                "Situacao": 1,
                "IdRetaguardaSimilar": "1234558"
            }, {
                "Id": "6lnnB85sauBB3nZeGX08",
                "IdInquilino": "V3uEWOAdRCTLUJX7eedZ",
                "IdRetaguarda": "78965",
                "IdProprietario": "78965",
                "Lote": 12345698765,
                "LoteOrigem": "20210420135510963",
                "IdRetaguardaProduto": "132216354",
                "Situacao": 1,
                "IdRetaguardaSimilar": "1234558"
            }
        ],
        "ProdutosSugestoes": [{
                "Id": "6lnnB85sauBB3nZeGX08",
                "IdInquilino": "V3uEWOAdRCTLUJX7eedZ",
                "IdRetaguarda": "78965",
                "IdProprietario": "78965",
                "Lote": 12345698765,
                "LoteOrigem": "20210420135510963",
                "IdRetaguardaProduto": "132216354",
                "Situacao": 1,
                "IdRetaguardaSugestao": "1234558"
            }, {
                "Id": "6lnnB85sauBB3nZeGX08",
                "IdInquilino": "V3uEWOAdRCTLUJX7eedZ",
                "IdRetaguarda": "78965",
                "IdProprietario": "78965",
                "Lote": 12345698765,
                "LoteOrigem": "20210420135510963",
                "IdRetaguardaProduto": "132216354",
                "Situacao": 1,
                "IdRetaguardaSugestao": "1234558"
            }
        ],
        "codigosProduto": [{
                "codigo": "56987",
                "descricao": "CodigoProduto",
                "idRetaguarda": "av25e1d2a3de2df1",
                "dataAtualizacao": "2021-05-11T14:22:18.816Z",
                "dataCadastro": "2021-05-11T14:22:18.816Z",
                "situacao": "1"
            }, {
                "codigo": "7892509156987",
                "descricao": "CódigoBarras",
                "idRetaguarda": "12faserytgf123sdfg",
                "dataAtualizacao": "2021-05-11T14:22:18.816Z",
                "dataCadastro": "2021-05-11T14:22:18.816Z",
                "situacao": "1"
            }
        ]
    }
]


7.2 Classificacoesproduto


Âncora
Preco
Preco

8. Preço


Âncora
FormaPagamento
FormaPagamento

9. Formas de Pagamentos


Âncora
Cliente
Cliente

10. Clientes

Âncora
estoque
estoque

11. Estoque

Âncora
imposto
imposto

12. Impostos

12.1 FCP Produto

12.2 Imposto

12.3 NCM

12.4 Tributo NCM

12.5 PIS/Cofins


13. Comercial 

13.1 Promoção SMS

13.2 Campanhas Promocionais 

13.3 Metas 


14. Fila Sync para o ERP

15. Dados Síncronos

16. Pré-requisitos

Pre-Requisitos para instalação do Client:

  • PDVSync OmniShop instalado.
  • Configuração de variáveis de ambiente DOTNET_ENVIRONMENT e ASPNETCORE_ENVIRONMENT. Elas servem :
    • Função para definir qual é o ambiente
    para
    • o
    qual o
    • Client irá apontar (Produção = Production, Homologação = Quality, ou Desenvolvimento = Development):
      •  DOTNET_ENVIRONMENT
      • ASPNETCORE_ENVIRONMENT
    • Definição das credenciais necessárias para gravar o log centralizado:
      •  LOGCENTRAL_LOGIN
      •  LOGCENTRAL_SENHA
      • LOGCENTRAL_URL
  • Node.Js -
    • Fazer o download do instalador do Node.Js em https://nodejs.org/en/download/.
    • Instalar a versão 16.0 ou superior. Seguir os passos da instalação até a conclusão.
  • .NET -
  • Conhecimento básico da ferramenta do Postman.
  • Solicitar para o suporte do Winthor via ticket:
    • Credenciais para viabilizar as criações dos dados iniciais do PDVSync. Conforme template:
      • Nome do cliente
      • CNPJ
      • E-mail administrativo para cadastro do tenant
    • Serviços clients do PDVSync para a instalação na maquina do PDV.

17. Instalação/Configuração

 Este documento tem por objetivo orientar a instalação e configuração do PDVSync. Esse processo deve ser realizado em dois ambientes Server e Client:

  • Server

Onde deverá conter as informações de loja, inquilino, parâmetros, etc.

Para realizar as configurações para a utilização do PDV Sync no PDV Omnishop, é necessário realizar os cadastros abaixo através das APIs de Parâmetros.

O passo a passo do Postman se encontra no Google Drive no caminho: https://drive.google.com/drive/folders/1KriEZNs0ofg2uBF8u3TLniozko3IA063 (IMPORTANTE: caso não tenha acesso a esse diretório, solicitar o acesso ao time de Integração)

Lá se encontra o arquivo com as Collections montadas para a configuração e as variáveis para a utilização da criação de parâmetros.

1º - Criação do Inquilino

Para a criação do inquilino, utilizar o request 01. Criar Inquilino, informar os valores de acordo com as informações do cliente, realizar a autenticação e em seguida realizar o POST.

Image Removed

Após a criação, utilizar o valor do campo IdInquilino na variável para a configuração dos próximos passos.

Image Removed

2º - Criação dos Parâmetros Controle

Para a criação dos parâmetros do controle, basta apenas realizar a autenticação e realizar o POST.

Image Removed

3º - Criação dos Parâmetros Comercial

Para a criação dos parâmetros comerciais, basta apenas realizar a autenticação e realizar o POST.

Image Removed

4º -  Criação do Parâmetro para a subida de Clientes

Para a criação do parâmetro de subida de cliente, basta apenas realizar a autenticação e realizar o POST.

Image Removed

Obs.: Para realizar esses procedimentos nos ambientes de desenvolvimento e homologação, seguir os mesmos passos acima, mas utilizar sua respectiva pasta (Passo a Passo - Homologação e Passo a Passo - Desenvolvimento).

Os passos a seguir já estão contemplados nos passos descritos anteriormente. Seguir a partir do passo 3 e ignorar o passo 9.

1° - Criação Inquilino

O inquilino é criado pela equipe do PDVSync pelo email: [email protected], com as seguintes informações:

  • Nome Fantasia da Empresa
  • CNPJ da Empresa

Será retornado o IdInquilino e o token authorization para inclusão no pdvsync e nas api's dos passos seguintes.

2º - Cadastrar os parâmetros, conforme exemplo:

Incluir Authorization OAuth2.0 conforme retornado no email.

endpoint: https://pdvsync.varejo.totvs.com.br/controle/api/pdvsyncserver/parametros

Post

[{
    "idInquilino": "IdDoInquilino01-01", /*O código do IdInquilino conforme retornado no email.*/
    "tipoProcesso": 1,/* OnLine = 0, Descida = 1, Subida = 2*/
    "quantidadeRegistros": 1000,
    "tempoChamada": 2000,
    "tempoExpurgoLogs": 365,
    "tipoDado": {
      "codigoTipo": 1,
      "descricaoTipo": "Loja",
      "tipoUtilizador": 0,/*ClienteDown = 0, Server = 1, ClienteUp = 2, ClienteOnLine = 3 */
      "tipoProcesso": 0 /*Criacao = 0, Atualizacao = 1, Interno = 2*/
    }
  }]

Lista de Parâmetros:

 

Cadastrados e configurados corretamente para realizar a troca de informações com o Client, segue abaixo os passos para configuração do ambiente no Server:

1° - Criação Inquilino

O inquilino é criado pela equipe do PDVSync pelo email: [email protected], com as seguintes informações:

  • Nome Fantasia da Empresa
  • CNPJ da Empresa

Será retornado o IdInquilino e o token authorization para inclusão no pdvsync e nas api's dos passos seguintes.


2º - Cadastrar os parâmetros, conforme exemplo:

Incluir Authorization OAuth2.0 conforme retornado no email.

endpoint: https://pdvsync.varejo.totvs.com.br/controle/api/pdvsyncserver/parametros

Post

[{
    "idInquilino": "IdDoInquilino01-01", /*O código do IdInquilino conforme retornado no email.*/
    "tipoProcesso": 1,/* OnLine = 0, Descida = 1, Subida = 2*/
    "quantidadeRegistros": 1000,
    "tempoChamada": 2000,
    "tempoExpurgoLogs": 365,
    "tipoDado": {
      "codigoTipo": 1,
      "descricaoTipo": "Loja",
      "tipoUtilizador": 0,/*ClienteDown = 0, Server = 1, ClienteUp = 2, ClienteOnLine = 3 */
      "tipoProcesso": 0 /*Criacao = 0, Atualizacao = 1, Interno = 2*/
    }
  }]


Lista de Parâmetros:

 

codigoTipo

codigoTipo

descricaoTipo

tipoProcesso

0ClienteDown
1LojaDown
2MotivoDown
3PerfilDown
4UsuarioDown
6CompartilhamentoDown
7ImpostoDown
8NcmDown
9PisCofinsDown
12ProdutoDown
13PrecoDown
14EstoqueDown
15OperadoraDown
16DadoComplementarDown
17CondicaoPagtoDown
18FormaPagtoDown
19VendaUp
20CaixaUp
22TrocaUp
23VendaCustodiaXmlUp
25ClienteUp
26PreVendaUp
54AlteracaoEstoqueDown
55PreVendaDown

 

3º - Abrir Lote com Parâmetro 01 - Loja

...

URL: https://pdvsync.varejo.totvs.com.br/comercial/api/pdvsyncserver/parametros

Post

/pdvsyncserver/parametros

Post

[[
  {
    "idInquilino": "", /*Gerado no passo 01*/
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 1,
    "tipo": 1,
    "valor": "10"
  },
  {
    "idInquilino": "",   /*Gerado no passo 01*/
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 21,
    "tipo": 21,
    "valor": "10"
  },
  {
    "idInquilino": "",  /*Gerado no passo 01*/
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 32,
    "tipo": 32,
    "valor": "10"
  },
  {
    "idInquilino": "",  /*Gerado no passo 01*/
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 43,
    "tipo": 43,
    "valor": "10"
  },
  {
    "idInquilino": "",  /*Gerado no passo 01*/
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 5,
    "tipo": 0,
    "valor": "https://pdvsync-core-fila-prd-q6yz66olca-rj.a.run.app/api/stub/historicovenda"
  }

]

10º Baixar Serviços Clients

...

  •  API – Responsável pela comunicação entre o PDV e os Serviços de UP e Down.
  • Controle – Responsável por informar aos Serviços de DOWN que existe informações novas para serem baixadas no PDV.
  • Up – Serviço responsável pela subida de informações do PDV para o Server.
  • Down – Serviço responsável pela baixa de informações do Server para o PDV.

    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 4,
    "tipo": 4,
    "valor": "10"
  },
  {
    "idInquilino": "",  /*Gerado no passo 01*/
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 5,
    "tipo": 0,
    "valor": "https://pdvsync-core-fila-prd-q6yz66olca-rj.a.run.app/api/stub/historicovenda"
  }

]

10º Baixar Serviços Clients

  •  Processoresponsável pela leitura dessas informações cadastradas no server e fará a troca das informações entre o PDV e o Server. Ele é dividido basicamente em 4 serviços que devem ser instalados no PDV:
    •  API – Responsável pela comunicação entre o PDV e os Serviços de UP e Down.
    • Controle – Responsável por informar aos Serviços de DOWN que existe informações novas para serem baixadas no PDV.
    • Up – Serviço responsável pela subida de informações do PDV para o Server.
    • Down – Serviço responsável pela baixa de informações do Server para o PDV.

 Instalação dos Serviços UP, DOWN, CONTROLE e API:

  • Criar a pasta C:\PDVSync e executar a instalação dos serviços disponibilizados pelo time do suporte.
  • Acessar a pasta C:\PDVSync descompactar o arquivo baixado acima e executar o arquivo "servicos.bat" como Administrador.
  • Após os passos acima os serviços PDVSync.Client.Api.WebApi, PDVSync.Client.Servico.Up, PDVSync.Client.Servico.Down e PDVSync.Client.Servico.Controle serão instalados e iniciados.

  Desinstalação dos Serviços UP, DOWN, CONTROLE e API:

  •  Para desinstalar os serviços acima basta acessar a pasta C:\PDVSync executar o arquivo “servicos-delete.bat”.

18. Documentação APIs

18.1. Configuração do PDV Sync Server para a loja via Postman

Para realizar as configurações para a utilização do PDV Sync no PDV Omnishop, é necessário realizar os cadastros abaixo através das APIs de Parâmetros.

O passo a passo do Postman se encontra no Google Drive no caminho: https://drive.google.com/drive/folders/1KriEZNs0ofg2uBF8u3TLniozko3IA063

Lá se encontra o arquivo com as Collections montadas para a configuração e com as variáveis para a utilização da criação de parâmetros.

1º - Criação do Inquilino

Para a criação do inquilino, utilizar o request 01. Criar Inquilino, informar os valores de acordo com as informações do cliente, realizar a autenticação e em seguida realizar o POST.

Image Added

Após a criação, utilizar o valor do campo IdInquilino na variável para a configuração dos próximos passos.

Image Added

2º - Criação dos Parâmetros Controle

Para a criação dos parâmetros do controle, basta apenas realizar a autenticação e realizar o POST.

Image Added

3º - Criação dos Parâmetros Comercial

Para a criação dos parâmetros comerciais, basta apenas realizar a autenticação e realizar o POST.

Image Added

4º -  Criação do Parâmetro para a subida de Clientes

Para a criação do parâmetro de subida de cliente, basta apenas realizar a autenticação e realizar o POST.

Image Added


Obs.: Para realizar esses procedimentos nos ambientes de desenvolvimento e homologação, seguir os mesmos passos acima, mas utilizar sua respectiva pasta (Passo a Passo - Homologação e Passo a Passo - Desenvolvimento)

 Instalação dos Serviços UP, DOWN, CONTROLE e API:

  • Criar a pasta C:\PDVSync e executar a instalação dos serviços disponibilizados pelo time do suporte.
  • Acessar a pasta C:\PDVSync descompactar o arquivo baixado acima e executar o arquivo "servicos.bat" como Administrador.
  • Após os passos acima os serviços PDVSync.Client.Api.WebApi, PDVSync.Client.Servico.Up, PDVSync.Client.Servico.Down e PDVSync.Client.Servico.Controle serão instalados e iniciados.

  Desinstalação dos Serviços UP, DOWN, CONTROLE e API:

  •  Para desinstalar os serviços acima basta acessar a pasta C:\PDVSync executar o arquivo “servicos-delete.bat”.

18. Documentação APIs

19. Criação dos Jobs para Expurgo das tabelas log_pdvsync e histórico_integracao do PDV Omnishop

1º - Pré-requisito

Alterar o arquivo pg_hba.conf localizado no diretório C:\Program Files\PostgreSQL\15\data para que o Agendador de Tarefas tenha acesso a realizar os comandos na máquina local.

Alterar as linhas selecionadas abaixo para “trust

Image Removed

2º - Criação da tarefa para o expurgo da tabela log_pdvsync

Abrir o Agendador de Tarefas do Windows

Image Removed

Abrir a ramificação Biblioteca do Agendador de Tarefas e criar uma nova pasta com o nome “PDV Omnishop”

Image Removed

Image Removed

Image Removed

Dentro da pasta PDV Omnishop criar uma nova tarefa básica para o expurgo da tabela log_pdvsync

Image Removed

Image Removed

No disparador manter como diariamente

Image Removed

No campo de data e hora, colocar a data atual e no horário informar as 00:00:00. E para repetir, colocar a cada 1 dia.

Image Removed

Ação executada deixar a primeira opção “Iniciar um programa”

Image Removed

No próximo passo selecionar o programa psql.exe localizado no diretório C:\Program Files\PostgreSQL\15\bin

E no campo Adicione Argumentos, informar o seguinte texto:

-U postgres -d TotvsPDV -w -c "delete from log_pdvsync lp where date_part('day', now() - lp.data_criacao) > 7"

Image Removed

Image Removed

Concluir o agendamento e pronto. O agendador de tarefas vai rodar o expurgo todo dia no horário planejado. Mas antes deve se configurar o usuário de execução. Na tarefa agendada ir em Propriedades

Image Removed

Image Removed

Na Opções de segurança, selecionar a opção “Executar estando o usuário conectado ou não”

Image Removed

Clique em Ok, e caso ele peça a senha do usuário, informar a senha do usuário logado no Windows.

Importante: recomendado deixar a máquina ligada para que a tarefa seja executada.

3º - Criação da tarefa para o expurgo da tabela histórico_integracao

Com o Agendador de Tarefas abertos no passo anterior, dentro da pasta PDV Omnishop, criar uma nova tarefa básica

Image Removed

Criar uma nova Tarefa Básica

Image Removed

Manter o disparador como “Diariamente”

Image Removed

No campo de data e hora, colocar a data atual e no horário informar as 00:00:00. E para repetir, colocar a cada 1 dia.

Image Removed

Ação executada deixar a primeira opção “Iniciar um programa”

Image Removed

No próximo passo selecionar o programa psql.exe localizado no diretório C:\Program Files\PostgreSQL\15\bin

E no campo Adicione Argumentos, informar o seguinte texto:

-U postgres -d TotvsPDV -w -c "delete from historico_integracao hi where date_part('day', now() - hi.data_atualizacao) > 7"

Image Removed

Image Removed

Concluir o agendamento e pronto. O agendador de tarefas vai rodar o expurgo todo dia no horário planejado. Mas antes deve se configurar o usuário de execução. Na tarefa agendada ir em Propriedades

Image Removed

Na Opções de segurança, selecionar a opção “Executar estando o usuário conectado ou não”

Image Removed

Clique em Ok, e caso ele peça a senha do usuário, informar a senha do usuário logado no Windows.

Importante: recomendado deixar a máquina ligada para que a tarefa seja executada.