Skip to main content

SDK com as features da API do IFood

Project description

SDK PYTHON

SDK de integração IFood em python

Quer contribuir ? Envie seu PR 😎

Introdução

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

Documentação

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

Instalação

Instale a dependência via gerenciador pip

pip install sdk-ifood

Exemplo prático

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')

Em breve mais módulos e correções...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sdk-ifood-1.0.0a22.tar.gz (9.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page