Skip to Content
مستندات SDKپایتونکاربر، غرفه و محصول

سرویس غرفه، کاربر و محصول (مرکزی)

مدیریت غرفه‌داران، محصولات، روش‌های ارسال، اطلاعات کاربران و موارد دیگر با استفاده از سرویس اصلی. این سرویس امکانات جامعی برای مدیریت موجودیت‌های اصلی کسب‌وکار فراهم می‌کند؛ از جمله ایجاد و مدیریت غرفه‌داران، مدیریت محصولات، روش‌های ارسال، احراز هویت و اطلاعات کاربران، حساب‌های بانکی و دسته‌بندی‌ها و ویژگی‌ها.

فهرست مطالب

متدهای غرفه و محصول

متدتوضیحاتپارامترها
create_vendor()ایجاد غرفه‌دار جدیدuser_id, request: CreateVendorSchema
update_vendor()بروزرسانی غرفه‌دارvendor_id, request: UpdateVendorSchema
get_vendor()دریافت جزئیات غرفه‌دارvendor_id, prefer
get_default_shipping_methods()دریافت روش‌های ارسال پیش‌فرضNone
get_shipping_methods()دریافت روش‌های ارسالids, vendor_ids, include_deleted, page, per_page
get_working_shipping_methods()دریافت روش‌های ارسال فعالvendor_id
update_shipping_methods()بروزرسانی روش‌های ارسالvendor_id, request: UpdateShippingMethodSchema
get_vendor_products()دریافت محصولات غرفه‌دارvendor_id, query_params: GetVendorProductsSchema
update_vendor_status()بروزرسانی وضعیت غرفه‌دارvendor_id, request: UpdateVendorStatusSchema
create_vendor_mobile_change_request()ایجاد درخواست تغییر موبایل غرفه‌دارvendor_id, request: ChangeVendorMobileRequestSchema
create_vendor_mobile_change_confirmation()تأیید تغییر موبایل غرفه‌دارvendor_id, request: ChangeVendorMobileConfirmSchema
create_product()ایجاد محصول جدید (پشتیبانی از آپلود فایل)vendor_id, request: ProductRequestSchema, photo_files, video_file
update_bulk_products()بروزرسانی چندین محصولvendor_id, request: BatchUpdateProductsRequest
update_product()بروزرسانی محصول (پشتیبانی از آپلود فایل)product_id, request: ProductRequestSchema, photo_files, video_file
get_product()دریافت جزئیات محصولproduct_id, prefer
get_products()دریافت لیست محصولاتquery_params: GetProductsQuerySchema, prefer
create_products_bulk_action_request()ایجاد بروزرسانی‌های انبوه محصولاتvendor_id, request: BulkProductsUpdateRequestSchema
update_product_variation()بروزرسانی تنوع محصولproduct_id, variation_id, request: UpdateProductVariationSchema
get_products_bulk_action_requests()دریافت وضعیت بروزرسانی انبوهvendor_id, page, per_page
get_products_bulk_action_requests_count()دریافت تعداد بروزرسانی‌های انبوهvendor_id
get_products_unsuccessful_bulk_action_requests()دریافت بروزرسانی‌های ناموفقrequest_id, page, per_page
get_product_shelves()دریافت قفسه‌های محصولproduct_id
create_discount()ایجاد تخفیف برای محصولاتvendor_id, request: CreateDiscountRequestSchema
delete_discount()حذف تخفیف برای محصولاتvendor_id, request: DeleteDiscountRequestSchema
get_current_user()دریافت اطلاعات کاربر فعلیNone
create_user_mobile_confirmation_request()ایجاد درخواست تأیید موبایلuser_id
verify_user_mobile_confirmation_request()تأیید موبایل کاربرuser_id, request: ConfirmCurrentUserMobileConfirmSchema
create_user_mobile_change_request()ایجاد درخواست تغییر موبایلuser_id, request: ChangeUserMobileRequestSchema
verify_user_mobile_change_request()تأیید تغییر موبایلuser_id, request: ChangeUserMobileConfirmSchema
get_user_bank_accounts()دریافت حساب‌های بانکی کاربرuser_id, prefer
create_user_bank_account()ایجاد حساب بانکی کاربرuser_id, request: UserCardsSchema, prefer
verify_user_bank_account_otp()تأیید رمز یکبار مصرف حساب بانکیuser_id, request: UserCardsOtpSchema
verify_user_bank_account()تأیید حساب‌های بانکیuser_id, request: UserVerifyBankInformationSchema
delete_user_bank_account()حذف حساب بانکیuser_id, bank_account_id
update_user_bank_account()بروزرسانی حساب بانکیbank_account_id, request: UpdateUserBankInformationSchema
update_user_verification()بروزرسانی تأیید کاربرuser_id, request: UserVerificationSchema
get_category_attributes()دریافت ویژگی‌های دسته‌بندیcategory_id, product_id, vendor_id, exclude_multi_selects
get_categories()دریافت همه دسته‌بندی‌هاNone
get_category()دریافت دسته‌بندی خاصcategory_id

