Índice
Índice
O PDVSync é a camada responsável por orquestrar as operações de sincronização de dados entre o TOTVS PDV Omnishop e as suas respectivas retaguardas/ERPs.
Toda comunicação entre a retaguarda/ERP e o PDV Omnishop 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.
Âncora | ||||
---|---|---|---|---|
|
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:
Âncora | ||||
---|---|---|---|---|
|
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.
Campo | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
idRetaguarda | String | 100 | Sim | Identificador do compartilhamento no ERP/Retaguarda |
idProprietario | String | 100 | Sim | 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. |
nomeCompartilhamento | String | 100 | Sim | Nome do compartilhamento que está sendo criado |
nivel | String | 2 | Sim | Define o nível hierárquico da informação no compartilhamento que está sendo criado |
idRetaguardaLoja | String | 100 | Sim | Identificador da loja no ERP/Retaguarda |
idInquilino | String | 100 | Sim | Identificador da estrutura de redes, franquias, centrais e lojas |
dataAtualizacao | String | 26 | Sim | Data/hora do envio |
dataCadastro | String | 26 | Sim | Data/hora do cadastro |
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:
Campo | Tipo | Descrição |
---|---|---|
status | Enum | Para iniciar a integração é necessário que o ERP/Retaguarda envie o status: 0 - InicioEnvio |
tipoLote | Enum | Tipo da informação que será integrada com o PdvSync, sendo: |
idInquilino | String | Identificador da estrutura de redes, franquias, centrais e lojas |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "status": "InicioEnvio", "tipoLote": [1,6], "idInquilino": "QRXBxobJ11Yr5H93h5ON" } |
Parâmetros de saída:
Campo | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
sucess | ||||
message | ||||
loteOrigem | ||||
mensagem | ||||
status | ||||
tipoLote |
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
Campo | Tipo | Tamanho | Obrigatório | Descrição |
---|---|---|---|---|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Âncora | ||||
---|---|---|---|---|
|
EndPoint - /api/retaguarda/lojas - POST
Esta API tem como objetivo o cadastro das lojas que estarão operando com o PDV OmniShop 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
Campo | Tipo | Tamanho | Obrigatoriedade | Descrição |
razaoSocial | String | 50 | Sim | Razão social da loja. |
nomeFantasia | String | 50 | Sim | Nome fantasia da loja. |
cnpj | String | 14 | Sim | CNPJ da loja. |
inscricaoEstadual | String | 15 | Sim | Inscrição Estadual da Loja |
inscricaoMunicipal | String | 15 | Não | Inscrição Municipal da Loja |
endereco | String | 200 | Sim | Endereço da Loja |
numero | String | 10 | Sim | Número da Loja |
complemento | String | 100 | Não | Complemento do Endereço da Loja |
bairro | String | 150 | Sim | Bairro da Loja |
cidade | String | 150 | Sim | Cidade da Loja |
estado | String | 60 | Sim | Estado da Loja |
siglaUf | String | 2 | Sim | Sigla do Estado da Loja (UF) |
codigoUFIBGE | String | 2 | Sim | Código da UF no IBGE |
codigoMunicipioIbge | String | 50 | Sim | Código do Município do IBGE |
cep | String | 10 | Sim | CEP da Loja |
telefone | String | 20 | Sim | Telefone da Loja |
codigoIdentificacaoLoja | String | 20 | Sim | Código de Identificação da Loja |
modeloFiscal | String | 1 | Não | Modelo Fiscal da Loja: A configuração do modelo fiscal da loja poderá ser realizado através do configurador do PDV |
regimeTributario | String | 1 | Sim | Enquadramento Fiscal da Loja 0 - Simples Nacional 1 - Normal |
rede | String | 40 | Sim | Descrição da REDE no ERP/Retaguarda |
numeroLoja | String | 30 | Sim | Cóidgo da Loja no ERP/Retaguarda |
idInquilino | String | Sim | Código do Inquilino o qual a Loja pertence | |
idRetaguarda | String | Sim | Código da Loja no ERP/Retaguarda | |
idProprietario | DateTime | Sim | Código do Proprietário da informação, no caso da Loja é o próprio ID Retaguarda | |
loteOrigem | Integer | Sim | Número do lote que está sendo integrado, disponibilizado pelo PDV Sync ao ERP na abertura da integração | |
lote | Integer | Não | Informação do PDV Sync, não integrado pelo ERP |
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 OmniShop e utilizarão o PDVSync para integração.
O PDV OmniShop não exige o tipo do Motivo para as operações, caso não exista o tipo com seus motivos o PDV OmniShop 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
Campo | Tipo | Tamanho | Obrigatoriedade | Descrição |
Descrição | String | Sim | Descrição do Motivo | |
Tipo | Integer | Sim | Tipo do Motivo utilizado : AcrescimoDesconto = 0 TrocaDevolucao = 1 CancelamentoVenda = 5 Sangria = 6 Suprimento = 7 | |
Situação | Integer | Sim | Situação do Motivo. 1 - Ativo 0 - Inativo | |
id | String | Não | Campo Interno do PDVSync | |
idInquilino | String | 100 | Sim | Código do Inquilino o qual a Loja pertence |
idRetaguarda | String | 100 | Sim | Código da Loja no ERP/Retaguarda |
dataAtualizacao | DateTime | Não | Campo Interno data da atualização no PDVSync | |
dataCadastro | DateTime | Não | Campo Interno data de cadastro no PDVSync | |
idProprietario | String | 100 | Sim | Código do Proprietário da informação, no caso da Loja é o próprio ID Retaguarda |
loteOrigem | Interger | Sim | Número do lote que está sendo integrado, disponibilizado pelo PDVSync ao ERP na abertura da integração | |
lote | Interger | Não | Campo Interno Informação do PDVSync, |
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 OmniShop 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
Campo | Tipo | Tamanho | Obrigatoriedade | Descrição |
Descrição | String | 100 | Sim | Descrição do Motivo |
Tipo | Integer | Sim | Tipo do Motivo utilizado 0 - 1 - | |
Situação | Integer | Sim | Aituação do Motivo | |
id | String | Não | ||
idInquilino | String | 100 | Sim | Código do Inquilino o qual a Loja pertence |
idRetaguarda | String | 100 | Sim | Código da Loja no ERP/Retaguarda |
dataAtualizacao | DateTime | Não | Data da Atualização no PDVSync | |
dataCadastro | DateTime | Não | Data de Cadastro no PDVSync | |
idProprietario | String | 100 | Sim | Código do Proprietário da informação, no caso da Loja é o próprio ID Retaguarda |
loteOrigem | Interger | Sim | Número do lote que está sendo integrado, disponibilizado pelo PDV Sync ao ERP na abertura da integração | |
lote | Interger | Não | Informação do PDV Sync, não integrado pelo ERP |
Âncora Produto Produto
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:
Campo | Tipo | Tamanho | Obrigatoriedade | Descrição |
IdInquilino | String | Sim | Identificador do inquilino no PDV Sync | |
IdProprietario | String | Sim | Identificador do proprietário da informação, deve ser enviada a mesma informação criada na API de Compartilhamento, pois ela irá definir para quais lojas a informação deverá ser distribuída. | |
IdRetaguarda | String | 100 | Sim | Identificador do produto no ERP |
Lote | Integer | Não | Informação do PDV Sync, não integrado pelo ERP | |
LoteOrigem | Integer | Sim | Número do lote que está sendo integrado, disponibilizado pelo PDV Sync ao ERP na abertura da integração | |
dataAtualizacao | DateTime | Não | Data de atualização do registro | |
dataCadastro | DateTime | Não | Data de cadastro do registro | |
IdRetaguardaImposto | String | 100 | Não | Identificador do cadastro de alíquota do qual o produto está associado. A informação não é envio obrigatório, mas sua ausência irá impedir a venda do produto no PDV. |
IdRetaguardaNcm | String | 100 | Não | Identificador do cadastro de NCM do qual o produto está associado. A informação não é envio obrigatório, mas sua ausência irá impedir a venda do produto no PDV. |
IdRetaguardaPisCofins | String | 100 | Não | Identificador do cadastro de PIS e Cofins do qual o produto está associado. A informação não é envio obrigatório, mas sua ausência poderá impedir a venda do produto no PDV. Exigido no modelo fiscal SAT e opcional para o modelo fiscal NFCe |
Descricao | String | 200 | Sim | Descrição do produto que será utilizado para venda e pesquisa. |
UnidadeMedida | String | 20 | Sim | Unidade de medida do produto, exemplo: UN, PC, KG |
DescontoMaximo | N/A | N/A | N/A | Item descontinuado , enviar o valor padrão 99 |
TipoArredondaTrunca | String | 1 | Sim | Indicador de Arredondamento ou Truncamento para geração do arquivo "Registros do PAF-NFCe" solicitados no modelo fiscal PAF-NFCe. Sendo: A - Arredondamento T - Truncamento |
CodigoProduto | String | 20 | Sim | Código do produto que será utilizado para venda e pesquisa |
CodigoAlternativo | 40 | Não | Código alternativo do produto, por exemplo código de barras. O código será utilizado para venda e pesquisa. | |
OrigemProduto | 20 | Sim | Origem do produto, sendo: 0 - Nacional 1 - Importado | |
Situacao | Integer | Sim | Situação de venda do produto, podendo ser: 0 - Inativo 1 - Ativo | |
Imagem | N/A | N/A | N/A | Item descontinuado |
TipoProduto | Integer | Sim | Identificador do tipo do produto, podendo ser: 1 - Consumo 2 - Revenda 3 - Kit 6 - Serviço Quando informado um produto do tipo KIT, é obrigatório o envio do campo produto.kit com os produtos associados ao kit | |
Fracionado | Boolean | N/A | Sim | Indicador para definir se o produto poderá ser vendido com quantidade fracionada |
CnpjFornecedor | String | 20 | Não | CNPJ do fabricante do produto quando produto não é fabricado em escala relevante, conforme Nota Técnica 2016.002 |
EscalaRelevante | Boolean | Sim | Indicador de produção em escala relevante, conforme Nota Técnica 2016.002 | |
ValorBaseFcp | Numeric | Não | Valor da Base de Cálculo do Fundo de Combate a Pobreza, conforme NFCe 4.0 | |
CodigoBeneficioFiscal | String | 20 | Não | Código de Benefício Fiscal, onde deve ser informado o tipo de incentivo tributário que a empresa/produto está recebendo, conforme Nota Técnica 2019.001 versão 1.2 |
PercentualFcp | Numeric | Não | Percentual do Fundo de Combate à Pobreza, conforme NFCe 4.0 | |
CstIcms | N/A | N/A | N/A | Avaliando |
PercentualReducaoIcms | N/A | N/A | N/A | Avaliando |
AliquotaIcms | N/A | N/A | N/A | Avaliando |
Vlicmsret | Numeric | Não | Valor do ICMS retido anteriormente, conforme Nota Técnica 2018.005 | |
MotivoDesoneracaoIcms | Integer | Não | Motivo de desoneração do ICMS, conforme Nota Técnica | |
DescontaDesoneracaoNf | Boolean | Não | Indicador se o PDV deverá descontar o valor de desoneração do total da venda | |
Cest | String | 7 | Não | Código Especificador da Substituição Tributária do produto. A informação não é envio obrigatório, mas sua ausência irá impedir a venda do produto com alíquota do tipo substituição tributária. |
produtoKits | List | Não | Lista com os produtos associados ao Kit, obrigatório quando o TipoProduto for igual a 3. | |
produtoKits.IdRetaguardaProduto | String | 100 | Sim | Identificador do produto no ERP |
produtoKits.IdRetaguardaProdutoKit | String | 100 | Sim | Identificador |
produtoKits.Descricao | String | 200 | Sim | Descrição do produto que será utilizado para venda e pesquisa. |
produtoKits.QuantidadeVendaKit | Integer | Sim | Quantidade de venda do produto no Kit | |
produtoKits.TipoValorKit | Integer | Sim | Verificar os tipos! | |
produtoKits.Situacao | Integer | Sim | Situação de venda do produto, podendo ser: 0 - Inativo 1 - Ativo | |
produtoKits.ValorDesconto | ||||
produtoKits.NovoValorUnitario | ||||
produtosSimilares | ||||
produtosSimilares.Id | ||||
produtosSimilares.IdInquilino | ||||
produtosSimilares.IdRetaguarda | ||||
produtosSimilares.IdProprietario | ||||
produtosSimilares.Lote | ||||
produtosSimilares.LoteOrigem | ||||
produtosSimilares.IdRetaguardaProduto | ||||
produtosSimilares.Situacao | ||||
produtosSimilares.IdRetaguardaSimilar | ||||
ProdutosSugestoes | ||||
produtosSimilares.Id | ||||
ProdutosSugestoes.IdInquilino | ||||
ProdutosSugestoes.IdRetaguarda | ||||
ProdutosSugestoes.IdProprietario | ||||
ProdutosSugestoes.Lote | ||||
ProdutosSugestoes.LoteOrigem | ||||
ProdutosSugestoes.IdRetaguardaProduto | ||||
ProdutosSugestoes.Situacao | ||||
ProdutosSugestoes.IdRetaguardaSugestao | ||||
codigosProduto | ||||
codigosProduto.codigo | ||||
codigosProduto.descricao | ||||
codigosProduto.idRetaguarda | ||||
codigosProduto.dataAtualizacao | ||||
codigosProduto.dataCadastro | ||||
codigosProduto.situacao | ||||
associacaoProdutosClassificacao |
Campo | Tipo | Tamanho | Obrigatoriedade | Descrição |
---|---|---|---|---|
IdProprietario | ||||
Lote | ||||
LoteOrigem | ||||
IdRetaguardaImposto | ||||
IdRetaguardaNcm | ||||
IdRetaguardaPisCofins | ||||
Descricao | ||||
UnidadeMedida | ||||
DescontoMaximo | ||||
TipoArredondaTrunca | ||||
CodigoProduto | ||||
CodigoAlternativo | ||||
OrigemProduto | ||||
Situacao | ||||
Imagem | ||||
TipoProduto | ||||
Fracionado | ||||
CnpjFornecedor | ||||
EscalaRelevante | ||||
ValorBaseFcp | ||||
CodigoBeneficioFiscal | ||||
PercentualFcp | ||||
CstIcms | ||||
PercentualReducaoIcms | ||||
AliquotaIcms | ||||
Vlicmsret | ||||
MotivoDesoneracaoIcms | ||||
DescontaDesoneracaoNf | ||||
Cest | ||||
produtoKits | ||||
produtoKits.Id | ||||
produtoKits.IdInquilino | ||||
produtoKits.IdRetaguarda | ||||
produtoKits.IdProprietario | ||||
produtoKits.Lote | ||||
produtoKits.LoteOrigem | ||||
produtoKits.IdRetaguardaProduto | ||||
produtoKits.IdRetaguardaProdutoKit | ||||
produtoKits.Descricao | ||||
produtoKits.QuantidadeVendaKit | ||||
produtoKits.TipoValorKit | ||||
produtoKits.Situacao | ||||
produtoKits.ValorDesconto | ||||
produtoKits.NovoValorUnitario | ||||
produtosSimilares | ||||
produtosSimilares.Id | ||||
produtosSimilares.IdInquilino | ||||
produtosSimilares.IdRetaguarda | ||||
produtosSimilares.IdProprietario | ||||
produtosSimilares.Lote | ||||
produtosSimilares.LoteOrigem | ||||
produtosSimilares.IdRetaguardaProduto | ||||
produtosSimilares.Situacao | ||||
produtosSimilares.IdRetaguardaSimilar | ||||
ProdutosSugestoes | ||||
produtosSimilares.Id | ||||
ProdutosSugestoes.IdInquilino | ||||
ProdutosSugestoes.IdRetaguarda | ||||
ProdutosSugestoes.IdProprietario | ||||
ProdutosSugestoes.Lote | ||||
ProdutosSugestoes.LoteOrigem | ||||
ProdutosSugestoes.IdRetaguardaProduto | ||||
ProdutosSugestoes.Situacao | ||||
ProdutosSugestoes.IdRetaguardaSugestao | ||||
codigosProduto | ||||
codigosProduto.codigo | ||||
codigosProduto.descricao | ||||
codigosProduto.idRetaguarda | ||||
codigosProduto.dataAtualizacao | ||||
codigosProduto.dataCadastro | ||||
codigosProduto.situacao |
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" } ] } ] |
Âncora | ||||
---|---|---|---|---|
|
Âncora FormaPagamento FormaPagamento
Âncora | ||||
---|---|---|---|---|
|
Âncora estoque estoque
Âncora imposto imposto
Pre-Requisitos para instalação do Client:
Onde deverá conter as informações de loja, inquilino, parâmetros, etc.
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:
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:
Post
{
"idInquilino": "", → O código do IdInquilino conforme retornado no email.
"QuantidadeRegistros": 100,
"TempoChamada": 2,
"TempoExpurgoLogs": 130000,
"TipoDado": {
"CodigoTipo": 14,
"DescricaoTipo": "Estoque",
"TipoUtilizador": 1
},
"TipoProcesso": 1
}
Lista de Parâmetros:
codigoTipo | descricaoTipo | tipo |
0 | Cliente | Down |
1 | Loja | Down |
2 | Motivo | Down |
3 | Perfil | Down |
4 | Usuario | Down |
6 | Compartilhamento | Down |
7 | Imposto | Down |
8 | Ncm | Down |
9 | PisCofins | Down |
12 | Produto | Down |
13 | Preco | Down |
14 | Estoque | Down |
15 | Operadora | Down |
16 | DadoComplementar | Down |
17 | CondicaoPagto | Down |
18 | FormaPagto | Down |
19 | Venda | Up |
20 | Caixa | Up |
22 | Troca | Up |
23 | VendaCustodiaXml | Up |
25 | Cliente | Up |
54 | AlteracaoEstoque | Down |
Exemplo response:
{
"success": true,
"message": "",
"data": [
{
"tipoProcesso": 1,
"quantidadeRegistros": 10000,
"tempoChamada": 2.0,
"tempoExpurgoLogs": 130000.0,
"tipoDado": {
"id": null,
"codigoTipo": 14,
"descricaoTipo": "Estoque",
"tipoUtilizador": 1,
"tipoProcesso": 0,
"_expandables": []
},
"id": "",
"idInquilino": "",
"dataAtualizacao": "2022-08-05T15:10:21.604886Z",
"dataCadastro": "2022-08-05T15:10:21.604888Z",
"_expandables": []
}
3º - Abrir Lote com Parâmetro 01 - Loja
Incluir Authorization OAuth2.0 conforme retornado no email.
Post
{
"status": 0,
"tipoLote": [
1
],
"idInquilino": "", O código do IdInquilino conforme retornado no email.
}
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
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
}
]
5º - Fechar lote de loja
{idInquilino} - Gerado no passo 01
{loteOrigem} - Gerado no passo 06
6º - Abrir Lote com Parâmetro 06 - Compartilhamento
Incluir Authorization OAuth2.0 conforme retornado no email.
Post
{
"status": 0,
"tipoLote": [
6
],
"idInquilino": "", O código do IdInquilino conforme retornado no email.
}
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
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"
}
]
Response:
{
"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
https:/pdvsync-core-controle-prd-q6yz66olca-rj.a.run.app/api/retaguarda/inquilinolotesexternos/{idInquilino}/{loteOrigem}
{idInquilino} - Gerado no passo 01
{loteOrigem} - Gerado no passo 03
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: