رفتن به محتوا

خلاصه‌ی سود و زیان یک بازه

GET
/v1/reports/profit/summary
curl --request GET \
--url 'https://api.seller360.ir/v1/reports/profit/summary?date_from=2026-10-23&date_to=2026-11-11' \
--header 'Authorization: Bearer <token>'

صورت سود و زیان از بالا به پایین (waterfall)، شاخص‌ها و همان شاخص‌ها برای بازه‌ی هم‌اندازه‌ی پیش از آن برای مقایسه. بدون پارامتر، از ابتدای ماه شمسی جاری تا امروز.

date_from
string format: date

Example

2026-10-23

اولین روز بازه (میلادی، YYYY-MM-DD). بدون date_from و date_to، بازه از ابتدای ماه شمسی جاری تا امروز است. هر بازه حداکثر ۴۰۰ روز است.

date_to
string format: date

Example

2026-11-11

آخرین روز بازه (میلادی)، خود این روز هم شمرده می‌شود.

خلاصه‌ی سود و زیان.

Media typeapplication/json
object
status
required
Allowed value: ok
data
required
data
required
object
range
required
object
from
required
string format: date
to
required
string format: date
days
required
integer
cutover

اولین روز تراکنش‌های این پنل؛ ارقام پیش از آن از صورت‌حساب‌های پایان‌یافته‌ی قدیم است و قطعی‌اند.

string | null format: date
previous_range
required
object
from
required
string format: date
to
required
string format: date
days
required
integer
cutover

اولین روز تراکنش‌های این پنل؛ ارقام پیش از آن از صورت‌حساب‌های پایان‌یافته‌ی قدیم است و قطعی‌اند.

string | null format: date
kpis
required
object
sales
required
integer
net_profit
required
integer | null
margin_pct
number | null
accuracy_pct
number | null
units
required
integer
profit_covered_sales
required

فروش ناخالص واحدهایی که قیمت خرید دارند و سود آن‌ها حساب شده است، ریال.

integer
unpriced_sales
required

فروش ناخالص واحدهای بدون قیمت خرید که در سود حساب نشده است، ریال.

integer
unpriced_sales_pct

سهم فروش بدون قیمت خرید، درصد.

number | null
unpriced_units
required
integer
previous
required
object
sales
required
integer
net_profit
required
integer | null
margin_pct
number | null
accuracy_pct
number | null
units
required
integer
profit_covered_sales
required

فروش ناخالص واحدهایی که قیمت خرید دارند و سود آن‌ها حساب شده است، ریال.

integer
unpriced_sales
required

فروش ناخالص واحدهای بدون قیمت خرید که در سود حساب نشده است، ریال.

integer
unpriced_sales_pct

سهم فروش بدون قیمت خرید، درصد.

number | null
unpriced_units
required
integer
change
required
object
sales_pct
number | null
net_profit_pct
number | null
margin_pts

تغییر حاشیه‌ی سود به واحد درصد.

number | null
accuracy_pts
number | null
waterfall
required
Array<object>
object
key
required

sales فروش ناخالص، returns مرجوعی پس از کسورات برگشتی، deductions کسورات دیجی‌کالا، net_payout خالص دریافتی، unpriced فروش بدون قیمت خرید (در سود حساب نشده است)، cost بهای خرید، expenses هزینه‌های شما، net_profit سود خالص.

string
Allowed values: sales returns deductions net_payout unpriced cost expenses net_profit
title
required
string
amount
required
integer | null
kind
required
string
Allowed values: line subtotal total
pct_of_sales
number | null
parts
required
Array<object>
object
key
required
string
title
required
string
amount
required
integer | null
pct_of_sales
number | null
days_by_status
required

تعداد روزهای بازه در هر وضعیت.

object
final
required
integer
estimated
required
integer
mixed
required
integer
empty
required
integer
totals
required
object
sales
required

فروش ناخالص بدون مالیات.

integer
units
required
integer
returns
required

برگشت از فروش (منفی).

integer
return_refund
required

کسوراتی که دیجی‌کالا بابت مرجوعی برگرداند (مثبت).

integer
returns_net
required
integer
units_returned
required
integer
deductions_by
required

کسورات به تفکیک سرفصل، بدون مالیات و با علامت (منفی یعنی کم شده)، و مالیات در tax؛ ریال.

object
commission
required
integer
platform
required
integer
fulfilment
required
integer
storage
required
integer
freight
required
integer
penalty
required
integer
other
required
integer
tax
required
integer
deductions
required

جمع کسورات با مالیات (منفی).

integer
tax
required

مالیات بر ارزش افزوده (درون deductions).

integer
net_payout
required

خالص دریافتی از دیجی‌کالا.

integer
cost_known
required

بهای خرید ثبت‌شده‌ی واحدهای دارای قیمت (مثبت).

integer
expenses
required

هزینه‌های شما (مثبت).

integer
expenses_general

هزینه‌های بدون کالا.

integer
expenses_products

هزینه‌های مربوط به کالا.

