Produto: | TOTVS Varejo Supermercados
|
---|---|
Linha de Produto: | Linha Consinco |
Segmento: | Varejo Supermercados |
Módulo: | CONECTOR IFOOD |
Função: | SERVIÇO INTEGRAÇÃO DE PEDIDO - INTIFOOD01 |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DSUPXOMNI-2954 |
Enviar os pedidos recebidos via WebHook enviados pelo IFood para a API Pedido de Venda automaticamente após o recebimento.
Foi implementada a integração da integração do Conector IFood com a API Pedido de Venda.
No momento que o End Point de recebimento de WebHook de pedidos receber um pedido onde o status do mesmo estiver como SRE - Separation End, o mesmo deverá ser enviado automaticamente para a API de vendas do ERP, onde após a execução do PROCESSAPEDIDOS configurado no Processamento de Pedidos (Scheduler), o mesmo deverá ser integrado para a MAD_PEDVENDA.
A conexão com a API Pedido de Venda é feita através do servidor configurado na tela de Configuração do Servidor Web – GLO00075. Os dados de autenticação devem ser cadastrados na tela de Configurações para a Integração do Conector IFood. Os parâmetros necessários são:
Imagem 1 - Tela de Configurações do Conector Site Mercado - Configurações da API do IFood
Campo | Ação | Origem |
---|---|---|
Usuário | Usuário que será utilizado para autenticação na API Pedido de Venda | Usuário cadastrado em Usuários - GLSGMUSU01 ou em Cadastro de Usuário - GLO_00002 |
Senha | Senha que será utilizada para autenticação na API Pedido de Venda | Senha cadastrada em Usuários - GLSGMUSU01 ou em Cadastro de Usuário - GLO_00002 |
Empresa | Numero da empresa que será utilizado na para autenticação API Pedido de Venda | Deve ser vinculado em Permissão - Segurança Desktop |
Os pedidos são recebidos através do WebHook configurado em Configuração do WebHook, após o recebimentos dos mesmo, caso a situação dele seja de SPE - Separation End no IFood, o mesmo será capturado, formatado e enviado para a API Pedido de Venda
Campo Item | Campo IFood | Observações |
---|---|---|
idPedidoCanalVenda | id | |
seqCanalVenda | Cadastrado na tela de Configurações para a Integração | Deve ser cadastrado na dela de Manutenção de Canal de Venda |
dtaHorPedidoCanalVenda | createdAt | |
nroEmpresa | Cadastrado na tela de Configurações para a Integração | |
nroSegmento | Cadastrado na tela de Configurações para a Integração | |
codGeralOper | Cadastrado na tela de Configurações para a Integração | |
nroRepresentante | Cadastrado na tela de Configurações para a Integração | |
obsPedido | shortCode | |
nroTabVenda | Cadastrado na tela de Configurações para a Integração | |
vlrTotFrete | operationMode.delivery.prices.grossValue.value | |
vlrDescParceiro | benefit.benefits | Soma e aplica todos os descontos contidos no objeto com os campos Target = Cart e Liability = Merchant |
clienteDto.cpfCnpj | customer.document.value | |
clienteDto.nomeRazaoSocial | customer.name | |
clienteDto.cidade | customer.billingAddress.city | |
clienteDto.uf | customer.billingAddress.state | |
clienteDto.bairro | customer.billingAddress.country | |
clienteDto.logradouro | customer.billingAddress.streetName | |
clienteDto.nroLogradouro | customer.billingAddress.streetNumber | |
clienteDto.complementoLogradouro | customer.billingAddress.complement | |
clienteDto.cep | customer.billingAddress.zipCode | |
clienteDto.foneDdd1 | pedidoIfood.customer.phones | Tratamento aplicado para buscar os primeiros 2 dígitos |
clienteDto.foneNro1 | pedidoIfood.customer.phones | Tratamento aplicado para buscar os próximos 9 dígitos |
clienteDto.dtaNascFund | customer.birthDate | |
clienteDto.email | customer.email | |
clienteDto.fisicaJuridica | customer.document | Envia F caso customer.document.type seja CPF, caso contrario, envia J |
itemDto[0].codAcesso | bag.items[0].ean | |
itemDto[0].observacaoItem | bag.items[0].note | Limitado em 250 caracteres |
itemDto[0].qtdPedida | bag.items[0].quantity | |
itemDto[0].qtdEmbalagem | 1 | A aplicação envia fixamente o número 1 |
itemDto[0].vlrEmbTabPreco | bag.items[0].prices.grossValue.value | |
itemDto[0].vlrEmbInformado | bag.items[0].prices.grossValue.value | Esse valor é alterado de acordo com os benefícios retornados nos campos benefit.benefits. OS descontos aplicados são todos os descontos contidos no objeto com os campos Target = Item e Liability = Merchant |
itemDto[0].seqProduto | itemBag.product.plu ou itemBag.ean | A aplicação tenta buscar o seqProduto com base no PLU, depois no EAN como CodAcesso e no final, no EAN como SeqProduto |
pagamentoDto[0].nroFormaPagto | Cadastrado na tela de Configurações para a Integração | |
pagamentoDto[0].nroCondPagto | Cadastrado na tela de Configurações para a Integração | |
pagamentoDto[0].valorPagto | payment.methods[0].amount.value | |
pagamentoDto[0].cnpjInstituicaoPagto | Cadastrado na tela de Configurações para a Integração | Caso não haja valor cadastrado, o valor padrão 14380200000121 é informado |
pagamentoDto[0].cnpjTransacionalPagto | Cadastrado na tela de Configurações para a Integração | Caso não haja valor cadastrado, o valor padrão 14380200000121 é informado |
pagamentoDto[0].nsuDto.CodBandeira | Cadastrado na tela de Configurações para a Integração | Caso não haja valor cadastrado, o valor padrão 00000 é informado |
pagamentoDto[0].nsuDto.Nsu | pagamentoIFood.card.cardNumber | Caso o parâmetro pagamentoIFood.card.cardNumber tenha valor informado, a aplicação informa o valor de CodBandeira cadastrado. Caso não haja o valor 00000 é informado |
tipoEntrega | pedidoIfood.operationMode.type | Caso a informação do campo seja DELIVERY é informado E, caso contrário, R |
Após isso o pedido é enviado para a API Pedido de Venda.
Não se aplica
Processamento de Pedidos (Scheduler)
Cadastro de Usuário - GLO_00002