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







