Получить список методов доставки.
Аргументы:
- iter_ (по умолчанию True) - необходимо ли получать все объекты, итерируясь по страницам
- limit (по умолчанию 1000) - максимальное количество объектов, которое будет получено за один запрос
- offset (по умолчанию 0) - с какого объекта начать первую страницу?
- filter_provider_id (опционально) - Идентификатор службы доставки (int).
- filter_status (опционально) - Идентификатор службы доставки (DeliveryMethodStatus).
- filter_warehouse_id (опционально) - Идентификатор склада (int).
Source code in marketplace_apis/ozon/delivery_method/methods.py
Python |
---|
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 | async def list_delivery_methods(
self,
iter_: bool = True,
limit: int = 1000,
offset: int = 0,
**kwargs: Unpack[ListDeliveryMethodsFilter],
) -> list[DeliveryMethod]:
"""
Получить список методов доставки.
# Аргументы:
* iter_ (по умолчанию True) - необходимо ли получать все объекты,
итерируясь по страницам
* limit (по умолчанию 1000) - максимальное количество объектов, которое будет
получено за один запрос
* offset (по умолчанию 0) - с какого объекта начать первую страницу?
* filter_provider_id (опционально) - Идентификатор службы доставки (int).
* filter_status (опционально) - Идентификатор службы доставки
([DeliveryMethodStatus](enums.md#ozon.delivery_method.enums.DeliveryMethodStatus)).
* filter_warehouse_id (опционально) - Идентификатор склада (int).
# Возвращает: list[[DeliveryMethod](delivery_method.md)]
"""
raw_delivery_methods = []
filter_, _ = kwargs_to_filters(kwargs)
async def make_request():
resp, decoded_resp = await self.client.post(
API_PATH["list_delivery_methods"],
data={
"limit": limit,
"offset": offset,
"filter": filter_,
},
)
nonlocal raw_delivery_methods
raw_delivery_methods += decoded_resp["result"]
return resp, decoded_resp
_, data = await make_request()
while iter_ and data["has_next"]:
offset += limit
_, data = await make_request()
return [
DeliveryMethod.from_dict(raw_delivery_method)
for raw_delivery_method in raw_delivery_methods
]
|