Árvore de páginas

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 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.

Caso o campo metadata esteja nulo, uma mensagem de erro será retornada quando for solicitado qualquer processo online, vide erro.

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.

    {
        "ativarPDVSyncClientDownIntegrado": false,
        "ativarPDVSyncClientUpIntegrado": false,
        "endpointCreditoConsulta": "string",
        "endpointCreditoConsumo": "string",
        "endpointEstoqueConsulta": "string",
        "endpointIdentificadorPdv": "string",
        "endpointNotaEntradaEnvio": "string",
        "endpointNotaSaidaEnvio": "string",
        "endpointNotificaRetaguardaNovaLoja": "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
    }

    Propriedade Tipo Descrição Observação
    ativarPDVSyncClientDownIntegrado Booleano Utilizado para informar se será utilizado o Client DOWN integrado no PDV Omni Disponível apenas na V3. Valores = True ou False
    ativarPDVSyncClientUpIntegrado Booleano Utilizado para informar se será utilizado o Client UP integrado no PDV Omni Disponível apenas na V3. Valores = True ou False
    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 
    endpointNotificaRetaguardaNovaLoja String Utilizado para informar o endpoint da API do Processo Online Notifica Retaguarda Nova Loja
    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 Quantidade máxima de tentativas
    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 'Tipos autenticações'
    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
    Código Tipo
    0 Basic
    1 Bearer

    {
        "creditoConsulta": "string",
        "creditoConsumo": "string",
        "estoqueConsulta": "string",
        "identificadorPdv": "string",
        "ipDinamico": false,
        "login": "string",
        "notaEntradaEnvio": "string",
        "notaSaidaEnvio": "string",
        "password": "string",
        "PortaRetaguarda": 88,
        "preVendaAtualiza": "string",
        "preVendaConsultaListaPedido": "string",
        "preVendaConsultaPedido": "string",
        "preVendaEnvio": "string",
        "ProtocoloHttpRetaguarda": "string",
        "reservaEstoqueEnvio": "string",
        "Retaguarda": "string",
        "tempoMonitoraStatus": 30,
        "token_type": "string",
        "UrlBuscaIPDinamico": "string",
        "UrlRetaguarda": "string",
        "urlToken": "string",
        "versaoApi": 0
    }

    Propriedade Tipo Descrição Observação
    creditoConsulta string Utilizado para informar o endpoint da API do Processo Online Crédito Consulta
    creditoConsumo string Utilizado para informar o endpoint da API do Processo Online Crédito Consumo
    estoqueConsulta string Utilizado para informar o endpoint da API do Processo Online Estoque Saldo Consulta
    identificadorPdv string Utilizado para informar o endpoint da API do Processo Online Identificador de Dispositivo PDV
    ipDinamico boolean 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
    notaEntradaEnvio string Utilizado para informar o endpoint da API do Processo Online Nota de Entrada
    notaSaidaEnvio string Utilizado para informar o endpoint da API do Processo Online Nota de Saída Envio 
    password string Senha utilizada na autenticação da API do Retaguarda
    PortaRetaguarda integer Utilizado para informar a Porta utilizada para acessar a API da Retaguarda
    preVendaAtualiza string Utilizado para informar o endpoint da API do Processo Online Pré Venda (Atualização de Situação)
    preVendaConsultaListaPedido string Utilizado para informar o endpoint da API do Processo Online Pedido (Consulta Lista de Pedidos)
    preVendaConsultaPedido string Utilizado para informar o endpoint da API do Processo Online Pedido (Consulta do Pedido completo)
    preVendaEnvio string Utilizado para informar o endpoint da API do Processo Online Pre Venda Envio
    ProtocoloHttpRetaguarda string Utilizado para informar o protocolo de comunicação utilizado na API do Retaguarda Ex.(http ou https)
    reservaEstoqueEnvio string Utilizado para informar o endpoint da API do Processo Online Reserva de Estoque
    Retaguarda string Utilizado para informar qual Retaguarda está sendo utilizado pelo inquilino. Ex.(Winthor, Protheus, etc)
    tempoMonitoraStatus integer Utilizado para informar o tempo de monitoramento de status. Tempo em segundos
    tempoMonitoraStatusVenda
    Utilizado para informar o tempo de monitoramento de status de venda.
    token_type string Determina o tipo de autenticação utilizado na API do Retaguarda. EX.(Basic,Bearer)
    UrlBuscaIPDinamico string Utilizado pra informar a URL das APIs do Retaguarda
    UrlRetaguarda string Utilizado pra informar a URL das APIs do Retaguarda
    urlToken string Endpoint responsável por gerar o Token de autenticação da API 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

      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.


      Campos 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.

      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


      Campos 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


      Validações

      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.