رفتن به محتوا

تخفیف هوشمند تنوع‌ها

GET
/v1/promotions
curl --request GET \
--url 'https://api.seller360.ir/v1/promotions?page=1&size=50&state=ok&active=0&source=external' \
--header 'Authorization: Bearer <token>'

هر تنوعی که واجد شرایط تخفیف هوشمند است یا تخفیف فعال دارد. نسخه‌ی محلی هر ساعت از دیجی‌کالا به‌روز می‌شود (synced_at).

page
integer
default: 1 >= 1
size
integer
default: 50 >= 1 <= 500
state
  • ok: تخفیف دستی ممکن است.
  • blocked: سقف قیمت تخفیف دیجی‌کالا کمتر از حداقل قیمت شماست؛ تخفیفی ثبت‌شدنی نیست.
  • no_floor: تنوع حداقل قیمت ندارد؛ تخفیف ثبت نمی‌شود.
  • bot: ربات با روش تخفیف هوشمند قیمت این تنوع را تعیین می‌کند؛ تغییر دستی ممکن نیست.
string
Allowed values: ok blocked no_floor bot

فقط تنوع‌هایی با این وضعیت.

active
string
Allowed values: 0 1

فقط تنوع‌هایی که تخفیف فعال دارند (1) یا ندارند (0).

source
  • external: بیرون از سلر ۳۶۰ (مثلا در پنل دیجی‌کالا) ثبت شده است.
  • manual: ثبت دستی در سلر ۳۶۰ یا از API.
  • bot: ربات قیمت‌گذاری.
  • auto_step: تخفیف پله‌ای کالای کم‌فروش.
  • auto_renew: تمدید خودکار.
string
Allowed values: external manual bot auto_step auto_renew

فقط تخفیف‌هایی با این منشا.

ending_within_hours
integer
>= 1 <= 720

فقط تخفیف‌هایی که در این تعداد ساعت آینده تمام می‌شوند.

یک صفحه از تخفیف‌ها.

Media typeapplication/json
object
status
required
Allowed value: ok
data
required
pager
required

همان نام فیلدهای صفحه‌بندی دیجی‌کالا.

object
page
required
integer
item_per_page
required
integer
total_pages
required
integer
total_rows
required
integer
data
Array<object>
object
variant_id
required
integer
sku
string | null
eligible
required

دیجی‌کالا تخفیف هوشمند را برای این تنوع مجاز می‌داند.

boolean
state
required
  • ok: تخفیف دستی ممکن است.
  • blocked: سقف قیمت تخفیف دیجی‌کالا کمتر از حداقل قیمت شماست؛ تخفیفی ثبت‌شدنی نیست.
  • no_floor: تنوع حداقل قیمت ندارد؛ تخفیف ثبت نمی‌شود.
  • bot: ربات با روش تخفیف هوشمند قیمت این تنوع را تعیین می‌کند؛ تغییر دستی ممکن نیست.
string
Allowed values: ok blocked no_floor bot
reference_price

قیمت مرجع به ریال؛ درصد تخفیف نسبت به آن است.

integer | null
base_price

قیمت فروش پایه به ریال.

integer | null
customer_price

قیمتی که خریدار می‌پردازد.

integer | null
floor

حداقل قیمت شما به ریال.

integer | null
floor_source
One of:

حداقلی که ربات اکنون رعایت می‌کند از کجا آمده است:

  • manual: حداقل قیمت دستی.
  • cost_plus: بهای خرید به‌علاوه‌ی سود هدف.
  • strategy: حداقل قیمتی که استراتژی (مثلا بر پایه‌ی حاشیه‌ی سود یا قیمت مرجع) می‌سازد.
string
Allowed values: manual cost_plus strategy
cap

بیشترین قیمت تخفیفی که دیجی‌کالا می‌پذیرد، به ریال.

integer | null
cap_pct

کمترین درصد تخفیف قابل قبول دیجی‌کالا.

