Objetivo
O objetivo desse campo é centralizar as informações necessárias para que o Inquilino se comunique com a retaguarda.
Esse campo é utilizado também no processo de Ip Dinâmico, o qual a Retaguarda envia a cada período uma requisição, para um servidor de armazenamento, com o IdInquilino que o Ip foi alterado. A retaguarda por sua vez, quando não consegue se comunicar com o Ip que está armazenado localmente no banco do PDV, solicita para o servidor de armazenamento o novo IP para aquele inquilino.
Descrição do campo Metadata
O campo Metadata é um campo obrigatório que está presente nos servidores do PDVSync 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.
Fluxo 1 - IP Fixo
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.
Metadata
{
"IpDinamico": false,
"UrlRetaguarda": "http://{IP}:{Porta}"
}
Descrição dos campos
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 |
Validações
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.
Caso todas a validações estejam corretas, a requisição seguirá com seu fluxo normalmente, realizando as solicitações na URL enviada.
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
Metadata
{
"IpDinamico": true,
"UrlBuscaIPDinamico": "http://{ip}/api/v1/client/ip",
"ProtocoloHttpRetaguarda": "http",
"PortaRetaguarda": 0
}
Descrição dos campos
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 |