Jump to content

Compre o Delphi
Com até 30% de desconto
e parcelado em até 12x sem juros

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Gabriel Franciscon

API iFood for Delphi

Recommended Posts

Olá,

A API do iFood para Delphi implementa um conjunto de endpoints HTTP que ajuda seu aplicativo integra-se ao iFood de forma simples. 

Através de retornos em JSON os dados são convertidos em classes e objetos.

Unit's:

  1. iFoodManager - Aqui fica todos os endpoints, métodos de envio...
  2. iFood.Types - Tipos que serão utilizado outras unit's, como por exemplo: Tipo do pedido; Delivery ou Pickup
  3. iFood.Pedido - Uma classe onde consta todos os campos de retorno do iFood, como por exemplo: Cliente, dados de pagamento, mercadorias...
  4. iFood.Polling - Uma classe onde fica os eventos retornados pelo iFood.
  5. iFood.Utils - Funções que serão utilizadas para ler o JSON, converter o JSON...

Endpoints que foram adicionados:

  1. /oauth/token
  2. /merchants/{id}/statuses
  3. /skus/{externalCode}/prices
  4. /merchants/{merchantId}/skus/{externalCode}
  5. /events:polling
  6. /events/acknowledgment
  7. /orders/{reference} (v2.0)
  8. /orders/{reference}/statuses/integration
  9. /orders/{reference}/statuses/confirmation
  10. /orders/{reference}/statuses/dispatch
  11. /orders/{reference}/statuses/delivery
  12. /orders/{reference}/statuses/rejection

Exemplo de como chamar as funções:

var
MyiFood: TiFoodManager;
Pedido: TiFoodPedido;
begin
  //Cria o objeto e obtem um token
  MyiFood := TiFoodManager.Create(ClientID, ClientSecret, Usuario, Password, UFFusoHorario);

  //Lista de eventos (Polling). O retorno será carregado no dataset informado.
  MyiFood.Polling(DataSet);

  //Detalhar um pedido. 
  Pedido := MyiFood.GetPedido(CorrelationId);
  Pedido.id;
  Pedido.merchant.address.formattedAddress;

  //Mudar o status de um pedido
  MyiFood.SetStatusPedido(CorrelationId, Status);
end;

Enfim, esses são só alguns exemplos de como chamar as funções...

Versões do Delphi suportadas:

A API do iFood para Delphi pode ser usada no RAD Studio XE3 ou superior. Versões anteriores como: 2010, XE, e XE2 devem funcionar também. Porém não foi testado.

Infelizmente não funciona no Delphi 7 pois utiliza-se de JSON, Generics...

Projeto Demo:

Acompanha um demo utilizando apenas componentes nativos do Delphi mostrando o funcionamento de todas as funções.

Demonstração:

Abaixo um vídeo rápido demonstrando seu funcionamento 

 

Interessados

Enviar um e-mail para: [email protected]

Share this post


Link to post
Share on other sites

Novas funções adicionadas (09/07/2019):

  1. Adicionado End-point para cadastrar uma categoria no cardápio (CardapioCategoriaAdicionar)
  2. Adicionado End-point para listar todas as categorias do cardápio (CardapioCategoriaListar)
  3. Adicionado End-point para listar todos os itens de uma categoria (CardapioCategoriaItemListar)
  4. Adicionado End-point para listar todos os complementos de um item (CardapioItemSubItemListar)
  5. Adicionado End-point para solicitação de cancelamento de um pedido (PedidoAlterarStatus)
  • Like 1

Share this post


Link to post
Share on other sites

Novas funções adicionadas (12/07/2019): / Integração Cardápio

  1. Adicionado End-point para cadastrar um item no cardápio.
  2. Adicionado End-point para cadastrar uma categoria de complemento no cardápio.
  3. Adicionado End-point para cadastrar um complemento/subitem no cardápio.
  4. Adicionado End-point para inserir/alterar a imagem de um item.
  5. Adicionado End-point para "linkar" uma categoria com um item no cardápio.
  6. Adicionado End-point para "linkar" um item com uma categoria complemento.
  7. Adicionado End-point para "linkar" uma categoria complemento com um sub item/complemento.

1516467742_iFood-Cardpio.png.af825f87802d4c91bd6fe3c016831109.png

  • Like 1

Share this post


Link to post
Share on other sites

Novas funções adicionadas (10/08/2019): 

  1. Adicionado End-point com novo status para o pedido "Pronto para retirar/entregar"

Notifica o cliente que o pedido já está pronto e o mesmo poderá ser retirado.

Share this post


Link to post
Share on other sites

Novas funções adicionadas (01/09/2019): 

  1. Adicionado End-Point que fecha o restaurante por um tempo determinado (reabre automaticamente)
  2. Adicionado End-Point que abre o restaurante que por ventura foi fechado por um tempo determinado.
  3. Adicionado End-Point que mostra todos os detalhes do restaurante (tempo médio de entrega, nome, endereço, logo, foto de capa...)

Share this post


Link to post
Share on other sites

Novas funções adicionadas (28/10/2019):

  • Compatibilidade com a versão 3.0 da API
  1. Adição do campo deliveryMethod e remoção do type
  2. Adição dos campos externalID no grupo items e targetID no grupo Benefits
  3. Criado documentação completa do componente.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...