integer | null
floor_pct

بیشترین درصد تخفیفی که حداقل قیمت شما اجازه می‌دهد.

integer | null
min_discount_pct

حداقل درصد تخفیف دسته‌ی کالا.

integer | null
order_limit_min
integer | null
order_limit_max
integer | null
stock

موجودی قابل فروش.

integer | null
discount
required

تخفیف فعال؛ خالی یعنی تخفیفی در جریان نیست.

object
promotion_variant_id
required

شناسه‌ی رکورد تخفیف در دیجی‌کالا.

integer
promotion_price
required

ریال.

integer
discount_pct

درصد تخفیف نسبت به قیمت مرجع.

integer | null
started_at
string | null format: date-time
end_at
required
string | null format: date-time
limit

تعداد کالا در تخفیف.

integer | null
order_limit

سقف تعداد در هر سفارش.

integer | null
status
required

وضعیت تخفیف در دیجی‌کالا؛ pending یعنی منتظر تایید دیجی‌کالا.

string
Allowed values: active approved pending draft partially_approved
source
required
  • external: بیرون از سلر ۳۶۰ (مثلا در پنل دیجی‌کالا) ثبت شده است.
  • manual: ثبت دستی در سلر ۳۶۰ یا از API.
  • bot: ربات قیمت‌گذاری.
  • auto_step: تخفیف پله‌ای کالای کم‌فروش.
  • auto_renew: تمدید خودکار.
string
Allowed values: external manual bot auto_step auto_renew
step_level

پله‌ی فعلی تخفیف پله‌ای (۰ یعنی بدون پله).

integer
last_error

آخرین پیام رد دیجی‌کالا در ۲ روز گذشته.

string | null
last_error_at
string | null format: date-time
synced_at
required
string | null format: date-time

Example

{
"status": "ok",
"pager": {
"page": 1,
"item_per_page": 50,
"total_pages": 12,
"total_rows": 587
},
"data": [
{
"variant_id": 84780448,
"state": "ok",
"reference_price": 299999000,
"base_price": 300000000,
"customer_price": 289000000,
"floor": 280000000,
"floor_source": "manual",
"cap": 293900000,
"cap_pct": 2,
"floor_pct": 7,
"min_discount_pct": 2,
"order_limit_min": 1,
"order_limit_max": 1000,
"stock": 38,
"discount": {
"promotion_variant_id": 51820044,
"promotion_price": 289000000,
"discount_pct": 4,
"limit": 38,
"order_limit": 10,
"status": "active",
"source": "external"
},
"step_level": 0
}
]
}
X-Request-Id
string

کد پیگیری این درخواست.

X-RateLimit-Limit
integer

سقف درخواست این نوع (خواندن یا نوشتن) در هر دقیقه برای این کلید.

X-RateLimit-Remaining
integer

درخواست‌های باقی‌مانده تا پایان دقیقه‌ی جاری.

X-RateLimit-Reset
integer

زمان شروع دقیقه‌ی بعد، به ثانیه از ۱۹۷۰ (Unix).

پارامتر یا بدنه‌ی نامعتبر.

Media typeapplication/json
object
status
required
Allowed value: error
error
required
object
code
required
string
Allowed values: missing_api_key invalid_api_key https_required scope_missing module_inactive panel_unavailable subscription_inactive not_found variant_not_found method_not_allowed invalid_parameter idempotency_key_required idempotency_mismatch idempotency_in_progress insufficient_stock version_conflict stock_write_locked sku_taken price_out_of_band price_managed_by_bot webhook_url_invalid webhook_limit_reached rate_limited digikala_rate_limited digikala_refused module_required digikala_outcome_unknown digikala_unavailable internal_error stock_split_in_progress kardex_disabled movement_type_not_allowed stock_count_finalized purchase_order_status_invalid product_key_unknown purchase_price_range_invalid product_locked_for_moderation catalog_row_invalid demo_panel_unsupported build_in_progress package_not_built_here shipping_write_unavailable pickup_unavailable feature_unavailable commitment_exceeded warehouse_not_listed slot_watch_exists draft_limit_reached draft_not_buildable draft_overdue draft_not_waiting consignment_not_allowed slot_unavailable no_open_slot replenish_rule_limit replenish_inactive price_managed_by_fx bot_strategy_required bot_quota_full strategy_not_found strategy_locked strategy_hidden strategy_title_reserved competitor_not_found change_not_undoable undo_window_expired already_undone undo_in_progress promotion_not_eligible promotion_managed_by_bot promotion_no_floor promotion_below_floor promotion_invalid promotion_not_active campaign_not_found campaign_closed fx_strategy_not_found fx_no_pending_price
message
required

