Árvore de páginas

Versões comparadas

Chave

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

...

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 time de produto do PDVSync as credenciais suporte 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

...

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

Cadastrados 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 normalmente no início de um contrato com uma retaguarda através da API de controle conforme exemplo abaixo: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.

endpointURL: https://pdvsync-core-controle-qa-aadivv24nq-ue.a.run.app.varejo.totvs.com.br/controle/api/pdvsyncserver/inquilinosparametros

Post

[{
    "idIdentificacaoExternaidInquilino": " ", → Identificação do inquilino>IdDoInquilino01-01", /*O código do IdInquilino conforme retornado no email.*/
    "nometipoProcesso": " ", → <Nome do inquilino>1,/* OnLine = 0, Descida = 1, Subida = 2*/
    "situacaoquantidadeRegistros": " ", → Podem seguir os seguintes status "Inativo(0)", "Ativo(1)", "Pendente(2)"
    "envioDadoTipo": "0", → tipo de envio do dado para a retaguarda em caso de retornos
    "envioDado": "", → dependendo do tipo de envio preencher a informação relevante.
    "connectionString": "", → está relacionado com a informação anterior.
    "lote": "0" → não utilizado ainda, utilizar 0 por enquanto.
}

 

O código do IdInquilino é fornecido automaticamente pelo Totvs RAC após o envio do serviço.

...

{
    "success": true,
    "message": "",
    "data": {
        "idIdentificacaoExterna": "Tupan",
        "nome": "Tupan",
        "situacao": 1,
        "envioDadoTipo": 0,
        "envioDado": "",
        "connectionString": "",
        "clientId": null,
        "clientSecret": null,
        "usuario": null,
        "senha": null,
        "tokenUrl": null,
        "id": "4rlMuI3YwrWO8NKtvE8V", → código gerado pelo TOTVS RAC
        "idInquilino": null,
        "dataAtualizacao": "2022-10-04T14:50:25.2424018Z",
        "dataCadastro": "2022-10-04T14:50:25.2424462Z",
        "_expandables": []
    }
}

2º - Cadastrar os parâmetros.

Post

{
    "idInquilino": "LAxcSC2vkgynDwGtWreo",
    "QuantidadeRegistros": 100,
    "TempoChamada": 2,
    "TempoExpurgoLogs": 130000,
    "TipoDado": {
        "CodigoTipo": 14,
        "DescricaoTipo": "Estoque",
        "TipoUtilizador": 1
    },
    "TipoProcesso": 1
}

Lista de Parâmetros:

 

...

codigoTipo

...

descricaoTipo

...

tipoUtilizador

...

tipo

...

47

...

AlteracaoNcm

...

1

...

Down

...

9

...

PisCofins

...

1

...

Down

...

23

...

VendaCustodiaXml

...

2

...

Online

...

0

...

Cliente

...

0

...

Online

...

20

...

Caixa

...

2

...

Up

...

40

...

AlteracaoCliente

...

1

...

Down

...

13

...

Preco

...

1

...

Down

...

1

...

Loja

...

1

...

Down

...

8

...

Ncm

...

1

...

Down

...

3

...

Perfil

...

1

...

Down

...

16

...

DadoComplementar

...

1

...

Down

...

14

...

Estoque

...

1

...

Down

...

18

...

FormaPagto

...

1

...

Down

...

19

...

Venda

...

2

...

Up

...

15

...

Operadora

...

1

...

Down

...

2

...

Motivo

...

1

...

Down

...

6

...

Compartilhamento

...

1

...

Down

...

4

...

Usuario

...

1

...

Down

...

22

...

Troca

...

2

...

Up

...

25

...

Cliente

...

2

...

Up

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

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

Incluir Authorization OAuth2.0 conforme retornado no email.

endpoint: https://pdvsync.varejo.totvs.com.br/controle/api/retaguarda/inquilinolotesexternos

Post
{
    "status": "InicioEnvio",
    "tipoLote": [
         1
    ],
    "idInquilino": "" /*O código do IdInquilino conforme retornado no email.*/
}

Response:

{
   

Exemplo response:

{
    "success": true,
    "message": "",
    "data": [{
        {
    "loteOrigem": "20221004175001554",
        "tipoProcessomensagem": 1null,
            "quantidadeRegistrosstatus": 100000,
            "tempoChamadatipoLote": 2.0,[
            "tempoExpurgoLogs": 130000.0,6
            "tipoDado": {],
                "id": null"DLoi3SX5HDoPOcDlyf0m",
                "codigoTipoidInquilino": 14"",
                "descricaoTipodataAtualizacao": "AlteracaoNcm2022-10-04T17:50:01.6441804Z",
                "tipoUtilizadordataCadastro": 1,
                "tipoProcesso": 0,
  "2022-10-04T17:50:01.6442468Z",
              "_expandables": []
            },            "id": "6eYL6pa5dsvQsKbKwIXy",
}
}

 

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": "             "idInquilino": "YchOUFQPn2i7plLpsay9 ",
            "dataAtualizacaonomeFantasia": " 2022-08-05T15:10:21.604886Z ",
            "dataCadastrocnpj": " 2022-08-05T15:10:21.604888Z",", /*obrigatório e valido - 14 caracteres*/
            "_expandables": []
 }

 

3º - Abrir Lote com Parâmetro 06 - Compartilhamento

Post
{
    "status": 0,
    "tipoLote": [
        6
    ]"inscricaoEstadual": " ", /*obrigatório - 2 e 14 caracteres*/
    "inscricaoMunicipal": " ", /*obrigatório - até 15 caracteres*/
    "endereco": " ",
    "idInquilinonumero": " 4rlMuI3YwrWO8NKtvE8V ",
}

Response:

{
    "successcomplemento": true" ",
    "messagebairro": " ",
    "datacidade": {" ",
        "loteOrigemestado": " 20221004175001554 ",
        "mensagemsiglaUf": null" ",
        "statuscodigoUFIBGE": 0," ", /*obrigatório - 2 caracteres*/
        "tipoLotecodigoMunicipioIbge": [" ", /*obrigatório - 7 caracteres*/
            6
        ],
        "idcep": "DLoi3SX5HDoPOcDlyf0m", /*obrigatorio*/
        "idInquilinotelefone": "4rlMuI3YwrWO8NKtvE8V", /*obrigatório - 6 e 14 caracteres*/
        "dataAtualizacaocodigoIdentificacaoLoja": "2022-10-04T17:50:01.6441804Z",
        "dataCadastromodeloFiscal": "2022-10-04T17:50:01.6442468Z"0,
        "_expandablesregimeTributario": []1,
    }
}

4º - Criar Compartilhamento

Post

[
    {
        "IdRetaguardaLoja""rede": "", /*obrigatório*/
        "IdRetaguardanumeroLoja": "32796d0b-8399-490e-b972-1db212c514fa0",
        "IdProprietarioidRetaguardaRede": "32796d0b-8399-490e-b972-1db212c514fa",
        "IdInquilinocodigoMaster": " 4rlMuI3YwrWO8NKtvE8V ",
        "NomeCompartilhamentonomeMaster": " PDV Lupan Master ",
        "Nivelsituacao": 01,
        "IdRetaguardaPaiidInquilino": " ", /*Gerado no passo 1*/
        "loteOrigemidRetaguarda": "202210041750015543 "
    },
    {
        "IdRetaguardaLoja": "3f054f05-ee67-407b-935d-9db0fc5e7c58",
        "IdRetaguarda": "3f054f05-ee67-407b-935d-9db0fc5e7c58",
        "IdProprietario": "3f054f05-ee67-407b-935d-9db0fc5e7c58",
        "IdInquilino": "4rlMuI3YwrWO8NKtvE8V",
        "NomeCompartilhamento": "PDV Lupan Loja",
        "Nivel": 1,
        "IdRetaguardaPai": "32796d0b-8399-490e-b972-1db212c514fa",
        "loteOrigem": "20221004175001554"
    }
], /*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

Post
{
    "status": "InicioEnvio",
    "tipoLote": [
        6
    ],
    "idInquilino": "" /*O código do IdInquilino conforme retornado no email.*/
}

Response:

{
    "success": true,
    "message": "compartilhamento inserido com sucesso: [{\"IdRetaguarda\":\"32796d0b-8399-490e-b972-1db212c514fa\",\"IdProprietario\":\"32796d0b-8399-490e-b972-1db212c514fa\",\"NomeCompartilhamento\":\"PDV Lupan Master\",\"Nivel\":0,\"IdRetaguardaPai\":\"\",\"LoteOrigem\":\"20221004175001554\",\"Lote\":null,\"IdRetaguardaLoja\":\"\",\"Id\":null,\"IdInquilino\":\"4rlMuI3YwrWO8NKtvE8V\",\"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 Lupan Loja\",\"Nivel\":1,\"IdRetaguardaPai\":\"32796d0b-8399-490e-b972-1db212c514fa\",\"LoteOrigem\":\"20221004175001554\",\"Lote\":null,\"IdRetaguardaLoja\":\"",
    "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\",\"Id\":null,\"IdInquilino\":\"4rlMuI3YwrWO8NKtvE8V\",\"DataAtualizacao\":\"0001-01-01T00:00:00\",\"DataCadastro\":\"0001-01-01T00:00:00\",\"_expandables\":[]}].",
    "data": null
}

 

5º - Fechar o Lote 

https://pdvsync-core-controle-qa-aadivv24nq-ue.a.run.app/api/retaguarda/inquilinolotesexternos/{idInquilino}/{loteOrigem}

...


        "IdRetaguarda": "3f054f05-ee67-407b-935d-9db0fc5e7c58",
        "IdProprietario": "3f054f05-ee67-407b-935d-9db0fc5e7c58",
        "IdInquilino": "",
        "NomeCompartilhamento": "PDV Loja",
        "Nivel": 1,
        "IdRetaguardaPai": "",
        "loteOrigem": "20221004175001554"
    }
]


