Páginas filhas
  • DT DVAARM-1310 Criar API para consulta de pré-venda


01. DADOS GERAIS

Linha de Produto:TOTVS Moda
Segmento:Moda
Módulo:Virtual.PDV
Função:

Pré-Venda Mobile - Criar API para consulta de transação

Requisito/Story/Issue (informe o requisito relacionado) :DVAARM-1310


02. SITUAÇÃO/REQUISITO

Com a criação do endpoint search-pre-sale na ApiTransaction, API responsável pela criação e consulta de pré-vendas na retaguarda, foi necessário a criação de um endpoint na API interna do Virtual PDV. Dessa forma, a aplicação de pré-venda mobile estaria apto a consultar as pré-vendas locais ou da retaguarda.

03. SOLUÇÃO

O endpoint api/PreVendaMobile/Listar foi criado no webservice interno do Virtual PDV para o consumo do endpoint da retaguarda. Necessário a configuração do parâmetro TP_FINALIZACAO_PRE_VENDA para apontar o local da consulta de pré-vendas, se será na base local ou da retaguarda.

Para que fosse possível a consulta no endpoint da retaguarda, foi necessário a implementação de rotinas para o consumo do token v2. Sem esse token, não é possível autenticar nas APIs v2 da retaguarda. Os seguintes parâmetros foram configurados para obter as informações necessárias para criação do token:

  • URL_TOKEN_V2: Contém o endereço do endpoint da requisição do token v2;
  • TOKEN_V2_CLIENT_ID: Contém o parâmetro client_id para usar na requisição;
  • TOKEN_V2_CLIENT_SECRET: Contém o parâmetro client_secret para usar na requisição.

O parâmetro URL_TOKEN_V2 poderá ser editado na aba Transmissão da tela Configuração de Parâmetros.

O parâmetro TP_FINALIZACAO_PRE_VENDA poderá ser editado na nova aba Pré-venda da tela de Configuração de Parâmetros.

O Virtual PDV fará a requisição do token v2 sempre que o sistema for reaberto. É importante ressaltar que esse token v2 é só para as APIs da retaguarda; as APIs internas do Virtual PDV continuam com a mesma implementação que usa o token na Header.


Imagem 1: Componente ADMFM007, com informações sobre o parâmetro URL_TOKEN_V2

Imagem 2: Componente ADMFM007, com informações do parâmetro TOKEN_V2_CLIENT_ID

Imagem 3: Componente ADMFM007, com informações do parâmetro TOKEN_V2_CLIENT_SECRET

Imagem 4: Componente LOGFM015. Os campos Usuário e Senha correspondem às informações do client_id e client_secret, respectivamente

Imagem 5: Ainda no componente LOGFM015, ao clicar no botão "Liberação..." ele se extenderá, apresentando as permissões dessa credencial

Imagem 6: Tela Configuração de Parâmetros no Virtual PDV. Em destaque, a localização da configuração do endereço do token v2


Imagem 1: Componente ADMFM007, com informações do parâmetro TP_FINALIZACAO_PRE_VENDA

Imagem 2: Tela Configuração de Parâmetros no Virtual PDV. Em destaque, a localização da configuração do tipo de finalização de pré-venda

Informações do endpoint da requisição de consulta de pré-venda na API do PDV


Endpoint:

  • api/PreVendaMobile/Listar

Headers:

  • Token: ( O token que o PDV disponibiliza pela requisição api/Usuario/ValidarAcesso )
{
  "DocumentoEmpresa": "",
  "NumeroTransacao": 0,
  "DataTransacao": "",
  "DocumentoPessoa": "",
  "CodigoVendedor": "",
  "NumeroComanda": 0,
  "Checkout": "",
}
{
    "Conteudo": [
        {
            "CodigoEmpresa": 1,
            "Numero": 1,
            "Data": "2020-04-13T00:00:00-03:00",
            "DocumentoPessoa": "11122233300",
            "CodigoOperacao": 1000,
            "CodigoCondicaoPagamento": 1,
            "CodigoEmpresaFaturamento": 1,
            "CodigoGrupoEmpresa": 1,
            "TipoSituacao": 1,
            "TipoOrigem": "1",
            "SequencialEndereco": 1,
            "CodigoVendedor": 102,
            "TipoOperacao": "S",
            "PercentualDesconto": null,
            "ValorTransacao": null,
            "ValorDesconto": null,
            "ValorTotal": null,
            "InformacaoAdicionalTransacao": {
                "NumeroComanda": 8,
                "Checkout": "8c9b766c-eea0-471b-bbf0-b396753b9bc2"
            },
            "Itens": [
                {
                    "Numero": 1,
                    "CodigoGrupoEmpresa": 1,
                    "CodigoBarraProduto": "708",
                    "CodigoProduto": 708,
                    "DescricaoProduto": "UM PRODUTO",
                    "CodigoEmpresaFaturamento": 1,
                    "CodigoEspecie": "PC ",
                    "CodigoVendedor": 102,
                    "ValorTotalBruto": 39.9,
                    "ValorDescontoCapa": 0.0,
                    "ValorDesconto": 0.0,
                    "ValorTotalLiquido": 39.9,
                    "QuantidadeSolicitada": 1.0,
                    "QuantidadeAtendida": 0.0,
                    "Saldo": 1.0,
                    "ValorUnitarioBruto": 39.9,
                    "ValorUnitarioDescontoCapa": 0.0,
                    "ValorUnitarioDesconto": 0.0,
                    "ValorUnitarioLiquido": 39.9,
                    "PercentualDesconto": 0.0
                }
            ]
        }
    ],
    "Mensagem": "",
    "NomeException": null
}


04. DEMAIS INFORMAÇÕES

Link para a documentação de referência da ApiTransaction: Link