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