Índice
Índice
O PDVSync é a camada responsável por orquestrar as operações de sincronização de dados entre o TOTVS Varejo PDV Omni e as suas respectivas retaguardas/ERPs.
Toda comunicação entre a retaguarda/ERP e o TOTVS Varejo PDV Omni será executada e orquestrada pelo PDVSync.
O PDVSync é composto por dois componentes principais:
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.
...
IDInquilino : OMXKpmP8hVjbqE
Código que identifica toda uma estrutura de Redes, Franquias, Centrais, Lojas e todos os dados enviados e recebidos no PDVSync dentro do ambiente SaaS.
Hoje este código é fornecido pela equipe de produto no início dos trabalhos para se conectar com o PDVSync.
IDRetaguarda :
Código que identifica todas as informações enviadas para a PDVSync, em todas as entidades seus registros possuem um IDRetaguarda no ERP/Retaguarda.
Este código é de controle do ERP/Retaguarda e deve ser único para um registro de informação (tabela) de um IDInquilino. O ID Retaguarda é o código comum entre o ERP/Retaguarda e o PDVSync, todas os registros tem a informação de ID Retaguarda.
Exemplos:
Produto, o ID Retaguarda identifica o produto no ERP/Retaguarda.
Cliente, o ID Retaguarda identifica o cliente no ERP/Retaguarda.
Loja, o ID Retaguarda identifica a loja no ERP/Retaguarda.
IDProprietário :
Código que identifica o proprietário da informação enviada para PDVSync.
Este código determina na estrutura da “Compartilhamento”, todas as lojas abaixo do ID Proprietário que deverão receber os dados enviados para o PDVSync.
Exemplo (01) de uma Estrutura de Rede ou Franquia com Centrais e Lojas.
No exemplo abaixo temos uma estrutura com o ID Inquilino = OAKLMImP8hVjbqE e com ID Retaguarda da (loja, central ou rede) e ID Proprietário sendo o mesmo código para o conjunto de lojas e Rede e centrais e seus próprios nomes são os códigos e lembrando que podem ser qualquer informação do ERP/Retaguarda (nome, código, CNPJ).
Lembrando que o ID Retaguarda é determinado pelo ERP/Retaguarda e tem que ser único para uma loja, central e Rede/Franqueadora dentro da estrutura utilizada em um ID Inquilino.
Exemplo (02) de uma Estrutura de Rede ou Franquia com Lojas.
No exemplo abaixo temos uma estrutura com o ID Inquilino = OAKLMImP8hVjbqE e o ID Retaguarda da (loja, central ou rede)do conjunto de lojas e Rede são seus próprios nomes e podem ser qualquer informação do ERP/Retaguarda (nome, código, CNPJ).
Lembrando que o ID Retaguarda é determinado pelo ERP/Retaguarda e tem que ser único para uma loja, central e Rede/Franqueadora dentro da estrutura utilizada em um ID Inquilino.
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:
...
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.
Abaixo temos mais informações sobre cada EndPoint utilizado na comunicação com o ERP/Retaguarda.
Informações |
---|
O microserviço de controle está disponível na url |
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.
Segue um exemplo da compartilhamento para a estrutura abaixo.
Exemplo de uma Estrutura e compartilhamento onde temos um ID Proprietário que não pertence a estrutura de lojas, centrais e Rede, o qual é chamado de "Região Interior" e esta região interior é composta pelas lojas (02, 03 e 04). Este tipo de agrupamento na compartilhamento pode ser usado de forma negocial onde pode-se ter uma Cidade, UF, Região, Lojas de Rua, Lojas de Shopping e etc. Com esta estrutura lógica, o ERP/Retaguarda pode enviar configurações para a compartilhamento que venha atender o envio de dados para os agrupamentos de Lojas.
...
Código que identifica o proprietário da informação enviada para PDVSync.
Este código determina na estrutura da “Compartilhamento”, todas as lojas abaixo do ID Proprietário que deverão receber os dados enviados para o PDVSync.
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"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"
} |
A API InquilinoLoteExterno deverá ser utilizada pela ERP/Retaguarda para iniciar, encerrar e consultar o status do processo de integração com o PDVSync.
O ERP/Retaguarda poderá ter em aberto apenas um lote por inquilino, caso tenha a necessidade de iniciar uma nova integração é necessário encerrar o lote aberto para solicitar uma nova integração.
ABERTURA → EndPoint - /api/retaguarda/inquilinolotesexternos - POST
Para que a integração seja realizada o ERP/Retaguarda deverá solicitar um lote para o PDVSyn, onde deverá informar o inquilino e quais tipos de dados serão integrados.
Parâmetros de entrada:
...
Para iniciar a integração é necessário que o ERP/Retaguarda envie o status:
0 - InicioEnvio
...
Tipo da informação que será integrada com o PdvSync, sendo:
0- Cliente
1-Loja
2-Motivo
3-Usuario
4-Estoque
5-FcpProduto
6-Compartilhamento
7-Imposto
8-Ncm
9-PisCofin
10-TributoNcm
11-Preco
12-ClassificacaoProduto
13-Produto
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"status": "InicioEnvio",
"tipoLote": [1,6],
"idInquilino": "QRXBxobJ11Yr5H93h5ON"
} |
Parâmetros de saída:
...
FECHAMENTO → EndPoint - /api/retaguarda/inquilinolotesexternos/{idInquilino}/{lote} - PUT
Esta API é responsável por avisar o PDVSync que o envio das informações foi concluída, para que inicie o processo de validação e envio para as Lojas.
Detalhes sobre a API estão no MicroServiço https://pdvsync-core-controle-dev-aadivv24nq-ue.a.run.app/swagger/index.html , Módulo INQUILINOLOTEEXTERNO
...
language | java |
---|---|
theme | Eclipse |
title | PUT /api/retaguarda/inquilinolotesexternos/{inquilino}/{lote} |
collapse | true |
...
EndPoint - /api/retaguarda/lojas - POST
Esta API tem como objetivo o cadastro das lojas que estarão operando com o PDV Omni e utilizarão o PDVSync para integração.
Detalhes sobre a API estão no MicroServiço https://pdvsync-core-dadosbasicos-dev-aadivv24nq-ue.a.run.app/swagger/index.html, Módulo LOJA
...
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
...
EndPoint - /api/retaguarda/motivos - POST
Esta API tem como objetivo o cadastro de motivos (Motivo de Desconto/Acréscimo, Motivo de Cancelamento, Motivo Devolução/Troca, Motivo de Suprimento e Motivo de Sangria) nas lojas que estarão operando com o PDV Omni e utilizarão o PDVSync para integração.
O PDV Omni não exige o tipo do Motivo para as operações, caso não exista o tipo com seus motivos o PDV Omni não solicitará a informação.
Detalhes sobre a API estão no MicroServiço https://pdvsync-core-dadosbasicos-dev-aadivv24nq-ue.a.run.app/swagger/index.html, Módulo MOTIVO
...
Tipo do Motivo utilizado :
AcrescimoDesconto = 0
TrocaDevolucao = 1
CancelamentoVenda = 5
Sangria = 6
Suprimento = 7
...
Situação do Motivo.
1 - Ativo
0 - Inativo
...
EndPoint - /api/retaguarda/motivos - POST
Esta API tem como objetivo o cadastro de motivos (Desconto, Cancelamento) nas lojas que estarão operando com o PDV Omni e utilizarão o PDVSync para integração.
Detalhes sobre a API estão no MicroServiço https://pdvsync-core-dadosbasicos-dev-aadivv24nq-ue.a.run.app/swagger/index.html, Módulo MOTIVO
...
API com um método Post, Get, Put e Delete para o ERP possa ser enviar o cadastro de produtos no PDVSync.
Parâmetros de entrada:
...
Exemplo de chamada POST:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
[{
"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"
}
]
}
]
|
...
...
...
...
...
Pre-Requisitos para instalação do Client:
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 Omni, é 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.
Após a criação, utilizar o valor do campo IdInquilino na variável para a configuração dos próximos passos.
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.
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.
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.
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:
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
...
descricaoTipo
...
tipoProcesso
...
3º - Abrir Lote com Parâmetro 01 - Loja
Incluir Authorization OAuth2.0 conforme retornado no email.
endpoint: https://pdvsync.varejo.totvs.com.br/controle/api/retaguarda/inquilinolotesexternos
...
Response:
{
"success": true,
"message": "",
"data": {
"loteOrigem": "20221004175001554",
"mensagem": null,
"status": 0,
"tipoLote": [
6
],
"id": "DLoi3SX5HDoPOcDlyf0m",
"idInquilino": "",
"dataAtualizacao": "2022-10-04T17:50:01.6441804Z",
"dataCadastro": "2022-10-04T17:50:01.6442468Z",
"_expandables": []
}
}
4º - Cadastro de uma Loja
**Os dados de cadastros devem ser enviados nas propriedades do json abaixo.
endpoint: https://pdvsync-core-dadosbasicos-prd-q6yz66olca-rj.a.run.app/api/retaguarda/lojas
Post
[
{
"razaoSocial": " ",
"nomeFantasia": " ",
"cnpj": " ", /*obrigatório e valido - 14 caracteres*/
"inscricaoEstadual": " ", /*obrigatório - 2 e 14 caracteres*/
"inscricaoMunicipal": " ", /*obrigatório - até 15 caracteres*/
"endereco": " ",
"numero": " ",
"complemento": " ",
"bairro": " ",
"cidade": " ",
"estado": " ",
"siglaUf": " ",
"codigoUFIBGE": " ", /*obrigatório - 2 caracteres*/
"codigoMunicipioIbge": " ", /*obrigatório - 7 caracteres*/
"cep": "", /*obrigatorio*/
"telefone": "", /*obrigatório - 6 e 14 caracteres*/
"codigoIdentificacaoLoja": "",
"modeloFiscal": 0,
"regimeTributario": 1,
"rede": "", /*obrigatório*/
"numeroLoja": "0",
"idRetaguardaRede": "",
"codigoMaster": " ",
"nomeMaster": " ",
"situacao": 1,
"idInquilino": " ", /*Gerado no passo 1*/
"idRetaguarda": "3 ", /*código da loja na retaguarda*/
"idProprietario": " ", /*compartilhamento da loja*/
"loteOrigem": " " /*Gerado no passo 3*/
}
]
5º - Fechar lote de loja
endpoint: https://pdvsync-core-controle-prd-q6yz66olca-rj.a.run.app/api/retaguarda/inquilinolotesexternos/{idInquilino}/{loteOrigem}
metodo: PUT
{idInquilino} - Gerado no passo 01
{loteOrigem} - Gerado no passo 03
6º - Abrir Lote com Parâmetro 06 - Compartilhamento
Incluir Authorization OAuth2.0 conforme retornado no email.
endpoint: https://pdvsync.varejo.totvs.com.br/controle/api/retaguarda/inquilinolotesexternos
...
Response:
{
"success": true,
"message": "",
"data": {
"loteOrigem": "20221004175001554",
"mensagem": null,
"status": 0,
"tipoLote": [
6
],
"id": "DLoi3SX5HDoPOcDlyf0m",
"idInquilino": "",
"dataAtualizacao": "2022-10-04T17:50:01.6441804Z",
"dataCadastro": "2022-10-04T17:50:01.6442468Z",
"_expandables": []
}
}
7º - Criar Compartilhamento
endpoint: https://pdvsync-core-controle-prd-q6yz66olca-rj.a.run.app/api/retaguarda/compartilhamentos
Post
[
{
"IdRetaguardaLoja": "",
"IdRetaguarda": "32796d0b-8399-490e-b972-1db212c514fa",
"IdProprietario": "32796d0b-8399-490e-b972-1db212c514fa",
"IdInquilino": "",
"NomeCompartilhamento": "PDV Master",
"Nivel": 0,
"IdRetaguardaPai": "",
"loteOrigem": "20221004175001554"
},
{
"IdRetaguardaLoja": "3f054f05-ee67-407b-935d-9db0fc5e7c58",
"IdRetaguarda": "3f054f05-ee67-407b-935d-9db0fc5e7c58",
"IdProprietario": "3f054f05-ee67-407b-935d-9db0fc5e7c58",
"IdInquilino": "",
"NomeCompartilhamento": "PDV Loja",
"Nivel": 1,
"IdRetaguardaPai": "",
"loteOrigem": "20221004175001554"
}
]
...
{
"success": true,
"message": "compartilhamento inserido com sucesso: [{\"IdRetaguarda\":\"32796d0b-8399-490e-b972-1db212c514fa\",\"IdProprietario\":\"32796d0b-8399-490e-b972-1db212c514fa\",\"NomeCompartilhamento\":\"PDV Master\",\"Nivel\":0,\"IdRetaguardaPai\":\"\",\"LoteOrigem\":\"20221004175001554\",\"Lote\":null,\"IdRetaguardaLoja\":\"\",\"Id\":null,\"IdInquilino\":\"\",\"DataAtualizacao\":\"0001-01-01T00:00:00\",\"DataCadastro\":\"0001-01-01T00:00:00\",\"_expandables\":[]},{\"IdRetaguarda\":\"3f054f05-ee67-407b-935d-9db0fc5e7c58\",\"IdProprietario\":\"3f054f05-ee67-407b-935d-9db0fc5e7c58\",\"NomeCompartilhamento\":\"PDV Loja\",\"Nivel\":1,\"IdRetaguardaPai\":\"32796d0b-8399-490e-b972-1db212c514fa\",\"LoteOrigem\":\"20221004175001554\",\"Lote\":null,\"IdRetaguardaLoja\":\"3f054f05-ee67-407b-935d-9db0fc5e7c58\",\"Id\":null,\"IdInquilino\":\"\",\"DataAtualizacao\":\"0001-01-01T00:00:00\",\"DataCadastro\":\"0001-01-01T00:00:00\",\"_expandables\":[]}].",
"data": null
}
8º - Fechar o Lote
endpoint: https://pdvsync-core-controle-prd-q6yz66olca-rj.a.run.app/api/retaguarda/inquilinolotesexternos/{idInquilino}/{loteOrigem}
metodo: PUT
{idInquilino} - Gerado no passo 01
{loteOrigem} Gerado no passo anterior
9º - Cadastrar os parâmetros comerciais para a consulta de operações de vendas e caixa
URL: https://pdvsync.varejo.totvs.com.br/comercial/api/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": 2,
"tipo": 2,
"valor": "10"
},
{
"idInquilino": "", /*Gerado no passo 01*/
"dataAtualizacao": "2022-10-07T18:59:54.530Z",
"dataCadastro": "2022-10-07T18:59:54.530Z",
"codigo": 3,
"tipo": 3,
"valor": "10"
},
{
"idInquilino": "", /*Gerado no passo 01*/
"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
...
Instalação dos Serviços UP, DOWN, CONTROLE e API:
Desinstalação dos Serviços UP, DOWN, CONTROLE e API:
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”
2º - Criação da tarefa para o expurgo da tabela log_pdvsync
Abrir o Agendador de Tarefas do Windows
Abrir a ramificação Biblioteca do Agendador de Tarefas e criar uma nova pasta com o nome “PDV Omni”
Dentro da pasta PDV Omni criar uma nova tarefa básica para o expurgo da tabela log_pdvsync
No disparador manter como diariamente
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.
Ação executada deixar a primeira opção “Iniciar um programa”
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"
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
Na Opções de segurança, selecionar a opção “Executar estando o usuário conectado ou não”
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 Omni, criar uma nova tarefa básica
Criar uma nova Tarefa Básica
Manter o disparador como “Diariamente”
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.
Ação executada deixar a primeira opção “Iniciar um programa”
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"
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
Na Opções de segurança, selecionar a opção “Executar estando o usuário conectado ou não”
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.