مثال‌ها

پیکربندی اولیه

from basalam_sdk import BasalamClient, PersonalToken auth = PersonalToken( token="your_access_token", refresh_token="your_refresh_token" ) client = BasalamClient(auth=auth)

ایجاد غرفه‌دار

from basalam_sdk.core.models import CreateVendorSchema async def create_vendor_example(): vendor = await client.create_vendor( user_id=123, request=CreateVendorSchema( title="My Store", identifier="store123", category_type=1, city=1, summary="A great store for all your needs" ) ) return vendor

به‌روزرسانی غرفه‌دار

from basalam_sdk.core.models import UpdateVendorSchema async def update_vendor_example(): updated_vendor = await client.update_vendor( vendor_id=456, request=UpdateVendorSchema( title="Updated Store Name", summary="Updated description", ) ) return updated_vendor

دریافت غرفه‌دار

async def get_vendor_example(): vendor = await client.get_vendor( vendor_id=456, prefer="return=minimal" ) return vendor

دریافت روش‌های ارسال پیش‌فرض

async def get_default_shipping_methods_example(): shipping_methods = await client.get_default_shipping_methods() return shipping_methods

دریافت روش‌های ارسال

async def get_shipping_methods_example(): shipping_methods = await client.get_shipping_methods() return shipping_methods

دریافت روش‌های ارسال فعال

async def get_working_shipping_methods_example(): working_methods = await client.get_working_shipping_methods( vendor_id=456 ) return working_methods

پاسخ نمونه

[ ShippingMethodResponse( id=6124304, method=ShippingMethodInfo(name='سفارشی', value=3197, description=None), base_cost=460000, additional_cost=105000, is_private=False, additional_dimensions_cost=None, vendor_id=None, deleted_at=None ), ShippingMethodResponse( id=6124301, method=ShippingMethodInfo(name='پیشتاز', value=3198, description=None), base_cost=570000, additional_cost=120000, is_private=False, additional_dimensions_cost=None, vendor_id=None, deleted_at=None ), ShippingMethodResponse( id=6124305, method=ShippingMethodInfo(name='پیک', value=3259, description=None), base_cost=320000, additional_cost=35000, is_private=False, additional_dimensions_cost=None, vendor_id=None, deleted_at=None ) ]

به‌روزرسانی روش‌های ارسال

from basalam_sdk.core.models import UpdateShippingMethodSchema async def update_shipping_methods_example(): updated_methods = await client.update_shipping_methods( vendor_id=456, request=UpdateShippingMethodSchema( shipping_methods=[ { "method_id": 3198, "is_customized": True, "base_cost": 50000 } ] ) ) return updated_methods

دریافت محصولات غرفه‌دار

from basalam_sdk.core.models import GetVendorProductsSchema, ProductStatusInputEnum async def get_vendor_products_example(): products = await client.get_vendor_products( vendor_id=456, query_params=GetVendorProductsSchema( statuses=[ProductStatusInputEnum.PUBLISHED], page=1, per_page=10 ) ) return products

به‌روزرسانی وضعیت غرفه‌دار

from basalam_sdk.core.models import UpdateVendorStatusSchema async def update_vendor_status_example(): status_update = await client.update_vendor_status( vendor_id=456, request=UpdateVendorStatusSchema( status=VendorStatusInputEnum.SEMI_ACTIVE, description="Vendor is Semi Active" ) ) return status_update

ایجاد درخواست تغییر موبایل غرفه‌دار

from basalam_sdk.core.models import ChangeVendorMobileRequestSchema async def create_vendor_mobile_change_request_example(): result = await client.create_vendor_mobile_change_request( vendor_id=456, request=ChangeVendorMobileRequestSchema( mobile="09123456789" ) ) return result

تایید تغییر موبایل غرفه‌دار