پیام فارسی برای برنامه‌نویس.

string
detail

آنچه دقیقا نادرست بود، مثلا نام پارامتر.

string
doc_url
required
string format: uri
request_id
required
string

Example

{
"status": "error",
"error": {
"code": "missing_api_key"
}
}
X-Request-Id
string

کد پیگیری این درخواست.

X-RateLimit-Limit
integer

سقف درخواست این نوع (خواندن یا نوشتن) در هر دقیقه برای این کلید.

X-RateLimit-Remaining
integer

درخواست‌های باقی‌مانده تا پایان دقیقه‌ی جاری.

X-RateLimit-Reset
integer

زمان شروع دقیقه‌ی بعد، به ثانیه از ۱۹۷۰ (Unix).

کلید ارسال نشده یا نامعتبر است.

Media typeapplication/json
object
status
required
Allowed value: error
error
required
object
code
required
string
Allowed values: missing_api_key invalid_api_key https_required scope_missing module_inactive panel_unavailable subscription_inactive not_found variant_not_found method_not_allowed invalid_parameter idempotency_key_required idempotency_mismatch idempotency_in_progress insufficient_stock version_conflict stock_write_locked sku_taken price_out_of_band price_managed_by_bot webhook_url_invalid webhook_limit_reached rate_limited digikala_rate_limited digikala_refused module_required digikala_outcome_unknown digikala_unavailable internal_error stock_split_in_progress kardex_disabled movement_type_not_allowed stock_count_finalized purchase_order_status_invalid product_key_unknown purchase_price_range_invalid product_locked_for_moderation catalog_row_invalid demo_panel_unsupported build_in_progress package_not_built_here shipping_write_unavailable pickup_unavailable feature_unavailable commitment_exceeded warehouse_not_listed slot_watch_exists draft_limit_reached draft_not_buildable draft_overdue draft_not_waiting consignment_not_allowed slot_unavailable no_open_slot replenish_rule_limit replenish_inactive price_managed_by_fx bot_strategy_required bot_quota_full strategy_not_found strategy_locked strategy_hidden strategy_title_reserved competitor_not_found change_not_undoable undo_window_expired already_undone undo_in_progress promotion_not_eligible promotion_managed_by_bot promotion_no_floor promotion_below_floor promotion_invalid promotion_not_active campaign_not_found campaign_closed fx_strategy_not_found fx_no_pending_price
message
required

پیام فارسی برای برنامه‌نویس.

string
detail

آنچه دقیقا نادرست بود، مثلا نام پارامتر.

string
doc_url
required
string format: uri
request_id
required
string

Example

{
"status": "error",
"error": {
"code": "missing_api_key"
}
}

کلید دسترسی لازم را ندارد، یا ماژول یا پنل فعال نیست.

