SDK de integração IFood em python
Quer contribuir ? Envie seu PR 😎
Para que você possa realizar os testes crie sua conta de desenvolvedor no novo portal do desenvolvedor do IFood
Clique aqui para acessar o portal do Dev do IFood
As funções são bem intuitivas, basta dar uma breve olhada na documentação da API do IFood e solicitar o desejado no SDK
Clique aqui para acessar a documentação da API
Instale a dependência via gerenciador pip
pip install sdk-ifood
from ifood.exception import IfoodException
from ifood.model import Order
from ifood.service import IfoodService
try:
ifood_service = IfoodService(
client_id='seu client_id',
client_secret='seu client_secret',
grant_type='client_credentials'
)
# print(ifood_service.credentials.token)
# Cada módulo deles são separados no serviço:
"""
- financial
- merchant
- order
- catalog
"""
# Buscando os eventos de pedido da sua loja
event_list = ifood_service.order.get_events_polling()
for event in event_list:
# Se o evento for igual a PLACED realize sua regra de negócio
if event.full_code == 'PLACED':
# Realize o request dos detalhes, pois se não o IFood não aceitará seu request de confirmação
order: Order = ifood_service.order.get_order_details(event.order_id)
# print(order)
ifood_service.order.post_order_confirm(event.order_id)
# Realizando o ack do evento
ifood_service.order.post_events_ack(event)
except IfoodException as ifoodException:
print(ifoodException.__str__())
Caso deseje utilizar os serviços dos módulos avulsos:
from ifood.service import AuthenticationService, OrderService
from ifood.model import Token, Order
# Create a token instance
credentials = AuthenticationService(client_id='seu client_id', client_secret='seu client_secret')
credentials.execute()
print(credentials.token)
# Módulo pedido
order_service = OrderService(credentials.token)
order: Order = order_service.get_order_details('id do pedido')