{"id":821,"date":"2024-08-26T14:38:12","date_gmt":"2024-08-26T17:38:12","guid":{"rendered":"https:\/\/adrianosantostreina.com.br\/blog\/?p=821"},"modified":"2024-09-02T14:49:45","modified_gmt":"2024-09-02T17:49:45","slug":"como-integrar-seu-erp-delphi-ao-ifood","status":"publish","type":"post","link":"https:\/\/adrianosantostreina.com.br\/blog\/como-integrar-seu-erp-delphi-ao-ifood\/","title":{"rendered":"Como integrar seu ERP Delphi ao iFood?"},"content":{"rendered":"\n<p>No atual cen\u00e1rio da ind\u00fastria de alimentos, onde a efici\u00eancia operacional e a experi\u00eancia do cliente s\u00e3o fundamentais, a integra\u00e7\u00e3o de sistemas se tornou uma necessidade cr\u00edtica para restaurantes e empresas de food service. Com a crescente popularidade de plataformas de delivery como o iFood, garantir que seu sistema de ERP esteja perfeitamente integrado \u00e0 API do iFood pode ser um grande diferencial competitivo.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>No entanto, para muitos desenvolvedores e empresas que trabalham com Delphi, essa integra\u00e7\u00e3o pode apresentar diversos desafios t\u00e9cnicos. Desde o manuseio de autentica\u00e7\u00e3o complexa e endpoints din\u00e2micos at\u00e9 o gerenciamento em tempo real de pedidos e status de entrega, a tarefa pode se tornar complicada e demandar um investimento significativo de tempo e recursos.<\/p>\n\n\n\n<p>\u00c9 aqui que o componente iFood Restaurante para Delphi entra em cena. Desenvolvido especificamente para atender \u00e0s necessidades de programadores e empresas que possuem ERPs espec\u00edficos para a \u00e1rea de alimentos, o componente facilita a integra\u00e7\u00e3o completa com a API do iFood, reduzindo a complexidade e acelerando o processo de desenvolvimento. Com ele, voc\u00ea pode conectar seu sistema ao iFood de maneira simples, eficiente e segura, garantindo que seu restaurante esteja sempre um passo \u00e0 frente na corrida digital.<\/p>\n\n\n\n<p>Ao adotar o componente, voc\u00ea n\u00e3o apenas simplifica a integra\u00e7\u00e3o, mas tamb\u00e9m aproveita uma s\u00e9rie de funcionalidades avan\u00e7adas que garantem uma opera\u00e7\u00e3o mais fluida e responsiva. Desde o autentica\u00e7\u00e3o com a API atrav\u00e9s de tokens at\u00e9 a atualiza\u00e7\u00e3o autom\u00e1tica de status de pedidos, nosso componente foi projetado para proporcionar uma experi\u00eancia de integra\u00e7\u00e3o de ponta a ponta que atende \u00e0s demandas de um mercado em constante evolu\u00e7\u00e3o.<\/p>\n\n\n\n<p>Neste artigo, vamos explorar como o componente pode transformar a maneira como voc\u00ea gerencia seus pedidos no iFood, destacando suas principais funcionalidades e os benef\u00edcios que ele traz para programadores e empresas da \u00e1rea Food. Descubra como simplificar processos, aumentar a efici\u00eancia e melhorar a satisfa\u00e7\u00e3o do cliente com uma solu\u00e7\u00e3o de integra\u00e7\u00e3o que realmente funciona.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O Desafio da Integra\u00e7\u00e3o com o iFood<\/h3>\n\n\n\n<p>Integrar sistemas de gest\u00e3o empresarial (ERPs) com plataformas de delivery, como o iFood, \u00e9 um desafio que muitos programadores e empresas do setor de alimentos enfrentam. A complexidade dessa tarefa vai al\u00e9m do simples envio e recebimento de dados; ela envolve uma s\u00e9rie de considera\u00e7\u00f5es t\u00e9cnicas que podem se tornar obst\u00e1culos significativos se n\u00e3o forem abordadas adequadamente.<\/p>\n\n\n\n<p>Um dos maiores desafios na integra\u00e7\u00e3o com a API do iFood \u00e9 lidar com a <strong>autentica\u00e7\u00e3o na API<\/strong>. A API do iFood requer um processo robusto de autentica\u00e7\u00e3o. Pela regra do iFood o sistema deve solicitar um Token de autentica\u00e7\u00e3o antes de tentar acessar outros endpoints. Esse token deve ser usado por 50 minutos. O acesso ao endpoint do token antes de 50 minutos pode receber uma puni\u00e7\u00e3o e bloquear o acesso da softwarehouse aos endpoints, por isso o componente faz essa checagem automaticamente sem necessidade de interven\u00e7\u00e3o do programador.<\/p>\n\n\n\n<p>Outra parte importante \u00e9 o endpoint <strong>polling<\/strong>, ele \u00e9 respos\u00e1vel por manter a loja do cliente sempre aberta no aplicativo do iFood bem como puxa as mudan\u00e7as de status de dos pedidos. Esse processo deve ser feito a cada 30 segundos, caso contr\u00e1rio a loja aparecer\u00e1 como fechada no aplicativo. O componente faz esse controle tamb\u00e9m de forma autom\u00e1tica.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Solu\u00e7\u00f5es Oferecidas pelo Componente<\/h3>\n\n\n\n<p>O componente possui uma metodologia de trabalho bem simples, seguindo o conceito m\u00e9todos encadeados e simples, o que significa que com apenas uma linha de c\u00f3digo \u00e9 poss\u00edvel acessar o endpoint do iFood, veja um exemplo disso abaixo:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:delphi decode:true \" >procedure TfrmSampleMain.ADRIFoodOrderPlaced(Order: IADRIFoodModelOrder;\n  OrderHead: IADRIFoodModelOrderHead; var bAcknowledgment: Boolean);\nbegin\n  try\n    writeLog(order.customer.name);\n    writeLog(DateTimeToStr( order.createdAt));\n    writeLog(order.totalPrice.ToString);\n\n    \/\/ Passar dados do Pedido para os DataSets\n    ADRIFood.Order.DataSet\n      .ModelToDataSet(Order,\n                      DM.dataSetOrders,\n                      DM.dataSetOrderItems,\n                      DM.dataSetOrderSubItems,\n                      DM.dataSetOrderPayments,\n                      DM.dataSetOrderBenefits);\n\n    writeLog('Integrei no software');\n    bAcknowledgment := False;\n  except\n    bAcknowledgment := False;\n  end;\nend;<\/pre><\/div>\n\n\n\n<p>No exemplo de c\u00f3digo acima temos algumas linhas de log, mas o que realmente importa \u00e9 a linha <code>ADRIFood.Order.DataSet<\/code>. Essa \u00e9 a linha que trata os dados dos pedidos que chegaram ao componente atrav\u00e9s do evento <strong>OnOrderPlaced<\/strong>. Aqui passamos para o componente alguns datasets e ele faz o parse dos dados para esses datasets configurados, facilitando bastante a integra\u00e7\u00e3o com seu sistema.<\/p>\n\n\n\n<p>Aproveitando, o componente possui diversos eventos que facilitam a integra\u00e7\u00e3o e intercepta\u00e7\u00e3o de todos os status do pedido, dessa forma o programador poder\u00e1 integrar ao seu <strong>ERP<\/strong> no momento certo.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"456\" height=\"870\" src=\"https:\/\/adrianosantostreina.com.br\/blog\/wp-content\/uploads\/2024\/08\/Eventos.webp\" alt=\"\" class=\"wp-image-823\" srcset=\"https:\/\/adrianosantostreina.com.br\/blog\/wp-content\/uploads\/2024\/08\/Eventos.webp 456w, https:\/\/adrianosantostreina.com.br\/blog\/wp-content\/uploads\/2024\/08\/Eventos-157x300.webp 157w\" sizes=\"(max-width: 456px) 100vw, 456px\" \/><\/figure><\/div>\n\n\n<p>Caso o programador n\u00e3o use DataSets, mas use objetos, tamb\u00e9m \u00e9 poss\u00edvel fazer a integra\u00e7\u00e3o de forma simples, passando apenas o objeto que receber\u00e1 os dados do iFood. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Compatibilidade<\/h3>\n\n\n\n<p>Desde a vers\u00e3o Delphi XE5 at\u00e9 a vers\u00e3o mais nova do Delphi, \u00e9 poss\u00edvel utilizar o componente sem quaisquer problemas. Em rela\u00e7\u00e3o as vers\u00f5es do Windows s\u00e3o compat\u00edveis com Windows 7 SP1, Windows 10 e 11 e at\u00e9 Windows Server 2012 caso deseje. O componente pode ser utilizado em VCL e FMX, podendo rodar at\u00e9 em equipamentos Android com ressalvas.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Demonstra\u00e7\u00e3o iFood Componente Delphi\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/hbpG465AfpY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Qual tempo de integra\u00e7\u00e3o?<\/h3>\n\n\n\n<p>O tempo de integra\u00e7\u00e3o pode variar bastante dependendo do foco da empresa. Para uma integra\u00e7\u00e3o <strong>sem o componente<\/strong> a m\u00e9dia \u00e9 de 90 dias, dados fornecidos por diversos clientes. Com o componente iFood se a empresa manter um foco m\u00e9dio na constru\u00e7\u00e3o da integra\u00e7\u00e3o, a m\u00e9dia \u00e9 de <strong>7 dias<\/strong>. Muito r\u00e1pida a integra\u00e7\u00e3o. Ap\u00f3s esse processo, basta o programador solicitar a homologa\u00e7\u00e3o com o iFood.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Custo e Funcionamento do Componente<\/h3>\n\n\n\n<p>O componente funciona como uma assinatura anual sem o fornecimento de c\u00f3digo-fonte, haja vista que a empresa mant\u00e9m os servi\u00e7os de suporte e atualiza\u00e7\u00e3o de novos endpoints criados pelo iFood. A quantidade de restaurantes \u00e9 <strong>ilimitada<\/strong>, portanto basta assinar uma vez e utilizar o componente para quantos restaurantes desejar.<\/p>\n\n\n\n<p>Com um custo de R$ 499,00 por ano, voc\u00ea tem acesso a todos os recursos da API do iFood de forma simples e eficaz.<\/p>\n\n\n\n<p>Voc\u00ea pode saber mais sobre o componente acessando <a href=\"https:\/\/ifoodcomponente.com.br\/restaurante\/\" target=\"_blank\" rel=\"noreferrer noopener\">esse link<\/a> ou entrar em contato diretamente com nosso comercial nesse <a href=\"https:\/\/ifoodcomponente.com.br\/restaurante\/\" target=\"_blank\" rel=\"noreferrer noopener\">WhatsApp (11) 99821-0204<\/a>;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Adriano Santos<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>No atual cen\u00e1rio da ind\u00fastria de alimentos, onde a efici\u00eancia operacional e a experi\u00eancia do cliente s\u00e3o fundamentais, a integra\u00e7\u00e3o de sistemas se tornou uma necessidade cr\u00edtica para restaurantes e empresas de food service. Com a crescente popularidade de plataformas de delivery como o iFood, garantir que seu sistema de ERP esteja perfeitamente integrado \u00e0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":825,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-821","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/comments?post=821"}],"version-history":[{"count":3,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/821\/revisions"}],"predecessor-version":[{"id":826,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/821\/revisions\/826"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/media\/825"}],"wp:attachment":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/media?parent=821"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/categories?post=821"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/tags?post=821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}