Media typeapplication/json
object
status
required
Allowed value: error
error
required
object
code
required
string
Allowed values: missing_api_key invalid_api_key https_required scope_missing module_inactive panel_unavailable subscription_inactive not_found variant_not_found method_not_allowed invalid_parameter idempotency_key_required idempotency_mismatch idempotency_in_progress insufficient_stock version_conflict stock_write_locked sku_taken price_out_of_band price_managed_by_bot webhook_url_invalid webhook_limit_reached rate_limited digikala_rate_limited digikala_refused module_required digikala_outcome_unknown digikala_unavailable internal_error stock_split_in_progress kardex_disabled movement_type_not_allowed stock_count_finalized purchase_order_status_invalid product_key_unknown purchase_price_range_invalid product_locked_for_moderation catalog_row_invalid demo_panel_unsupported build_in_progress package_not_built_here shipping_write_unavailable pickup_unavailable feature_unavailable commitment_exceeded warehouse_not_listed slot_watch_exists draft_limit_reached draft_not_buildable draft_overdue draft_not_waiting consignment_not_allowed slot_unavailable no_open_slot replenish_rule_limit replenish_inactive price_managed_by_fx bot_strategy_required bot_quota_full strategy_not_found strategy_locked strategy_hidden strategy_title_reserved competitor_not_found change_not_undoable undo_window_expired already_undone undo_in_progress promotion_not_eligible promotion_managed_by_bot promotion_no_floor promotion_below_floor promotion_invalid promotion_not_active campaign_not_found campaign_closed fx_strategy_not_found fx_no_pending_price
message
required

پیام فارسی برای برنامه‌نویس.

string
detail

آنچه دقیقا نادرست بود، مثلا نام پارامتر.

string
doc_url
required
string format: uri
request_id
required
string

Example

{
"status": "error",
"error": {
"code": "missing_api_key"
}
}

سقف درخواست گذشته است.

Media typeapplication/json
object
status
required
Allowed value: error
error
required
object
code
required
string
Allowed values: missing_api_key invalid_api_key https_required scope_missing module_inactive panel_unavailable subscription_inactive not_found variant_not_found method_not_allowed invalid_parameter idempotency_key_required idempotency_mismatch idempotency_in_progress insufficient_stock version_conflict stock_write_locked sku_taken price_out_of_band price_managed_by_bot webhook_url_invalid webhook_limit_reached rate_limited digikala_rate_limited digikala_refused module_required digikala_outcome_unknown digikala_unavailable internal_error stock_split_in_progress kardex_disabled movement_type_not_allowed stock_count_finalized purchase_order_status_invalid product_key_unknown purchase_price_range_invalid product_locked_for_moderation catalog_row_invalid demo_panel_unsupported build_in_progress package_not_built_here shipping_write_unavailable pickup_unavailable feature_unavailable commitment_exceeded warehouse_not_listed slot_watch_exists draft_limit_reached draft_not_buildable draft_overdue draft_not_waiting consignment_not_allowed slot_unavailable no_open_slot replenish_rule_limit replenish_inactive price_managed_by_fx bot_strategy_required bot_quota_full strategy_not_found strategy_locked strategy_hidden strategy_title_reserved competitor_not_found change_not_undoable undo_window_expired already_undone undo_in_progress promotion_not_eligible promotion_managed_by_bot promotion_no_floor promotion_below_floor promotion_invalid promotion_not_active campaign_not_found campaign_closed fx_strategy_not_found fx_no_pending_price
message
required

پیام فارسی برای برنامه‌نویس.

string
detail

آنچه دقیقا نادرست بود، مثلا نام پارامتر.

string
doc_url
required
string format: uri
request_id
required
string

Example

{
"status": "error",
"error": {
"code": "missing_api_key"
}
}
Retry-After
integer

چند ثانیه صبر کنید و دوباره تلاش کنید.

X-RateLimit-Limit
integer

سقف درخواست این نوع (خواندن یا نوشتن) در هر دقیقه برای این کلید.

X-RateLimit-Remaining
integer

درخواست‌های باقی‌مانده تا پایان دقیقه‌ی جاری.

X-RateLimit-Reset
integer

زمان شروع دقیقه‌ی بعد، به ثانیه از ۱۹۷۰ (Unix).