from basalam_sdk.core.models import ChangeVendorMobileConfirmSchema async def create_vendor_mobile_change_confirmation_example(): result = await client.create_vendor_mobile_change_confirmation( vendor_id=456, request=ChangeVendorMobileConfirmSchema( mobile="09123456789", verification_code=123456 ) ) return result

ایجاد محصول

from basalam_sdk.core.models import ProductRequestSchema, ProductStatusInputEnum, UnitTypeInputEnum import io async def create_product_example(): try: with open("test1.png", "rb") as photo1, \ open("test2.png", "rb") as photo2: request = ProductRequestSchema( name="Product 01", description="The material of this product is very high quality and made of silk.", category_id=238, primary_price=100000, weight=300, package_weight=500, stock=10, status=ProductStatusInputEnum.PUBLISHED, unit_quantity= 10, unit_type= UnitTypeInputEnum.NUMERIC ) product = await client.core.create_product(456, request, photo_files=[photo1,photo2]) return product

به‌روزرسانی چندین محصول

from basalam_sdk.core.models import BatchUpdateProductsRequest, UpdateProductRequestItem async def update_bulk_products_example(): updated_products = await client.core.update_bulk_products( vendor_id=456, request=BatchUpdateProductsRequest( data=[ UpdateProductRequestItem( id=1, name="Updated Product 01", stock=25 ), UpdateProductRequestItem( id=1, stock=5, primary_price=21000 ) ] ) ) return updated_products

به‌روزرسانی یک محصول

from basalam_sdk.core.models import ProductRequestSchema import io async def update_product_example(): updated_product = await client.update_product( product_id=789, request=ProductRequestSchema( status=3790, product_attribute = [ { "attribute_id": 219, "value": "Suitable for formal ceremonies", }, { "attribute_id": 221, "value": "Silk", }, { "attribute_id": 222, "value": "Burgundy, Black, Turquoise", }, { "attribute_id": 1319, "value": "Due to its sensitivity, this fabric should be hand washed gently with cold water.", } ] ) ) return updated_product

از این متد برای دریافت لیست ویژگی‌های دسته‌بندی استفاده کنید.

دریافت جزئیات محصول

async def get_product_example(): product = await client.get_product( product_id=24835037, prefer="return=minimal" ) return product

دریافت لیست محصولات

from basalam_sdk.core.models import GetProductsQuerySchema async def get_products_example(): products = await client.get_products( query_params=GetProductsQuerySchema( page=1, per_page=20, sort="price:asc" ) ) return products

ایجاد درخواست به‌روزرسانی دسته‌ای محصولات

from basalam_sdk.core.models import ( BulkProductsUpdateRequestSchema, ProductFilterSchema, BulkActionItem, RangeFilterItem, ProductBulkActionTypeEnum, ProductBulkFieldInputEnum ) async def create_products_bulk_action_request_example(): bulk_request = await client.core.create_products_bulk_action_request( vendor_id=456, request=BulkProductsUpdateRequestSchema( product_filter=ProductFilterSchema( stock=RangeFilterItem( start=1, end=5 ) ), action=[ BulkActionItem( field=ProductBulkFieldInputEnum.STOCK, action=ProductBulkActionTypeEnum.SET, value=50 ) ] ) ) return bulk_request

به‌روزرسانی تنوع محصول

from basalam_sdk.core.models import UpdateProductVariationSchema async def update_product_variation_example(): updated_variation = await client.update_product_variation( product_id=789, variation_id=6639697, request=UpdateProductVariationSchema( primary_price=150000, stock=100 ) ) return updated_variation

دریافت وضعیت به‌روزرسانی دسته‌ای

async def get_products_bulk_action_requests_example(): bulk_requests = await client.get_products_bulk_action_requests( vendor_id=456, page=1, per_page=30 ) return bulk_requests

دریافت تعداد به‌روزرسانی‌های دسته‌ای

async def get_products_bulk_action_requests_count_example(): counts = await client.get_products_bulk_action_requests_count( vendor_id=456 ) return counts

دریافت به‌روزرسانی‌های ناموفق

async def get_products_unsuccessful_bulk_action_requests_example(): unsuccessful_products = await client.get_products_unsuccessful_bulk_action_requests( request_id=123 ) return unsuccessful_products

دریافت قفسه‌های محصول

async def get_product_shelves_example(): shelves = await client.get_product_shelves( product_id=789 ) return shelves

ایجاد تخفیف

