پایتون
رهگیری سفارش

سرویس رهگیری سفارش

مدیریت سفارش‌های مشتری، بسته‌های غرفه‌داران و چرخه کامل سفارش با استفاده از سرویس رهگیری سفارش. این سرویس قابلیت‌های جامعی برای دریافت و مدیریت سفارش‌ها، پیگیری اقلام و جزئیات سفارش، مدیریت بسته‌های غرفه‌دار و حمل‌ونقل، تولید آمار سفارش و پایش وضعیت و به‌روزرسانی‌های سفارش فراهم می‌کند.

فهرست مطالب

متدهای رهگیری سفارش

متدتوضیحاتپارامترها
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 - بسته بازگشت داده شده است