No project description provided
Project description
🍕 Dodo IS API Wrapper
Installation
Via pip:
pip install dodo-is-api
Via poetry:
poetry add dodo-is-api
📝 Changelog is here.
🧪 Usage:
- Delivery:
- Production:
🛵 Get late delivery vouchers:
import datetime
from uuid import UUID
from dodo_is_api.connection import DodoISAPIConnection
from dodo_is_api.connection.http_clients import closing_http_client
from dodo_is_api.mappers import map_late_delivery_voucher_dto
access_token = 'my-token'
country_code = 'kg'
units = [UUID('e0ce0423-3064-4e04-ad3e-39906643ef14'), UUID('bd09b0a8-147d-46f7-8908-874f5f59c9a2')]
from_date = datetime.datetime(year=2023, month=3, day=16)
to_date = datetime.datetime(year=2023, month=3, day=17)
with closing_http_client(access_token=access_token, country_code=country_code) as http_client:
dodo_is_api_connection = DodoISAPIConnection(http_client=http_client)
# it will handle pagination for you
for late_delivery_vouchers in dodo_is_api_connection.iter_late_delivery_vouchers(
from_date=from_date,
to_date=to_date,
units=units
):
# map to dataclass DTO if you need
late_delivery_voucher_dtos = [
map_late_delivery_voucher_dto(late_delivery_voucher)
for late_delivery_voucher in late_delivery_vouchers
]
...
📦 Get stop sales:
import datetime
from uuid import UUID
from dodo_is_api.connection import DodoISAPIConnection
from dodo_is_api.connection.http_clients import closing_http_client
from dodo_is_api.mappers import map_stop_sale_by_ingredient_dto
access_token = 'my-token'
country_code = 'kg'
units = [UUID('e0ce0423-3064-4e04-ad3e-39906643ef14'), UUID('bd09b0a8-147d-46f7-8908-874f5f59c9a2')]
from_date = datetime.datetime(year=2023, month=3, day=16)
to_date = datetime.datetime(year=2023, month=3, day=17)
with closing_http_client(access_token=access_token, country_code=country_code) as http_client:
dodo_is_api_connection = DodoISAPIConnection(http_client=http_client)
# for products - dodo_is_api_connection.get_stop_sales_by_products
# for sales channels - dodo_is_api_connection.get_stop_sales_by_sales_channels
stop_sales = dodo_is_api_connection.get_stop_sales_by_ingredients(
from_date=from_date,
to_date=to_date,
units=units
)
# map to dataclass DTO if you need
# use suitable mapper
# in this case, ingredient stop sale mapper is used
late_delivery_voucher_dtos = [
map_stop_sale_by_ingredient_dto(stop_sale)
for stop_sale in stop_sales
]
...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dodo_is_api-0.6.1.tar.gz
(9.6 kB
view hashes)
Built Distribution
Close
Hashes for dodo_is_api-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6299461ed69a525ac1fe1b5fead915af38f4a49bf4ed9980b429b4d774f5290 |
|
MD5 | 8a72a566c6f897d16e7d01e36c55db59 |
|
BLAKE2b-256 | 9630a4e6a88f03239ef4492233fda616d3a029783a47f6c042df93f064621006 |