from basalam_sdk.core.models import CreateDiscountRequestSchema, DiscountProductFilterSchema async def create_discount_example(): discount = await client.create_discount( vendor_id=456, request=CreateDiscountRequestSchema( product_filter=DiscountProductFilterSchema( product_ids=[25010883, 24835037], ), discount_percent=20, active_days=5 ) ) return discount

حذف تخفیف

from basalam_sdk.core.models import DeleteDiscountRequestSchema, DiscountProductFilterSchema async def delete_discount_example(): result = await client.create_discount( vendor_id=456, request=DeleteDiscountRequestSchema( product_filter=DiscountProductFilterSchema( product_ids=[25010883], ) ) ) return result

دریافت اطلاعات کاربر جاری

async def get_current_user_example(): user = await client.get_current_user() return user

ایجاد درخواست تایید موبایل کاربر

async def create_user_mobile_confirmation_request_example(): result = await client.create_user_mobile_confirmation_request( user_id=123 ) return result

تایید درخواست تایید موبایل کاربر

from basalam_sdk.core.models import ConfirmCurrentUserMobileConfirmSchema async def verify_user_mobile_confirmation_request_example(): result = await client.verify_user_mobile_confirmation_request( user_id=123, request=ConfirmCurrentUserMobileConfirmSchema( verification_code=123456 ) ) return result

ایجاد درخواست تغییر موبایل کاربر

from basalam_sdk.core.models import ChangeUserMobileRequestSchema async def create_user_mobile_change_request_example(): result = await client.create_user_mobile_change_request( user_id=123, request=ChangeUserMobileRequestSchema( mobile="09123456789" ) ) return result

تایید درخواست تغییر موبایل کاربر

from basalam_sdk.core.models import ChangeUserMobileConfirmSchema async def verify_user_mobile_change_request_example(): result = await client.verify_user_mobile_change_request( user_id=123, request=ChangeUserMobileConfirmSchema( mobile="09123456789", verification_code=123456 ) ) return result

دریافت حساب‌های بانکی کاربر

async def get_user_bank_accounts_example(): bank_accounts = await client.get_user_bank_accounts( user_id=123 ) return bank_accounts

ایجاد حساب بانکی کاربر

from basalam_sdk.core.models import UserCardsSchema async def create_user_bank_account_example(): bank_account = await client.create_user_bank_account( user_id=123, request=UserCardsSchema( card_number="1234567890123456" ) ) return bank_account

تایید حساب بانکی کاربر OTP

from basalam_sdk.core.models import UserCardsOtpSchema async def verify_user_bank_account_otp_example(): result = await client.verify_user_bank_account_otp( user_id=123, request=UserCardsOtpSchema( card_number="1234567890123456", otp_code="123456" ) ) return result

تایید حساب بانکی کاربر

bank_information_id در خروجی متد verify_user_bank_account_otp قرار دارد و باید به متد verify_user_bank_account ارسال شود تا اطلاعات بانکی جدید که به‌تازگی اضافه شده است، تأیید گردد.

from basalam_sdk.core.models import UserVerifyBankInformationSchema async def verify_user_bank_account_example(): result = await client.verify_user_bank_account( user_id=123, request=UserVerifyBankInformationSchema( bank_information_id=1, national_code="1234567890", birthday="1990-01-01" ) ) return result

حذف حساب بانکی کاربر

async def delete_user_bank_account_example(): result = await client.delete_user_bank_account( user_id=123, bank_account_id=1 ) return result

به‌روزرسانی حساب بانکی کاربر

from basalam_sdk.core.models import UpdateUserBankInformationSchema async def update_user_bank_account_example(): result = await client.update_user_bank_account( bank_account_id=1, request=UpdateUserBankInformationSchema( user_id=123 ) ) return result

به‌روزرسانی تایید کاربر

from basalam_sdk.core.models import UserVerificationSchema async def update_user_verification_example(): user = await client.update_user_verification( user_id=123, request=UserVerificationSchema( national_code="1234567890", birthday="1990-01-01" ) ) return user

دریافت ویژگی‌های یک دسته‌بندی

async def get_category_attributes_example(): attributes = await client.get_category_attributes( category_id=1066 ) return attributes

دریافت دسته‌بندی‌ها

async def get_categories_example(): categories = await client.get_categories() return categories

دریافت جزئیات یک دسته‌بندی

async def get_category_example(): category = await client.get_category( category_id=1066 ) return category
Last updated on