سرویس رهگیری سفارش
مدیریت سفارشهای مشتری، بستههای غرفهداران و چرخه کامل سفارش با استفاده از سرویس رهگیری سفارش. این سرویس قابلیتهای جامعی برای دریافت و مدیریت سفارشها، پیگیری اقلام و جزئیات سفارش، مدیریت بستههای غرفهدار و حملونقل، تولید آمار سفارش و پایش وضعیت و بهروزرسانیهای سفارش فراهم میکند.
فهرست مطالب
متدهای رهگیری سفارش
متد | توضیحات | پارامترها |
---|---|---|
get_orders() | دریافت سفارشهای مشتری | filters: OrderFilter |
get_order() | دریافت جزئیات یک سفارش | order_id |
get_order_items() | دریافت آیتمهای مشتری | filters: ItemFilter |
get_order_item() | دریافت جزئیات یک آیتم سفارش | item_id |
get_orders_parcels() | دریافت سفارشهای غرفهدار | filters: OrderParcelFilter |
get_order_parcel() | دریافت جزئیات یک سفارش | parcel_id |
get_order_stats() | دریافت آمار سفارشها | resource_count , vendor_id , product_id , customer_id , coupon_code , cache_control |
مثالها
پیکربندی اولیه
from basalam_sdk import BasalamClient, PersonalToken
auth = PersonalToken(
token="your_access_token",
refresh_token="your_refresh_token"
)
client = BasalamClient(auth=auth)
دریافت سفارشها
from basalam_sdk.order_processing.models import OrderFilter
async def get_orders_example():
orders = await client.get_orders(
filters=OrderFilter(
coupon_code="SAVE10",
cursor="next_cursor_123",
customer_ids="123,456,789",
customer_name="John Doe",
ids="1,2,3",
items_title="laptop",
paid_at="2024-01-01",
parcel_estimate_send_at="2024-01-15",
parcel_statuses=["posted", "delivered"],
per_page=20,
product_ids="1,2,3",
sort="paid_at:desc",
vendor_ids="456,789"
)
)
return orders
دریافت یک سفارش
async def get_order_example():
order = await client.get_order(
order_id=123
)
return order
دریافت اقلام سفارش
from basalam_sdk.order_processing.models import ItemFilter
async def get_order_items_example():
items = await client.get_order_items(
filters=ItemFilter(
created_at="2024-01-01",
cursor="next_cursor_123",
customer_ids="123,456,789",
ids="1,2,3",
order_ids="1,2,3",
per_page=20,
product_ids="1,2,3",
sort="created_at:desc",
vendor_ids="456,789"
)
)
return items
دریافت یک قلم سفارش
async def get_order_item_example():
item = await client.get_order_item(
item_id=456
)
return item
دریافت بستههای سفارشها
from basalam_sdk.order_processing.models OrderParcelFilter
async def get_orders_parcels_example():
parcels = await client.get_orders_parcels(
filters=OrderParcelFilter(
created_at="2024-01-01",
cursor="next_cursor_123",
estimate_send_at="2024-01-15",
ids="1,2,3",
items_customer_ids="123,456,789",
items_order_ids="1,2,3",
items_product_ids=["1", "2", "3"],
items_vendor_ids=["456", "789"],
per_page=20,
sort="estimate_send_at:desc",
statuses=[3739, 3237, 3238]
)
)
return parcels
دریافت یک بسته
async def get_order_parcel_example():
parcel = await client.get_order_parcel(
parcel_id=789
)
return parcel
دریافت آمار سفارش
from basalam_sdk.order_processing.models import ResourceStats
async def get_order_stats_example():
stats = await client.get_order_stats(
resource_count=ResourceStats.NUMBER_OF_ORDERS_PER_VENDOR,
vendor_id=456
)
return stats
شرایط الزامی یا اختیاری بودن پارامترهای ورودی این متد متناسب با resource_count
انتخابشده، متفاوت میباشد. برای مطالعه آن به مستندات API رهگیری سفارش
مراجعه کنید. همچنین مقادیر مختلف resource_count
توسط کلاس ResourceStats
پشتیبانی شده است.
وضعیتهای سفارش
وضعیتهای رایج سفارش شامل موارد زیر است:
pending
- سفارش در انتظار استconfirmed
- سفارش تأیید شدهprocessing
- سفارش در حال رهگیری استshipped
- سفارش ارسال شده استdelivered
- سفارش تحویل داده شدهcancelled
- سفارش لغو شدهrefunded
- سفارش بازپرداخت شده
وضعیتهای بسته
وضعیتهای رایج بسته شامل موارد زیر است:
pending
- بسته در انتظار استpreparing
- بسته در حال آمادهسازی استshipped
- بسته ارسال شده استin_transit
- بسته در مسیر حمل استdelivered
- بسته تحویل داده شده استreturned
- بسته بازگشت داده شده است