SDK de integração IFood em python
Quer contribuir ? Envie seu PR 😎
Criação de sdk com intuito de aprendizado próprio na geração de pacotes opensource
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')