...
O campo Metadata é um campo obrigatório que está presente nos servidores do PDVSync POSH nos registros de inquilino. Ele é um campo do tipo Json, sendo essa sua única validação para o cadastro.
Contudo, para que a aplicação funcione de forma correta, as propriedades contidas no campo metadata devem seguir um padrão.
Esse padrão está definido abaixo sendo explicado por fluxo.
Caso o campo metadata esteja nulo, uma mensagem de erro será retornada quando for solicitado qualquer processo online, vide erro.
![](/download/attachments/809122244/image-2023-12-5_11-21-29.png?version=1&modificationDate=1701786090083&api=v2)
Propriedades do campo metadata
Nessa seção teremos as informações de todas as propriedades que podem ser enviadas no metadata e também o json com todas as propriedades.
Bloco de código |
---|
title | Json com todas as propriedades do metada |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"ativarPDVSyncClientDownIntegrado": false,
"ativarPDVSyncClientUpIntegrado": false,
"endpointCreditoConsulta": "string",
"endpointCreditoConsumo": "string",
"endpointEstoqueConsulta": "string",
"endpointIdentificadorPdv": "string",
"endpointNotaEntradaEnvio": "string",
"endpointNotaSaidaEnvio": "string",
"endpointPreVendaAtualiza": "string",
"endpointPreVendaConsultaListaPedido": "string",
"endpointPreVendaConsultaPedido": "string",
"endpointPreVendaEnvio": "string",
"endpointReservaEstoqueEnvio": "string",
"endpointToken": "string",
"horariosExecucaoVendaConsolidada": "string",
"ipDinamico": false,
"login": "string",
"maximoTentativas": 0,
"password": "string",
"portaRetaguarda": 0,
"protocoloHttpRetaguarda": "string",
"retaguarda": "string",
"tempoMonitoraStatus": 0,
"tempoMonitoraStatusVenda": 0,
"tipoAutenticacao": 0,
"urlBuscaIPDinamico": "string",
"urlRetaguarda": "string",
"versaoApi": 0
} |
Expandir |
---|
title | Definições das propriedades do metadata |
---|
|
Propriedade | Tipo | Descrição | Observação |
---|
ativarPDVSyncClientDownIntegrado | Booleano |
|
| ativarPDVSyncClientUpIntegrado | Booleano |
|
| endpointCreditoConsulta | String | Utilizado para informar o endpoint da API do Processo Online Crédito Consulta |
| endpointCreditoConsumo | String | Utilizado para informar o endpoint da API do Processo Online Crédito Consumo |
| endpointEstoqueConsulta | String | Utilizado para informar o endpoint da API do Processo Online Estoque Saldo Consulta |
| endpointIdentificadorPdv | String | Utilizado para informar o endpoint da API do Processo Online Identificador de Dispositivo PDV |
| endpointNotaEntradaEnvio | String | Utilizado para informar o endpoint da API do Processo Online Nota de Entrada |
| endpointNotaSaidaEnvio | String | Utilizado para informar o endpoint da API do Processo Online Nota de Saída Envio |
| endpointPreVendaAtualiza | String | Utilizado para informar o endpoint da API do Processo Online Pré Venda (Atualização de Situação) |
| endpointPreVendaConsultaListaPedido | String | Utilizado para informar o endpoint da API do Processo Online Pedido (Consulta Lista de Pedidos) |
| endpointPreVendaConsultaPedido | String | Utilizado para informar o endpoint da API do Processo Online Pedido (Consulta do Pedido completo) |
| endpointPreVendaEnvio | String | Utilizado para informar o endpoint da API do Processo Online Pre Venda Envio |
| endpointReservaEstoqueEnvio | String | Utilizado para informar o endpoint da API do Processo Online Reserva de Estoque |
| endpointToken | String | endpoint responsável por gerar o Token de autenticação da API do Retaguarda |
| horariosExecucaoVendaConsolidada | String | Utilizado para informar os horários que serão enviados as Vendas Consolidadas para os servidores do POSH | Cada hora deve ser enviada separadas por vírgula. Ex.("12,13,14,15,16") | ipDinamico | Booleano | Utilizado para informar se será utilizado o IP dinâmico nas APIs do Retaguarda. |
| login | String | Usuário utilizado na autenticação da API do Retaguarda |
| maximoTentativas | Inteiro |
|
| password | String | Senha utilizada na autenticação da API do Retaguarda |
| portaRetaguarda | Inteiro | Utilizado para informar a Porta utilizada para acessar a API da Retaguarda | Maior que 0 | protocoloHttpRetaguarda | String | Utilizado para informar o protocolo de comunicação utilizado na API do Retaguarda | Ex.(http ou https) | retaguarda | String | Utilizado para informar qual Retaguarda está sendo utilizado pelo inquilino. | Ex.(Winthor, Protheus, etc) | tempoMonitoraStatus | Inteiro | Utilizado para informar o tempo de monitoramento de status. | Tempo em segundos | tempoMonitoraStatusVenda | Inteiro | Utilizado para informar o tempo de monitoramento de status de venda. |
| tipoAutenticacao | Inteiro | Determina o tipo de autenticação utilizado na API do Retaguarda. | Tipos definidos na seção 'Tipo autenticação' | urlBuscaIPDinamico | String | Utilizado para informar a API responsável por recuperar dinamicamente o IP das APIs do Retaguarda |
| urlRetaguarda | String | Utilizado pra informar a URL das APIs do Retaguarda |
| versaoApi | Inteiro | Utilizado para indicar a versão das APIs do POSH utilizada |
|
|
Configurações de IP no metadata
Abaixo temos as definições dos fluxos de IP Fixo e IP Dinâmico
Expandir |
---|
|
O fluxo "IP Fixo" funcionava a partir da url que era cadastrada com o inquilino no campo "ConnectionString", porém, com a implementação do fluxo do IP Dinâmico, este fluxo sofreu algumas alterações. Com as novas implementações, o campo obrigatório para que esse fluxo funcione é o "UrlRetaguarda" presente no campo metadata do inquilino. Aqui está um exemplo de como o metadata deve estar para que o fluxo "IP Fixo" funcione corretamente. |
...
Bloco de código |
---|
title | Campos metadata |
---|
linenumbers | true |
---|
|
|
...
...
...
"UrlRetaguarda": "http://{IP}:{Porta}" |
|
...
Propriedade | Tipo | Descrição | Observação |
---|
IpDinamico | Bool | Indica se utiliza o IP Dinâmico. | Obrigatório | UrlRetaguarda | String | URL que será feita a consulta dos dados na retaguarda | Obrigatório |
Nesse fluxo a única validação imposta é a propriedade "UrlRetaguarda" que deve estar preenchida, caso ocorra o envio dela vázia ("") ou nula, uma mensagem de erro será retornada. Vide exemplo de retorno do erro. Image Modified
Caso todas a validações estejam corretas, a requisição seguirá com seu fluxo normalmente, realizando as solicitações na URL enviada. |
Expandir |
---|
title | Fluxo 2 - IP Dinâmico |
---|
|
...
O fluxo "IP Dinâmico" é o fluxo responsável por verificar se o IP da retaguarda sofreu alguma alteração e realizar a busca do novo IP para as novas requisições. Algumas propriedades são obrigatórias no metadata para que esse fluxo funcione corretamente Segue um exemplo de como deve ser o metadata nesse fluxo e a definição de cada propriedade |
...
Bloco de código |
---|
title | Campos metadata |
---|
linenumbers | true |
---|
| { |
|
...
...
...
...
...
...
urlBuscaIPDinamico": "http://{ip}/api/v1/client/ip", |
|
...
...
...
protocoloHttpRetaguarda": "http", |
|
...
...
...
...
Propriedade | Tipo | Descrição | Observação |
---|
IpDinamico | Bool | Indica se utiliza o IP Dinâmico. | Obrigatório | UrlBuscaIPDinamico | String | URL que será feita a consulta do IP | Obrigatório | ProtocoloHttpRetaguarda | String | Protocolo utilizado para a comunicação com a retaguarda | Obrigatório | PortaRetaguarda | Int | Porta utlizada para comunicação com a retaguarda | Opcional |
Nesse fluxo caso ocorra o envio de alguma propriedade obrigatória como vazia ou nula, uma mensagem de erro será retornada. Vide exemplo de retorno do erro. Image Modified
|