Jump to content

2 Dia do ACBr

Visite Stands dos Patrocinadores
Control iD, CS Devices, Elgin, Gertec, Bematech, Jetway, PlugMobile, Epson, Custom e Sweda
Inscreva-se

Nova Loja Oficial
loja.projetoacbr.com.br
Ajude o projeto a crescer, com estilo

Comprar

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]il.com

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

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...