01. DADOS GERAIS

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


02. 
SITUAÇÃO/REQUISITO

Enviar os pedidos recebidos via WebHook enviados pelo IFood para a API Pedido de Venda automaticamente após o recebimento.

03. SOLUÇÃO

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


CampoAçãoOrigem
UsuárioUsuá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
SenhaSenha que será utilizada para autenticação na API Pedido de VendaSenha cadastrada em Usuários - GLSGMUSU01 ou em Cadastro de Usuário - GLO_00002
EmpresaNumero da empresa que será utilizado na para autenticação API Pedido de VendaDeve 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 ItemCampo IFood Observações
idPedidoCanalVendaid
seqCanalVendaCadastrado na tela de Configurações para a IntegraçãoDeve ser cadastrado na dela de Manutenção de Canal de Venda
dtaHorPedidoCanalVendacreatedAt
nroEmpresaCadastrado na tela de Configurações para a Integração
nroSegmentoCadastrado na tela de Configurações para a Integração
codGeralOperCadastrado na tela de Configurações para a Integração
nroRepresentanteCadastrado na tela de Configurações para a Integração
obsPedidoshortCode
nroTabVendaCadastrado na tela de Configurações para a Integração
vlrTotFreteoperationMode.delivery.prices.grossValue.value
vlrDescParceirobenefit.benefitsSoma e aplica todos os descontos contidos no objeto com os campos Target = Cart e Liability = Merchant
clienteDto.cpfCnpjcustomer.document.value
clienteDto.nomeRazaoSocialcustomer.name
clienteDto.cidadecustomer.billingAddress.city
clienteDto.ufcustomer.billingAddress.state
clienteDto.bairrocustomer.billingAddress.country
clienteDto.logradourocustomer.billingAddress.streetName
clienteDto.nroLogradourocustomer.billingAddress.streetNumber
clienteDto.complementoLogradourocustomer.billingAddress.complement
clienteDto.cepcustomer.billingAddress.zipCode
clienteDto.foneDdd1pedidoIfood.customer.phonesTratamento aplicado para buscar os primeiros 2 dígitos
clienteDto.foneNro1pedidoIfood.customer.phonesTratamento aplicado para buscar os próximos 9 dígitos
clienteDto.dtaNascFundcustomer.birthDate
clienteDto.emailcustomer.email
clienteDto.fisicaJuridicacustomer.documentEnvia F caso customer.document.type seja CPF, caso contrario, envia J
itemDto[0].codAcessobag.items[0].ean
itemDto[0].observacaoItembag.items[0].noteLimitado em 250 caracteres
itemDto[0].qtdPedidabag.items[0].quantity
itemDto[0].qtdEmbalagem1A aplicação envia fixamente o número 1
itemDto[0].vlrEmbTabPrecobag.items[0].prices.grossValue.value
itemDto[0].vlrEmbInformadobag.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].seqProdutoitemBag.product.plu ou itemBag.eanA aplicação tenta buscar o seqProduto com base no PLU, depois no EAN como CodAcesso e no final, no EAN como SeqProduto
pagamentoDto[0].nroFormaPagtoCadastrado na tela de Configurações para a Integração
pagamentoDto[0].nroCondPagtoCadastrado na tela de Configurações para a Integração
pagamentoDto[0].valorPagtopayment.methods[0].amount.value
pagamentoDto[0].cnpjInstituicaoPagtoCadastrado na tela de Configurações para a IntegraçãoCaso não haja valor cadastrado, o valor padrão 14380200000121 é informado
pagamentoDto[0].cnpjTransacionalPagtoCadastrado na tela de Configurações para a IntegraçãoCaso não haja valor cadastrado, o valor padrão 14380200000121 é informado
pagamentoDto[0].nsuDto.CodBandeiraCadastrado na tela de Configurações para a IntegraçãoCaso não haja valor cadastrado, o valor padrão 00000 é informado
pagamentoDto[0].nsuDto.NsupagamentoIFood.card.cardNumberCaso 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
tipoEntregapedidoIfood.operationMode.typeCaso 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.

04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

       API Pedido de Venda

       Processamento de Pedidos (Scheduler)

       Configuração do WebHook

       Manutenção de Canal de Venda

       Usuários - GLSGMUSU01

       Cadastro de Usuário - GLO_00002

       Permissão - Segurança Desktop