...
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.
...
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.
...
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 |
---|
do inquilino no TOTVS RAC
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 | ||||||||
---|---|---|---|---|---|---|---|---|
|
Parâmetros de saída:
{
"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
...
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/LoteExternoRetornos/{idInquilino}/{loteOrigem} - GETlojas - POST
Esta API retorna o sucesso ou qual erro ocorreu na validação do Lote de informações enviados para o PDVSynctem 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-controledadosbasicos-dev-aadivv24nq-ue.a.run.app/swagger/index.html , Módulo INQUILINOLOTEEXTERNOLOJA
...
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 |
Informações |
---|
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 |
...
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 |
...
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:
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 |
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 |
26 | PreVenda | Up |
54 | AlteracaoEstoque | Down |
55 | PreVenda | Down |
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:
{
"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
Post
{
"status": "InicioEnvio",
"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
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"
}
]
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
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:
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.
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).