| 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