Response:

 

6º - Abrir lote com Parâmetro 01 - Loja

Post

{
    "statussuccess": 0true,
    "tipoLotemessage": [
        1
    ],
    "idInquilino": "4rlMuI3YwrWO8NKtvE8V",
}

 

7º - Cadastro de uma Loja

Post

[
  {
    "razaoSocial": " ",
    "nomeFantasia": " ",
    "cnpj": " ",
    "inscricaoEstadual": " ", --
    "inscricaoMunicipal": " ",
    "endereco": " ",
    "numero": " ",
    "complemento": " ",
    "bairro": " ",
    "cidade": " ",
    "estado": " ",
    "siglaUf": " ",
    "codigoUFIBGE": " ",
    "codigoMunicipioIbge": " ",
    "cep": "",
    "telefone": "",
    "codigoIdentificacaoLoja": "",
    "modeloFiscal": "",
    "regimeTributario": "",
    "rede": "",
    "numeroLoja": "0",
    "idRetaguardaRede": "",
    "codigoMaster": " ",
    "nomeMaster": " ",
    "situacao": 1,
    "idInquilino": " ", - Gerado no passo 1
    "idRetaguarda": "3 ", - Gerado no passo 4
    "idProprietario": " ",- Gerado no passo 4
    "loteOrigem": " " - Gerado no passo 6
  }
]

 

