Skip to content

Sales by product

GET
/v1/product-general-table
curl --request GET \
--url 'https://api-admin.billz.ai/v1/product-general-table?start_date=2026-08-01&end_date=2026-08-31&shop_ids=fbfb9d6c-cbb2-43ab-8c90-e97d2eeb34d6%2C92302dfb-fa33-4e6a-8d19-87214852b25d&page=1&limit=10&detalization=day&detalization_by_position=true&group_without_shops=false&price_type=0&currency=UZS' \
--header 'Authorization: Bearer <token>' \
--header 'platform-id: 7d4a4c38-dd84-4902-b744-0488b80a4c01'

Error codes: 400 — input validation error; 404 — object not found; 401, 403, 429, 500 — shared by all methods. Body formats and semantics: Response codes and errors.

start_date
string format: date
Example
2026-08-01

Format YYYY-MM-DD, without time

end_date
string format: date
Example
2026-08-31

Format YYYY-MM-DD, without time

shop_ids
required
Array<string>

Shops; empty value — 400

Example
[
"fbfb9d6c-cbb2-43ab-8c90-e97d2eeb34d6",
"92302dfb-fa33-4e6a-8d19-87214852b25d"
]
page
integer format: int32
default: 1
Example
1
limit
integer format: int32
default: 10
Example
10
detalization
string

Day|week|month|year|empty

Example
day
detalization_by_position
boolean

An unrecognized value is treated as false

Example
true
group_without_shops
boolean
price_type
integer format: int32
0

0 all, 1 retail, 2 free-price, 3 wholesale

sort_field
string
sort_direction
string
currency
string
Example
UZS
platform-id
string
default: 7d4a4c38-dd84-4902-b744-0488b80a4c01

Platform identifier. A static value is used for integrations.

Successful response

Media typeapplication/json
object
products_stats_by_date
Array<object>
object
date
string
product_id
string
order_number
string
shop_id
string
shop_name
string
product_name
string
product_base_name
string
product_sku
string
product_barcode
string
product_brand_id
string
product_brand_name
string
free_price
boolean
used_wholesale_price
boolean
supplier_id
string
supplier_external_id
integer
product_categories
Array<object>
object
id
string
name
string
parent_id
string
company_id
string
level_number
integer
deleted_at
integer
categories_path
Array<string>
level_1
Array<string>
level_2
Array<string>
level_3
Array<string>
level_4
Array<string>
level_5
Array<string>
product_measurement_unit_id
string
product_measurement_unit_name
string
product_measurement_unit_short_name
string
product_attributes
Array<object>
object
product_is_archived
boolean
product_suppliers
string
customer_full_name
string
customer_phone_number
string
seller_full_name
string
cashier_full_name
string
transaction_type
string
order_id
string
movement_id
string
sold_measurement_value
number
returned_measurement_value
number
net_sold_measurement_value
number
gross_sales
number
returned_sales_sum
number
net_sales
number
net_profit
number
rounding_amount
number
sold_supply_sum
number
average_margin
number
discount
integer
sold_with_discount
integer
sold_without_discount
integer
left_start_date
number
left_start_date_supply_price
number
left_start_date_retail_price
number
left_end_date
number
left_end_date_supply_price
number
left_end_date_retail_price
number
custom_fields
Array<object>
object
products_stats_total
object
sold_measurement_value
number
returned_measurement_value
number
net_sold_measurement_value
number
gross_sales
number
returned_sales_sum
number
net_sales
number
net_profit
number
rounding_amount
number
sold_supply_sum
number
average_margin
number
discount
number
sold_with_discount
integer
sold_without_discount
integer
left_start_date
number
left_start_date_supply_price
number
left_start_date_retail_price
number
left_end_date
number
left_end_date_supply_price
number
left_end_date_retail_price
number
count
integer format: int32
Examplegenerated
{
"products_stats_by_date": [
{
"date": "example",
"product_id": "example",
"order_number": "example",
"shop_id": "example",
"shop_name": "example",
"product_name": "example",
"product_base_name": "example",
"product_sku": "example",
"product_barcode": "example",
"product_brand_id": "example",
"product_brand_name": "example",
"free_price": true,
"used_wholesale_price": true,
"supplier_id": "example",
"supplier_external_id": 1,
"product_categories": [
{
"id": "example",
"name": "example",
"parent_id": "example",
"company_id": "example",
"level_number": 1,
"deleted_at": 1
}
],
"categories_path": [
"example"
],
"level_1": [
"example"
],
"level_2": [
"example"
],
"level_3": [
"example"
],
"level_4": [
"example"
],
"level_5": [
"example"
],
"product_measurement_unit_id": "example",
"product_measurement_unit_name": "example",
"product_measurement_unit_short_name": "example",
"product_attributes": [
{}
],
"product_is_archived": true,
"product_suppliers": "example",
"customer_full_name": "example",
"customer_phone_number": "example",
"seller_full_name": "example",
"cashier_full_name": "example",
"transaction_type": "example",
"order_id": "example",
"movement_id": "example",
"sold_measurement_value": 1,
"returned_measurement_value": 1,
"net_sold_measurement_value": 1,
"gross_sales": 1,
"returned_sales_sum": 1,
"net_sales": 1,
"net_profit": 1,
"rounding_amount": 1,
"sold_supply_sum": 1,
"average_margin": 1,
"discount": 1,
"sold_with_discount": 1,
"sold_without_discount": 1,
"left_start_date": 1,
"left_start_date_supply_price": 1,
"left_start_date_retail_price": 1,
"left_end_date": 1,
"left_end_date_supply_price": 1,
"left_end_date_retail_price": 1,
"custom_fields": [
{}
]
}
],
"products_stats_total": {
"sold_measurement_value": 1,
"returned_measurement_value": 1,
"net_sold_measurement_value": 1,
"gross_sales": 1,
"returned_sales_sum": 1,
"net_sales": 1,
"net_profit": 1,
"rounding_amount": 1,
"sold_supply_sum": 1,
"average_margin": 1,
"discount": 1,
"sold_with_discount": 1,
"sold_without_discount": 1,
"left_start_date": 1,
"left_start_date_supply_price": 1,
"left_start_date_retail_price": 1,
"left_end_date": 1,
"left_end_date_supply_price": 1,
"left_end_date_retail_price": 1
},
"count": 1
}