Get sales channel statistics
/api/crm/v2/sales_channelsv2salesChannels.defaultReturns revenue, order count, and average receipt per sales channel. Up to two periods can be returned in a single request to compare, for example, month over month. Period totals are pre-calculated, and for charts, only non-empty hours in UTC are returned. Convert these to the user's time zone and aggregate by day or month. Revenue includes only completed orders.
Authorization
api-token + language + role
Query parameters
Example: 01/08/2026
Example: 31/08/2026
Second period; empty if there is nothing to compare with
Example: 01/07/2026
Example: 31/07/2026
Delivery method: courier or pickup
Values:courierpickup
Payment status: unpaid, pending, paid
Values:not_paidwaitingpaid
Returns a summary table for period A in CSV format instead of JSON
Values:yes
Example: yes
Responses
OK
Values:successerror
Example: success
Example: 2026-08-01 00:00:00
Example: date
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Example: 2026-08-31 23:59:59
Example: date
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Predefined date filter ranges; the lower boundary is calculated in the user's timezone. value is the range corresponding to the current *_from and *_to; null means a custom range. default is the range the server uses when a request has no dates: it is also applied on the first section load and when resetting. The upper boundary of the range always matches the user's current day, so option does not include it: you do not need to send *_to for a predefined range, the server sets it automatically. Ranges longer than one year are trimmed from the most recent boundary.
Predefined date filter range. It does not have its own query parameter: the lower boundary is pre-calculated in option and is used as *_from. The upper boundary is neither returned in the response nor sent in the request—it is always set to the user's current day by the server.
Values:todaythree_daysweektwo_weeksmonthquarterhalf_yearyear
Example: today
Predefined date filter range. It does not have its own query parameter: the lower boundary is pre-calculated in option and is used as *_from. The upper boundary is neither returned in the response nor sent in the request—it is always set to the user's current day by the server.
Values:todaythree_daysweektwo_weeksmonthquarterhalf_yearyear
Example: today
Example: select
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Predefined date filter range. It does not have its own query parameter: the lower boundary is pre-calculated in option and is used as *_from. The upper boundary is neither returned in the response nor sent in the request—it is always set to the user's current day by the server.
Values:todaythree_daysweektwo_weeksmonthquarterhalf_yearyear
Example: today
Example: 25/08/2026
Example: 2026-08-01 00:00:00
Example: date
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Example: 2026-08-31 23:59:59
Example: date
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Predefined date filter ranges with no default value: default is always null.
Predefined date filter range. It does not have its own query parameter: the lower boundary is pre-calculated in option and is used as *_from. The upper boundary is neither returned in the response nor sent in the request—it is always set to the user's current day by the server.
Values:todaythree_daysweektwo_weeksmonthquarterhalf_yearyear
Example: today
Predefined date filter range. It does not have its own query parameter: the lower boundary is pre-calculated in option and is used as *_from. The upper boundary is neither returned in the response nor sent in the request—it is always set to the user's current day by the server.
Values:todaythree_daysweektwo_weeksmonthquarterhalf_yearyear
Example: today
Example: select
Predefined date filter range. It does not have its own query parameter: the lower boundary is pre-calculated in option and is used as *_from. The upper boundary is neither returned in the response nor sent in the request—it is always set to the user's current day by the server.
Values:todaythree_daysweektwo_weeksmonthquarterhalf_yearyear
Example: today
Example: 25/08/2026
Example: 8920
Example: select
Example: 8920
Example: Green Basket | Kaliningrad
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Example: 8920
Example: select
Example: 8920
Example: Green Basket | Kaliningrad
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Filter enumeration — a flat list of enumeration values
Example: example
Example: select
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Filter enumeration — a flat list of enumeration values
Example: example
Example: select
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Example: 8920
Example: select
Example: 8920
Example: Green Basket | Kaliningrad
How the interface handles the filter; a regular filter does not have mode.
force_shown — always displayed, cannot be hidden.
value_required — entry point to the section: always displayed, cannot have an empty value (until a value is selected, the list is empty; there is no "all" option), global reset does not clear it.
Values:force_shownvalue_required
Example: value_required
Download selection button: on click, pass download=yes
Example: Download
Example: button_download_csv
One item per period; the second one is present only if a comparison period is specified
a — main period, b — comparison period
Values:ab
Example: a
Example: 01/08/2026
Example: 31/08/2026
Period totals for all channels
Example: 4120
Example: 3894
Example: 94.51
Example: 4361280
Example: 1120
One item per sales channel with orders, in a fixed order. There is no "all channels" item; use total for this purpose.
Order platform
Values:androidapifbiosvksite
Example: 1810
Percentage of orders for the period
Example: 43.93
Example: 1702
Example: 94.03
Example: 1855180
Revenue share percentage for the period
Example: 42.54
Revenue divided by the number of completed orders
Example: 1090
Comparison of the channel with the same channel in period B. null if period B is not specified.
Example: -120400
null if the channel had no revenue in period B: percentage growth from zero is not defined
Example: -6.09
Orders grouped by hour; only non-empty hours are included. Convert the time to the user's time zone, then aggregate hours into chart points: use a line chart for days or months, a bar chart for calendar months. Sum count, completed_count, and revenue; do not average mean values.
The hour to which the orders refer, in UTC
Example: 2026-08-01 09:00:00
Example: 12
Example: 11
Example: 12100