8º - Fechar lote de loja

"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-qaprd-aadivv24nqq6yz66olca-uerj.a.run.app/api/retaguarda/inquilinolotesexternos/{idInquilino}/{loteOrigem}

metodo: PUT

{ {idInquilino} - Gerado no passo 01
{loteOrigem} - Gerado no passo 06anterior

 

9º - Cadastrar os parâmetros comerciais para a consulta de operações de vendas e caixa

URL: https://pdvsync-core-comercial-qa-aadivv24nq-ue.a.run.app.varejo.totvs.com.br/comercial/api/pdvsyncserver/parametros

Post

[
  {
    "idInquilino": "vAh0y1bKvHMfwsZxDKfW", - /*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": "vAh0y1bKvHMfwsZxDKfW",  /*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": "vAh0y1bKvHMfwsZxDKfW",  /*Gerado no passo 01*/
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-10-07T18:59:54.530Z",
    "codigo": 3,
    "tipo": 3,
    "valor": "10"
  },
  {
    "idInquilino": "vAh0y1bKvHMfwsZxDKfW",
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 4,
    "tipo": 4,
    "valor": "10"
  },
  {
    "idInquilino": "vAh0y1bKvHMfwsZxDKfW",
    "dataAtualizacao": "2022-10-07T18:59:54.530Z",
    "dataCadastro": "2022-10-07T18:59:54.530Z",
    "codigo": 5,
    "tipo": 0,
    "valor": "https://pdvsync-core-fila-qa-aadivv24nq-ue.a.run.app/api/stub/historicovenda"
  }

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.

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

...

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

  •  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)

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

...

.