integer
period_costs

کسوراتی که به هیچ کالایی تعلق ندارند (مثل حمل محموله).

integer
profit_certain

سود واحدهای دارای قیمت خرید، پیش از کسورات بدون کالا و هزینه‌های عمومی.

integer
net_profit
required

سود خالص؛ اگر هیچ واحدی قیمت خرید نداشته باشد خالی است (نامعلوم، نه صفر).

integer | null
margin_pct

سود خالص نسبت به فروش پوشش‌داده‌شده، درصد.

number | null
unpriced_net

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

integer
profit_partial

سود فقط بخشی از فروش را پوشش می‌دهد.

boolean
real_pct

سود نسبت به بهای خرید، درصد.

number | null
nominal_pct

سود نسبت به فروش، درصد.

number | null
units_costed
integer
units_missing_cost
integer
accuracy_pct

سهم واحدهای فروخته‌شده‌ی دارای قیمت خرید، درصد بدون اعشار.

number | null
products_missing_cost
integer
units_settled

واحدهای تسویه‌شده.

integer
status
required

final قطعی (همه‌ی واحدهای فروخته‌شده تسویه شده‌اند)، estimated تخمینی (هنوز هیچ واحدی تسویه نشده است)، mixed ترکیبی (بخشی تسویه شده است)، empty بدون فروش. عدد تخمینی ممکن است تا تسویه تغییر کند.

string
Allowed values: final estimated mixed empty
profit_covered_sales
required

فروش ناخالص واحدهایی که قیمت خرید دارند و سود آن‌ها حساب شده است، ریال.

integer
unpriced_sales
required

فروش ناخالص واحدهای بدون قیمت خرید که در سود حساب نشده است، ریال.

integer
unpriced_sales_pct

سهم فروش بدون قیمت خرید، درصد.

number | null
unpriced_units
required
integer
finance
required

تازگی داده‌های مالی این پنل.

object
synced_at
required

زمان آخرین همگام‌سازی تراکنش‌ها و واریزها با دیجی‌کالا.

string | null format: date-time
history_complete
required

آیا تاریخچه‌ی یک‌ساله‌ی تراکنش‌ها کامل خوانده شده است. دریافت اولیه ممکن است چند شب طول بکشد.

boolean
oldest_date

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

string | null format: date
stale
required

آیا آخرین همگام‌سازی موفق بیش از ۳۶ ساعت پیش بوده است.

boolean

Example

{
"status": "ok",
"data": {
"range": {
"from": "2026-10-23",
"to": "2026-11-11",
"days": 20
},
"previous_range": {
"from": "2026-10-23",
"to": "2026-11-11",
"days": 20
},
"kpis": {
"sales": 3820000000,
"net_profit": 331917117,
"margin_pct": 7.8,
"accuracy_pct": 93,
"units": 104,
"profit_covered_sales": 3610000000,
"unpriced_sales": 210000000,
"unpriced_sales_pct": 5.5,
"unpriced_units": 7
},
"previous": {
"sales": 3820000000,
"net_profit": 331917117,
"margin_pct": 7.8,
"accuracy_pct": 93,
"units": 104,
"profit_covered_sales": 3610000000,
"unpriced_sales": 210000000,
"unpriced_sales_pct": 5.5,
"unpriced_units": 7
},
"change": {
"sales_pct": 8.4,
"net_profit_pct": -3.1,
"margin_pts": -0.6,
"accuracy_pts": 2
},
"waterfall": [
{
"key": "sales",
"title": "کسورات دیجی‌کالا",
"amount": -740282883,
"kind": "line",
"pct_of_sales": -19.4,
"parts": [
{
"key": "commission",
"title": "کمیسیون فروش",
"amount": -458400000,
"pct_of_sales": -12
}
]
}
],
"days_by_status": {
"final": 9,
"estimated": 4,
"mixed": 6,
"empty": 1
},
"totals": {
"sales": 3820000000,
"units": 104,
"returns": -96000000,
"return_refund": 11200000,
"returns_net": -84800000,
"units_returned": 3,
"deductions_by": {
"commission": -458400000,
"platform": -21000000,
"fulfilment": -190000000,
"storage": -4200000,
"freight": -1382883,
"penalty": -3000000,
"other": 0,
"tax": -62300000
},
"deductions": -740282883,
"tax": -62300000,
"net_payout": 2994917117,
"cost_known": 2410000000,
"expenses": 85000000,
"expenses_general": 60000000,
"expenses_products": 25000000,
"period_costs": -1382883,
"profit_certain": 342000000,
"net_profit": 331917117,
"margin_pct": 7.8,
"unpriced_net": 168000000,
"units_costed": 97,
"units_missing_cost": 7,
"accuracy_pct": 93,
"products_missing_cost": 2,
"units_settled": 61,
"status": "final",
"profit_covered_sales": 3610000000,
"unpriced_sales": 210000000,
"unpriced_sales_pct": 5.5,
"unpriced_units": 7
}
}
}
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).