GetExt
[POST] .../v1/item/getext
Returns item catalog records with prices, quantities and images. Use this method when the basic item list is not enough and the integration also needs extended catalog data such as prices, quantities, image-related data or extra item details exposed by ItemExt. The response returns paged ItemExt records with next_offset and total and supports filters, sort_orders, limit, offset and the public ItemExt selection options; when price_type_id is not provided, the method uses the first available price type ordered by id. When filters select exactly one accessible stock_id and a stock-specific limit exists, item.min_quantity and item.max_quantity are returned from that warehouse limit; otherwise the item global values are returned. Stock-specific min_quantity/max_quantity overrides and max_quantity require billing db version 404 or later; older account databases return global min_quantity and max_quantity = 0 and reject max_quantity filters with ErrorResult 1008. The caller must have item select permission; a missing request body, denied access, invalid filter or sort data and storage errors are returned as HTTP 200 ErrorResult.
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| filters | Array of Filter | Optional | Optional filters by fields available for this API method. |
| image_size | String | Optional | Image size: Large - 900x900px, Medium - 300x300px, Small - 100x100px. Allowed values: Default, Large, Medium, Small. |
| limit | Int32 | Optional | Maximum number of returned items. |
| offset | Int32 | Optional | Offset from the beginning of the result set. |
| search | String | Optional | Search string for the name, articul, code and barcode fields. The code is compared only when the trimmed search term is an unsigned integer. |
| sort_orders | Array of ItemOrder | Optional | Output sorting options. |
Filterable Fields
| Field | Type | Description |
|---|---|---|
| articul | string | |
| assemblable | bool | Whether the item can be produced. |
| code | int | Item codes. |
| comission_tin | string | |
| compound | bool | Whether the item is compound. |
| deleted_mark | bool | Deletion mark. |
| department_id | int | Department IDs. |
| disassemblable | bool | Whether the item can be disassembled. |
| group_id | int | Item group IDs. |
| has_child | bool | Whether the item has child items. |
| has_image | bool | Image availability filter: null - all items, true - only items with images, false - only items without images. |
| icps | string | |
| id | int | Item IDs. |
| is_labeled | bool | Whether the item is subject to labeling. |
| last_purchase_cost | decimal | |
| max_quantity | decimal | |
| min_quantity | decimal | |
| package_code | string | |
| parent_id | int | Parent item IDs. |
| partner_id | int | |
| price | decimal | |
| price_type_id | int | Price type ID. If omitted, Item/GetExt uses the first available price type ordered by id. |
| quantity.allowed | decimal | |
| quantity.booked | decimal | |
| quantity.common | decimal | |
| stock_id | int | Stock ID. |
| type | string | Item type: Item - item, Service - service. |
| zero_price | bool | Whether to include items with zero price. |
| zero_quantity | bool | Whether to include items with zero quantity. |
Sortable Fields
| Field |
|---|
| articul |
| brand.name |
| code |
| color.name |
| country.name |
| department.name |
| name |
| producer.name |
| size.name |
| unit.name |
| vat.name |
Request Example
{
"filters": [
{
"Field": "search",
"Operator": "Like",
"Value": "coffee"
},
{
"Field": "group_id",
"Operator": "In",
"Value": "10,12"
},
{
"Field": "stock_id",
"Operator": "Equal",
"Value": "3"
},
{
"Field": "price_type_id",
"Operator": "Equal",
"Value": "2"
},
{
"Field": "zero_quantity",
"Operator": "Equal",
"Value": "false"
},
{
"Field": "zero_price",
"Operator": "Equal",
"Value": "false"
}
],
"sort_orders": [
{
"column": "name",
"direction": "ASC"
}
],
"image_size": "Small",
"limit": 20,
"offset": 0
}
Response Parameters
| Name | Type | Description |
|---|---|---|
| next_offset | Int32 | Offset for the next data page. |
| ok | Boolean | Indicates whether the request completed successfully. |
| result | Array of ItemExt | Result array. |
| total | Int64 | Total number of result items. |
Response Example
{
"ok": true,
"result": [
{
"item": {
"id": 1001,
"group": {
"id": 10,
"name": "Coffee",
"parent_id": 0,
"child_count": 0,
"path": "Beverages/Coffee",
"last_update": 1721894400
},
"department": {
"id": 3,
"name": "Grocery",
"last_update": 1721894400
},
"vat": {
"id": 1,
"name": "VAT 12%",
"value": 12.0,
"enabled": true,
"last_update": 1721894400
},
"unit": {
"id": 1,
"name": "pcs",
"description": "Pieces",
"type": "Default",
"last_update": 1721894400
},
"brand": {
"id": 21,
"name": "REGOS Coffee",
"last_update": 1721894400
},
"producer": {
"id": 35,
"name": "REGOS Roastery",
"last_update": 1721894400
},
"country": {
"id": 860,
"name": "Uzbekistan",
"fullname": "Republic of Uzbekistan",
"code": "860",
"alfa2": "UZ",
"alfa3": "UZB",
"last_update": 1721894400
},
"type": "Item",
"code": 1000001,
"name": "Arabica Coffee 1 kg",
"fullname": "Arabica Coffee Beans 1 kg",
"description": "Roasted coffee beans for retail sale",
"articul": "COF-AR-1KG",
"min_quantity": 5.25,
"max_quantity": 200.0,
"icps": "01234567890123456",
"compound": false,
"parent_id": 0,
"has_child": false,
"deleted_mark": false,
"assemblable": false,
"disassemblable": false,
"is_labeled": false,
"origin": "BuyingAndSelling",
"image_url": "https://cdn.example.com/items/1001-small.jpg",
"last_update": 1721894400
},
"quantity": {
"common": 128.0,
"booked": 8.0,
"allowed": 120.0
},
"pricetype": {
"id": 2,
"name": "Retail",
"markup": 25.0,
"max_discount": 10.0,
"round_to": 100.0,
"currency": {
"id": 1,
"name": "UZS",
"code_chr": "UZS",
"code_num": 860,
"exchange_rate": 1.0,
"is_base": true,
"deleted": false,
"last_update": 1721894400
},
"last_update": 1721894400
},
"price": 125000.0,
"last_purchase_cost": 94000.0,
"image_url": "https://cdn.example.com/items/1001-small.jpg"
}
],
"next_offset": 20,
"total": 47
}