Введение

Для упрощения работы с большим количеством товаров и заказов, Emall предоставляет продавцам API со следующими методами:

Авторизация

Справочники

Получение каталога категорий

GET
https://api-sandbox.emall.by
/open/api/v1/catalog/categories
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр).

Example:
10
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/catalog/categories?page=1&perPage=10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 4220,
            "name": "Продукты",
            "children": [
                {
                    "id": 4170,
                    "name": "Молочные продукты",
                    "children": [
                        {
                            "id": 5969,
                            "name": "Категория-ссылка тест5"
                        },
                        {
                            "id": 3818,
                            "name": "Молоко"
                        },
                        {
                            "id": 4823,
                            "name": "Сгущенное, сухое молоко"
                        },
                        {
                            "id": 4273,
                            "name": "Сыр"
                        },
                        {
                            "id": 4655,
                            "name": "Сливки"
                        },
                        {
                            "id": 3899,
                            "name": "Йогурт"
                        },
                        {
                            "id": 4068,
                            "name": "Десерты"
                        },
                        {
                            "id": 3802,
                            "name": "Трубочки для молока"
                        }
                    ]
                },
                {
                    "id": 4051,
                    "name": "Кофе",
                    "children": [
                        {
                            "id": 4183,
                            "name": "Кофе молотый"
                        },
                        {
                            "id": 3855,
                            "name": "Кофе растворимый"
                        },
                        {
                            "id": 4324,
                            "name": "Кофе в зернах"
                        },
                        {
                            "id": 4797,
                            "name": "Кофе порционный"
                        },
                        {
                            "id": 4023,
                            "name": "Капсулы для кофемашин"
                        },
                        {
                            "id": 3733,
                            "name": "Какао"
                        },
                        {
                            "id": 4203,
                            "name": "Цикорий, кофейные напитки"
                        }
                    ]
                },
                {
                    "id": 4488,
                    "name": "Чай",
                    "children": [
                        {
                            "id": 4640,
                            "name": "Чай пакетированный"
                        },
                        {
                            "id": 3895,
                            "name": "Чай листовой"
                        },
                        {
                            "id": 4361,
                            "name": "Чай травяной и фиточай"
                        }
                    ]
                },
                {
                    "id": 3703,
                    "name": "Сладости",
                    "children": [
                        {
                            "id": 4571,
                            "name": "Шоколад"
                        },
                        {
                            "id": 3789,
                            "name": "Конфеты шоколадные"
                        },
                        {
                            "id": 4279,
                            "name": "Наборы конфет"
                        },
                        {
                            "id": 4417,
                            "name": "Батончики шоколадные"
                        },
                        {
                            "id": 3952,
                            "name": "Зефир, пастила"
                        },
                        {
                            "id": 4122,
                            "name": "Жевательная резинка"
                        },
                        {
                            "id": 4587,
                            "name": "Конфеты жевательные"
                        },
                        {
                            "id": 3821,
                            "name": "Шоколадно-ореховые пасты"
                        },
                        {
                            "id": 3991,
                            "name": "Мармелад"
                        },
                        {
                            "id": 4737,
                            "name": "Леденцы, карамель"
                        },
                        {
                            "id": 3692,
                            "name": "Халва"
                        },
                        {
                            "id": 4456,
                            "name": "Шоколадные яйца и фигурный шоколад"
                        },
                        {
                            "id": 4608,
                            "name": "Восточные сладости"
                        },
                        {
                            "id": 5939,
                            "name": "Сладкие подарочные наборы"
                        }
                    ]
                },
                {
                    "id": 4635,
                    "name": "Мучные изделия, хлеб",
                    "children": [
                        {
                            "id": 4710,
                            "name": "Печенье"
                        },
                        {
                            "id": 4395,
                            "name": "Вафли"
                        },
                        {
                            "id": 4450,
                            "name": "Рулеты, бисквиты, круассаны, кексы"
                        },
                        {
                            "id": 3986,
                            "name": "Пряники, коврижки"
                        },
                        {
                            "id": 4129,
                            "name": "Кукурузные палочки"
                        },
                        {
                            "id": 4292,
                            "name": "Сушки"
                        },
                        {
                            "id": 3844,
                            "name": "Сухари"
                        },
                        {
                            "id": 4597,
                            "name": "Хлебобулочные изделия"
                        },
                        {
                            "id": 4257,
                            "name": "Крекеры"
                        },
                        {
                            "id": 3936,
                            "name": "Коржи, вафельные листы для тортов, тарталетки"
                        },
                        {
                            "id": 4576,
                            "name": "Пироги, вафельные торты"
                        },
                        {
                            "id": 4730,
                            "name": "Пирожные"
                        }
                    ]
                },
                {
                    "id": 3758,
                    "name": "Сахар, соль, специи, соусы",
                    "children": [
                        {
                            "id": 3801,
                            "name": "Сахар"
                        },
                        {
                            "id": 3960,
                            "name": "Смеси специй, приправы, панировочные сухари"
                        },
                        {
                            "id": 4692,
                            "name": "Специи, пряности, травы"
                        },
                        {
                            "id": 3817,
                            "name": "Крахмал, сода, лимонная кислота, желатин"
                        },
                        {
                            "id": 4410,
                            "name": "Для выпечки"
                        },
                        {
                            "id": 5669,
                            "name": "К Пасхе"
                        },
                        {
                            "id": 4245,
                            "name": "Соль"
                        },
                        {
                            "id": 4877,
                            "name": "Дрожжи"
                        },
                        {
                            "id": 4379,
                            "name": "Майонез, майонезные соусы"
                        },
                        {
                            "id": 4818,
                            "name": "Кетчуп"
                        },
                        {
                            "id": 4054,
                            "name": "Томатный соус"
                        },
                        {
                            "id": 4516,
                            "name": "Заправка для салатов, другие соусы"
                        },
                        {
                            "id": 3763,
                            "name": "Уксус"
                        },
                        {
                            "id": 4189,
                            "name": "Горчица, хрен, аджика"
                        }
                    ]
                },
                {
                    "id": 4669,
                    "name": "Консервированная продукция",
                    "children": [
                        {
                            "id": 4342,
                            "name": "Консервы рыбные"
                        },
                        {
                            "id": 3861,
                            "name": "Консервы мясные"
                        },
                        {
                            "id": 4016,
                            "name": "Кукуруза, горошек консервированные"
                        },
                        {
                            "id": 4803,
                            "name": "Маслины, оливки консервированные"
                        },
                        {
                            "id": 3746,
                            "name": "Фрукты, ягоды консервированные"
                        },
                        {
                            "id": 4188,
                            "name": "Варенье, джемы, мед"
                        },
                        {
                            "id": 4636,
                            "name": "Фасоль консервированная"
                        },
                        {
                            "id": 3825,
                            "name": "Томаты консервированные"
                        },
                        {
                            "id": 4285,
                            "name": "Огурцы консервированные"
                        },
                        {
                            "id": 4741,
                            "name": "Грибы консервированные"
                        },
                        {
                            "id": 3689,
                            "name": "Другие овощи консервированные"
                        }
                    ]
                },
                {
                    "id": 4505,
                    "name": "Крупы, каши, хлопья",
                    "children": [
                        {
                            "id": 4476,
                            "name": "Рис"
                        },
                        {
                            "id": 4607,
                            "name": "Крупа гречневая"
                        },
                        {
                            "id": 4148,
                            "name": "Сухие завтраки"
                        },
                        {
                            "id": 4149,
                            "name": "Смеси круп"
                        },
                        {
                            "id": 4435,
                            "name": "Хлопья"
                        },
                        {
                            "id": 4865,
                            "name": "Мюсли, батончики"
                        },
                        {
                            "id": 3697,
                            "name": "Каши"
                        },
                        {
                            "id": 3975,
                            "name": "Горох, фасоль, чечевица, нут"
                        },
                        {
                            "id": 4308,
                            "name": "Крупы иные"
                        },
                        {
                            "id": 3849,
                            "name": "Крупа в варочных пакетах, гарниры"
                        }
                    ]
                },
                {
                    "id": 4061,
                    "name": "Макароны",
                    "children": [
                        {
                            "id": 4015,
                            "name": "Макаронные изделия"
                        }
                    ]
                },
                {
                    "id": 4218,
                    "name": "Масло",
                    "children": [
                        {
                            "id": 3788,
                            "name": "Подсолнечное масло"
                        },
                        {
                            "id": 4534,
                            "name": "Оливковое масло"
                        },
                        {
                            "id": 4677,
                            "name": "Другие масла"
                        },
                        {
                            "id": 4227,
                            "name": "Льняное масло"
                        }
                    ]
                },
                {
                    "id": 3742,
                    "name": "Мука",
                    "children": [
                        {
                            "id": 4817,
                            "name": "Мука пшеничная"
                        },
                        {
                            "id": 3876,
                            "name": "Мука иная"
                        },
                        {
                            "id": 4331,
                            "name": "Мучные смеси"
                        }
                    ]
                },
                {
                    "id": 3886,
                    "name": "Соки, напитки, вода",
                    "children": [
                        {
                            "id": 4691,
                            "name": "Напитки газированные"
                        },
                        {
                            "id": 4443,
                            "name": "Вода"
                        },
                        {
                            "id": 3935,
                            "name": "Сокосодержащие негазированные"
                        },
                        {
                            "id": 4462,
                            "name": "Чай, кофе холодный"
                        },
                        {
                            "id": 3691,
                            "name": "Безалкогольное вино"
                        },
                        {
                            "id": 4614,
                            "name": "Квас"
                        },
                        {
                            "id": 4162,
                            "name": "Морсы, компоты"
                        },
                        {
                            "id": 4304,
                            "name": "Нектары"
                        },
                        {
                            "id": 4735,
                            "name": "Сиропы и топпинги"
                        },
                        {
                            "id": 3980,
                            "name": "Соки"
                        },
                        {
                            "id": 3940,
                            "name": "Энергетические напитки"
                        },
                        {
                            "id": 5865,
                            "name": "Детское шампанское"
                        }
                    ]
                },
                {
                    "id": 4766,
                    "name": "Здоровое питание",
                    "children": [
                        {
                            "id": 4098,
                            "name": "Хлебцы"
                        },
                        {
                            "id": 4847,
                            "name": "Кондитерские изделия"
                        },
                        {
                            "id": 3813,
                            "name": "Протеиносодержащие продукты"
                        },
                        {
                            "id": 4278,
                            "name": "Напитки диетические"
                        },
                        {
                            "id": 4709,
                            "name": "Заменители сахара"
                        },
                        {
                            "id": 3964,
                            "name": "Клетчатка, отруби, семена, зерно для проращивания"
                        },
                        {
                            "id": 4291,
                            "name": "Продукты без глютена"
                        },
                        {
                            "id": 4449,
                            "name": "Наборы для похудения"
                        },
                        {
                            "id": 4596,
                            "name": "Сиропы, джемы низкокалорийные"
                        },
                        {
                            "id": 4848,
                            "name": "Каши, супы"
                        },
                        {
                            "id": 4086,
                            "name": "Низкобелковые продукты"
                        }
                    ]
                },
                {
                    "id": 4022,
                    "name": "Чипсы, орехи, снеки",
                    "children": [
                        {
                            "id": 4240,
                            "name": "Чипсы, снеки"
                        },
                        {
                            "id": 4371,
                            "name": "Орехи"
                        },
                        {
                            "id": 3923,
                            "name": "Семечки"
                        },
                        {
                            "id": 4062,
                            "name": "Сухофрукты"
                        },
                        {
                            "id": 4506,
                            "name": "Сухарики"
                        },
                        {
                            "id": 3759,
                            "name": "Смеси орехов и сухофруктов"
                        },
                        {
                            "id": 4219,
                            "name": "Сушеная рыба и морепродукты"
                        },
                        {
                            "id": 4409,
                            "name": "Попкорн и сладкая вата"
                        }
                    ]
                },
                {
                    "id": 3867,
                    "name": "Продукты быстрого приготовления",
                    "children": [
                        {
                            "id": 4454,
                            "name": "Макаронные изделия"
                        },
                        {
                            "id": 4603,
                            "name": "Бульоны"
                        },
                        {
                            "id": 4171,
                            "name": "Супы"
                        },
                        {
                            "id": 4312,
                            "name": "Картофельное пюре"
                        },
                        {
                            "id": 4682,
                            "name": "Напитки и десерты"
                        }
                    ]
                },
                {
                    "id": 4468,
                    "name": "Восточные продукты",
                    "children": [
                        {
                            "id": 3782,
                            "name": "Товары восточной кухни"
                        }
                    ]
                },
                {
                    "id": 4311,
                    "name": "Колбасные изделия",
                    "children": [
                        {
                            "id": 4547,
                            "name": "Колбасные изделия"
                        }
                    ]
                },
                {
                    "id": 5851,
                    "name": "Для вегетарианцев",
                    "children": [
                        {
                            "id": 5855,
                            "name": "Урбеч"
                        },
                        {
                            "id": 5856,
                            "name": "Соевые продукты"
                        },
                        {
                            "id": 5854,
                            "name": "Растительное молоко"
                        },
                        {
                            "id": 5857,
                            "name": "Vega сладости"
                        }
                    ]
                }
            ]
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение каталога стран

GET
https://api-sandbox.emall.by
/open/api/v1/catalog/countries
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр).

Example:
10
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/catalog/countries?page=1&perPage=10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 133,
            "name": "Австралия"
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение каталога брендов

GET
https://api-sandbox.emall.by
/open/api/v1/catalog/brands
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр).

Example:
10
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/catalog/brands?page=1&perPage=10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 23267,
            "name": "Apple"
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение каталога ОПС

GET
https://api-sandbox.emall.by
/open/api/v1/catalog/warehouses
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр).

Example:
10
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/catalog/warehouses?page=1&perPage=10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 1,
            "name": "Минск, Логистический центр,оптовый N1",
            "weekdays": []
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Работа с товарами

Получение товаров

GET
https://api-sandbox.emall.by
/open/api/v1/products
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15

Параметры тела

Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/products?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": \"1,2,5,8\"
}"
Пример ответа:
{
    "data": [
        {
            "id": 1,
            "name": "Название товара",
            "country_id": 133,
            "category_id": 3818,
            "images": [
                "https://api-sandbox.emall.by/storage/images/14f85b7fa194ad9e945093da6dbd045f.jpg",
                "https://api-sandbox.emall.by/storage/images/35a4835316a219540cd8e635307415e9.jpg",
                "https://api-sandbox.emall.by/storage/images/4e990a6b6de888e6a0acf856c907e52b.jpg",
                "https://api-sandbox.emall.by/storage/images/e547ec8a4adb21981e577fcff02c9f67.jpg",
                "https://api-sandbox.emall.by/storage/images/81d2c093169bb71f2639e2da95d96553.jpg",
                "https://api-sandbox.emall.by/storage/images/fdefe18a8d96c4505802387aa5ee968d.jpg",
                "https://api-sandbox.emall.by/storage/images/5b3eb2dbbbdbaa50666b4fd008a1d29f.jpg",
                "https://api-sandbox.emall.by/storage/images/c49e67a7c5b91cf0283ee9c0c1142781.jpg"
            ],
            "properties": {
                "149": [
                    11022
                ],
                "308": "100",
                "1788": "1510",
                "1811": "890",
                "1877": [
                    86
                ],
                "2968": [
                    "100",
                    "123"
                ],
                "3360": [
                    297
                ],
                "4717": "2005",
                "5719": [
                    358
                ],
                "8567": "test",
                "24504": [
                    11018
                ],
                "25264": [
                    351
                ],
                "25266": [
                    356
                ],
                "26953": "300",
                "26954": "500",
                "27979": true
            },
            "barcode": "4816138913389",
            "inner_article": "6950037",
            "prices": {
                "price": 2000,
                "old_price": 2100
            },
            "is_adult": false,
            "dimension": {
                "width": 100,
                "height": 1200,
                "length": 1200,
                "weight": 29990
            },
            "composition": null,
            "brand_id": 26330,
            "manufacturer_name": "Название производителя товара",
            "warranty_unit": "days",
            "warranty_value": "35",
            "service_centres": null,
            "importer_name": "ООО \"Какая-то Компания\" г. Минск, ул. Улица 123/4 пав. 231/0, УНП 00000000, 8-000-000-11-22",
            "description": "Описание товара",
            "vat": 20,
            "stock": 300,
            "kit": 2
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение товара

GET
https://api-sandbox.emall.by
/open/api/v1/products/{product_id}
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

product_id
integer
required

ID продукта (товара)

Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/products/" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "id": 9000821,
    "name": "Смартфон iPhone 16 Pro Max",
    "country_id": 309,
    "category_id": 3730,
    "images": [
        "https://api-sandbox.emall.by/storage/images/7ed4b301d8328be4bc55570b20d85b1b.jpg",
        "https://api-sandbox.emall.by/storage/images/bfeb8e4274e0e0734a1d08edf2e75c3d.jpg",
        "https://api-sandbox.emall.by/storage/images/fc9dc2568af672e60a2dd6e29c7fdaa6.jpg",
        "https://api-sandbox.emall.by/storage/images/9a4e4e433b233e9e38838b02c52335da.jpg",
        "https://api-sandbox.emall.by/storage/images/8eef343f5d40cc5e8d42b8cfa127a50e.jpg"
    ],
    "properties": {
        "149": [
            346
        ],
        "1788": "1510",
        "1811": "890",
        "1877": [
            86
        ],
        "3360": [
            297
        ],
        "25264": [
            351
        ],
        "25266": [
            357
        ],
        "26953": "300"
    },
    "barcode": "5656565656561",
    "inner_article": "1245T678",
    "prices": {
        "price": 320000,
        "old_price": 330000
    },
    "is_adult": false,
    "dimension": {
        "width": 151,
        "height": 200,
        "length": 890,
        "weight": 28000
    },
    "composition": null,
    "brand_id": 22117,
    "manufacturer_name": "Apple",
    "warranty_unit": "none",
    "importer_name": "Asbis",
    "description": "Первый iPhone с корпусом из авиационного титана. Чип A18 Pro задает новые стандарты производительности. Настраиваемая кнопка действия для вашего удобства. Самая мощная система камер среди всех iPhone. USB‑C и USB 3 обеспечивают молниеносную скорость передачи данных. От гибкости в кадрировании до портретов нового поколения, iPhone 15 Pro предлагает несколько фокусных расстояний, словно у вас в кармане семь профессиональных объективов. Основная камера на 48 Мп улучшена до неузнаваемости, создавая фотографии с потрясающей детализацией и насыщенностью цвета. Несмотря на обилие передовых функций, iPhone 15 Pro сохраняет впечатляющее время автономной работы на весь день. Воспроизведение видео на iPhone 15 Pro Max может длиться до 29 часов, а на iPhone 15 Pro — до 23 часов",
    "vat": 20,
    "stock": 24,
    "kit": null
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}
{
    "success": false,
    "message": "Указанная <имя_модели> не найдена"
}

Создание товаров

POST
https://api-sandbox.emall.by
/open/api/v1/products
requires authentication
  1. Получите список всех категорий с помощью метода Получение всех категорий
  2. Получите список доступных подкатегорий с помощью метода Получение дочерних категорий для категории при их наличии
  3. Получите характеристики, которые можно задавать для этой подкатегории, с помощью метода Характеристики указанной категории
    Для категорий товаров, характеристик, стран производителей, брендов, используйте значения из раздела Конфигуратор.
  4. Для удобство можно получить шаблон для заполнения товаров с помощью метода Шаблон
  5. Заполните шаблон данными и отправьте запрос. Если ответ Успешно (200), значит все карточки создались, если же есть ошибка, то карточки не создадутся и в ответе придет объяснение ошибки


  • В одном запросе можно создать максимум 100 карточек (id).
  • Максимальный размер запроса 10 Мб.

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request POST \
    "https://api-sandbox.emall.by/open/api/v1/products" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"items\": [
        {
            \"is_bunched\": false,
            \"products\": [
                {
                    \"barcode\": \"11885828\",
                    \"brand_id\": 27145,
                    \"category_id\": 3730,
                    \"country_id\": 200,
                    \"description\": \"Some description\",
                    \"dimensions\": {
                        \"length\": 1200,
                        \"height\": 1200,
                        \"width\": 100,
                        \"weight\": 28900
                    },
                    \"images\": [
                        \"https....img_1.jpg\",
                        \"https....img_2.jpg\"
                    ],
                    \"importer_name\": \"Alebarda\",
                    \"inner_article\": \"6950037\",
                    \"is_adult\": false,
                    \"manufacturer_name\": \"Alebarda\",
                    \"name\": \"Pan SK-25\",
                    \"prices\": {
                        \"price\": 2000,
                        \"old_price\": 2100
                    },
                    \"properties\": null,
                    \"stock\": 300,
                    \"vat\": 10,
                    \"warranty_unit\": \"days\",
                    \"warranty_value\": 35,
                    \"kit\": 45
                }
            ]
        }
    ]
}"
Пример ответа:
{
    "success": false,
    "message": "Ошибка валидации",
    "errors": {
        "<массив_продуктов>.<индекс_в_массиве>": {
            "<поле>": [
                "<описание_ошибки>"
            ]
        }
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Редактирование товаров

PATCH
https://api-sandbox.emall.by
/open/api/v1/products
requires authentication

Данные для обновления можно получить с помощью методов Получение товаров или Получение товара

  • В одном запросе можно создать максимум 100 карточек (id).
  • Максимальный размер запроса 10 Мб.

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request PATCH \
    "https://api-sandbox.emall.by/open/api/v1/products" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"products\": [
        {
            \"id\": 11885828,
            \"barcode\": \"11885828\",
            \"brand_id\": 27145,
            \"category_id\": 3730,
            \"country_id\": 99,
            \"description\": \"Some new description\",
            \"dimensions\": {
                \"length\": 900,
                \"height\": 900,
                \"width\": 90,
                \"weight\": 21900
            },
            \"images\": [
                \"https....img_3.jpg\",
                \"https....img_4.jpg\"
            ],
            \"importer_name\": \"Alebarda_new\",
            \"inner_article\": \"6950137\",
            \"is_adult\": false,
            \"manufacturer_name\": \"Alebarda_new\",
            \"name\": \"Pan SK-25-2\",
            \"prices\": {
                \"price\": 2250,
                \"old_price\": 2500
            },
            \"properties\": null,
            \"stock\": 125,
            \"vat\": 20,
            \"warranty_unit\": \"years\",
            \"warranty_value\": 2,
            \"kit\": 45
        }
    ]
}"
Пример ответа:
{
    "success": true,
    "data": {
        "product_ids": [
            1,
            2,
            3
        ]
    }
}
{
    "success": false,
    "message": "Ошибка валидации",
    "errors": {
        "<массив_продуктов>.<индекс_в_массиве>": {
            "<поле>": [
                "<описание_ошибки>"
            ]
        }
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}
{
    "success": false,
    "message": "Указанная <имя_модели> не найдена"
}

Получение списка товаров со статусами

GET
https://api-sandbox.emall.by
/open/api/v1/products/short/status
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

ids
string

ID продуктов (товаров)

Example:
1,2,56
page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/products/short/status?ids=1%2C2%2C56&page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 1,
            "status": "На проверке"
        },
        {
            "id": 2,
            "status": "На проверке"
        },
        {
            "id": 3,
            "status": "В продаже"
        },
        {
            "id": 4,
            "status": "На проверке"
        },
        {
            "id": 5,
            "status": "В продаже"
        },
        {
            "id": 6,
            "status": "В продаже"
        },
        {
            "id": 7,
            "status": "В продаже"
        },
        {
            "id": 8,
            "status": "В продаже"
        },
        {
            "id": 9,
            "status": "В продаже"
        },
        {
            "id": 10,
            "status": "В продаже"
        },
        {
            "id": 11,
            "status": "В продаже"
        },
        {
            "id": 12,
            "status": "В продаже"
        },
        {
            "id": 13,
            "status": "В продаже"
        },
        {
            "id": 14,
            "status": "В продаже"
        },
        {
            "id": 15,
            "status": "В продаже"
        }
    ],
    "meta": {
        "total": 16,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение информации по указанному товару со статусами

GET
https://api-sandbox.emall.by
/open/api/v1/products/short/status/{product_id}
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

product_id
integer

ID продукта (товара)

Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/products/short/status/{product_id}" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "success": true,
    "data": [
        {
            "id": 1,
            "status": "На проверке"
        }
    ]
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}
{
    "success": false,
    "message": "Указанная <имя_модели> не найдена"
}

Перевод товаров по статусам

PATCH
https://api-sandbox.emall.by
/open/api/v1/change/products/status
requires authentication

Для просмотра в каком статусе товар можно воспользоваться методами Получение списка товаров со статусами или Получение информации по указанному товару со статусами

  • Когда товар находиться в статусе Не продается или Готов к продаже, селлер может перевести товар в статус В продаже.
  • Когда товар находится В продаже, селлер может снять с продажи (Не продается)

Список всех статусов товара

status name
under_review На проверке
need_fix Требуется исправление
ready_to_sale Готов к продаже
on_sale В продаже
not_for_sale Не продается
is_blocked Заблокирован

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request PATCH \
    "https://api-sandbox.emall.by/open/api/v1/change/products/status" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"products\": [
        {
            \"id\": 13536,
            \"status\": \"not_for_sale\"
        }
    ]
}"
Пример ответа:
{
    "success": true,
    "data": {
        "product_ids": [
            1,
            2,
            3
        ]
    }
}
{
    "success": false,
    "message": "Ошибка валидации",
    "errors": {
        "<массив_продуктов>.<индекс_в_массиве>": {
            "<поле>": [
                "<описание_ошибки>"
            ]
        }
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}
{
    "success": false,
    "message": "Указанная <имя_модели> не найдена"
}

Получение списка товаров в разрезе статусов

GET
https://api-sandbox.emall.by
/open/api/v1/products/by/{status}
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

status
string

Status продуктов (товаров)

Example:
on_sale

Параметры строки запроса

ids
string

ID продуктов (товаров)

Example:
1,2,56
page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/products/by/on_sale?ids=1%2C2%2C56&page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 1,
            "status": "На проверке"
        },
        {
            "id": 2,
            "status": "На проверке"
        },
        {
            "id": 3,
            "status": "В продаже"
        },
        {
            "id": 4,
            "status": "На проверке"
        },
        {
            "id": 5,
            "status": "В продаже"
        },
        {
            "id": 6,
            "status": "В продаже"
        },
        {
            "id": 7,
            "status": "В продаже"
        },
        {
            "id": 8,
            "status": "В продаже"
        },
        {
            "id": 9,
            "status": "В продаже"
        },
        {
            "id": 10,
            "status": "В продаже"
        },
        {
            "id": 11,
            "status": "В продаже"
        },
        {
            "id": 12,
            "status": "В продаже"
        },
        {
            "id": 13,
            "status": "В продаже"
        },
        {
            "id": 14,
            "status": "В продаже"
        },
        {
            "id": 15,
            "status": "В продаже"
        }
    ],
    "meta": {
        "total": 16,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Объединение товаров (создание)

POST
https://api-sandbox.emall.by
/open/api/v1/products/bunch
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request POST \
    "https://api-sandbox.emall.by/open/api/v1/products/bunch" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
Пример ответа:
{
    "data": {
        "success": true
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Объединение товаров (обновление)

PATCH
https://api-sandbox.emall.by
/open/api/v1/products/bunch
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request PATCH \
    "https://api-sandbox.emall.by/open/api/v1/products/bunch" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
Пример ответа:
{
    "data": {
        "success": [
            1,
            2,
            10,
            14
        ]
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Объединение товаров (удаление)

DELETE
https://api-sandbox.emall.by
/open/api/v1/products/bunch
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request DELETE \
    "https://api-sandbox.emall.by/open/api/v1/products/bunch" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
Пример ответа:
{
    "data": {
        "success": [
            1,
            2,
            10,
            14
        ]
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Конфигуратор


Получение всех категорий

GET
https://api-sandbox.emall.by
/open/api/v1/configurator/categories
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/configurator/categories?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 3671,
            "name": "Мотобуры",
            "has_child": true
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение дочерних категорий для категории при их наличии

GET
https://api-sandbox.emall.by
/open/api/v1/configurator/categories/{category_id}/subcategories
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

category_id
integer
required

ID выбранной категории. Обязательный параметр.

Example:
3

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/configurator/categories/3/subcategories?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 3671,
            "name": "Аксессуары для мобильных телефонов",
            "has_child": false
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}
{
    "success": false,
    "message": "Указанная <имя_модели> не найдена"
}

Характеристики указанной категории

GET
https://api-sandbox.emall.by
/open/api/v1/configurator/categories/{category_id}/properties
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

category_id
integer
required

ID выбранной категории. Обязательный параметр.

Example:
2

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/configurator/categories/2/properties?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 149,
            "is_required": true,
            "is_variant": false,
            "name": "Тип",
            "property": {
                "name": "Тип",
                "type": {
                    "id": 3,
                    "name": "list",
                    "title": "Список"
                },
                "values": [
                    {
                        "id": 23227,
                        "value": "Мотобур земляной"
                    },
                    {
                        "id": 23228,
                        "value": "Удлинитель шнека для мотобура"
                    },
                    {
                        "id": 23229,
                        "value": "Шнек к мотобуру"
                    }
                ]
            }
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение списка стран

GET
https://api-sandbox.emall.by
/open/api/v1/configurator/countries
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/configurator/countries?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 133,
            "name": "Австралия"
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение списка брендов

GET
https://api-sandbox.emall.by
/open/api/v1/configurator/brands
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/configurator/brands?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 23267,
            "name": "Apple"
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение списка ОПС

GET
https://api-sandbox.emall.by
/open/api/v1/configurator/warehouses
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/configurator/warehouses?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 1,
            "name": "Минск, Логистический центр,оптовый N1",
            "weekdays": []
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Работа с ценами и остатками

Для получения информации о товаре с ценами и остатками можно воспользоваться методами Получение информации о товарах с ценами и остатками или Получение информации о товаре с ценами и остатками

Редактирование цены товаров

PATCH
https://api-sandbox.emall.by
/open/api/v1/change/products/price
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request PATCH \
    "https://api-sandbox.emall.by/open/api/v1/change/products/price" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"products\": [
        {
            \"id\": null,
            \"old_price\": null,
            \"price\": null
        }
    ]
}"
Пример ответа:
{
    "success": true,
    "data": {
        "product_ids": [
            1,
            2,
            3
        ]
    }
}
{
    "success": false,
    "message": "Ошибка валидации",
    "errors": {
        "<массив_продуктов>.<индекс_в_массиве>": {
            "<поле>": [
                "<описание_ошибки>"
            ]
        }
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Редактирование остатка товаров

PATCH
https://api-sandbox.emall.by
/open/api/v1/change/products/stock
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request PATCH \
    "https://api-sandbox.emall.by/open/api/v1/change/products/stock" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"products\": [
        {
            \"id\": null,
            \"stock\": null
        }
    ]
}"
Пример ответа:
{
    "success": true,
    "data": {
        "products": [
            {
                "id": 9000745,
                "warehouse_stock": 7,
                "available_stock": 3,
                "reserved": 4
            }
        ]
    }
}
{
    "success": false,
    "message": "Ошибка валидации",
    "errors": {
        "<массив_продуктов>.<индекс_в_массиве>": {
            "<поле>": [
                "<описание_ошибки>"
            ]
        }
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}
{
    "success": false,
    "message": "Указанная <имя_модели> не найдена"
}

Получение информации о товарах с ценами и остатками

GET
https://api-sandbox.emall.by
/open/api/v1/products/short/info
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15

Параметры тела

Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/products/short/info?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ids\": \"1,7,289\"
}"
Пример ответа:
{
    "data": [
        {
            "id": 1,
            "title": "Apple iPhone 15 Pro Max",
            "article": "1234567867",
            "barcode": "123456789",
            "product_stock": 100,
            "product_price": {
                "price": 9999,
                "red_price": 8999,
                "old_price": 10999
            }
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение информации о товаре с ценами и остатками

GET
https://api-sandbox.emall.by
/open/api/v1/products/short/info/{product_id}
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

product_id
integer
required

ID продукта (товара) для вывода

Example:
126
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/products/short/info/126" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "id": 1,
    "title": "Apple iPhone 15 Pro Max",
    "article": "1234567867",
    "barcode": "123456789",
    "product_stock": 100,
    "product_price": {
        "price": 9999,
        "red_price": 8999,
        "old_price": 10999
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}
{
    "success": false,
    "message": "Указанная <имя_модели> не найдена"
}

Работа с заказами

Получение информации по продуктам в новом заказе

GET
https://api-sandbox.emall.by
/open/api/v1/new/orders/products
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/new/orders/products?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 10001031,
            "boxes": [
                {
                    "id": 20000458,
                    "item_price": 1002,
                    "delivery_date": "2024-07-02T11:00:00.000000Z",
                    "items": [
                        {
                            "id": 2822,
                            "offer": {
                                "id": 9000300,
                                "name": "Дубль Вазы 1 опять ",
                                "description": "1",
                                "inner_article": null,
                                "measure": {
                                    "measure": "шт",
                                    "measure_value": null,
                                    "net_measure": null,
                                    "division": 1
                                },
                                "images": []
                            },
                            "price": 1002,
                            "total_price": 1002,
                            "quantity": 1
                        }
                    ]
                },
                {
                    "id": 20000459,
                    "item_price": 25.99,
                    "delivery_date": "2024-07-02T11:00:00.000000Z",
                    "items": [
                        {
                            "id": 2823,
                            "offer": {
                                "id": 977371,
                                "name": "Корм для кошек «Purina One» с лососем и пшеницей, 1.5 кг",
                                "description": "Корм Purina ONE® разработан специально для стерилизованных кошек и кастрированных котов. Он содержит оптимальный уровень белка и жира для поддержания мышечной массы тела и здорового обмена веществ. Благодаря балансу минеральных веществ мочевыделительная система кошки остается здоровой.",
                                "inner_article": "977371",
                                "measure": {
                                    "measure": "шт",
                                    "measure_value": null,
                                    "net_measure": "кг",
                                    "division": 1
                                },
                                "images": []
                            },
                            "price": 25.99,
                            "total_price": 25.99,
                            "quantity": 1
                        }
                    ]
                }
            ],
            "time_start": "2024-07-02 14:00:00",
            "time_end": "2024-07-03 00:06:45"
        }
    ],
    "meta": {
        "total": 25,
        "count": 25,
        "per_page": 50,
        "current_page": 1,
        "total_pages": 1
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение информации по заказам в разрезе статуса

GET
https://api-sandbox.emall.by
/open/api/v1/orders/{status}
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

status
string
required

Искомый статус. Обязательный параметр.

Must be one of:
  • confirmed
  • in_payment
  • delivered
  • cancelled
Example:
in_payment

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/orders/in_payment?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 123,
            "status": "Отменен",
            "total_price": 100,
            "item_price": 50,
            "delivery_price": 15,
            "created_at": "2024-06-21 16:18:21",
            "recipient": {
                "id": 123,
                "delivery_type": "ops",
                "full_address_name": "г. Минск, ул. Брикета, 30",
                "surname": "Иванов",
                "name": "Иван",
                "phone": "375291234567",
                "comment": "Все хорошо"
            },
            "boxes": [
                {
                    "id": 10000744,
                    "item_price": 12.15,
                    "delivery_date": "2024-06-04T16:00:00.000000Z",
                    "postal_number": "BY290SLALKS23",
                    "items": [
                        {
                            "id": 1775,
                            "offer": {
                                "id": 578995,
                                "name": "Кофе молотый «Жокей» по-восточному, 450 г",
                                "description": "Натуральный жареный, молотый.",
                                "inner_article": "578995",
                                "measure": {
                                    "measure": "шт",
                                    "measure_value": null,
                                    "net_measure": "г",
                                    "division": 1
                                },
                                "images": [
                                    "https://example.com/image.png"
                                ]
                            },
                            "price": 12.15,
                            "total_price": 12.15,
                            "quantity": 1
                        }
                    ]
                }
            ],
            "time_start": "2024-06-04 19:00:00",
            "time_end": "2024-06-06 23:50:00"
        }
    ],
    "meta": {
        "total": 17,
        "count": 15,
        "per_page": 15,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение адресных ярлыков для коробок

GET
https://api-sandbox.emall.by
/open/api/v1/orders/label/{box}
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

box
integer
required

ID Коробки для получения ярлыка. Обязательный параметр.

Example:
18
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/orders/label/18" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
[Бинарные данные] -  boxId_label.pdf
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Изменение статуса заказа

PATCH
https://api-sandbox.emall.by
/open/api/v1/orders/status/change
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request PATCH \
    "https://api-sandbox.emall.by/open/api/v1/orders/status/change" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"orders\": {
        \"id\": null,
        \"status\": null
    }
}"
Пример ответа:
{
    "success": true,
    "data": {
        "product_ids": [
            10000137
        ]
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение информации по коробкам

GET
https://api-sandbox.emall.by
/open/api/v1/boxes/{status}
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL параметры

status
string
required

Искомый статус. Обязательный параметр.

Must be one of:
  • awaiting_delivery
  • in_delivery
  • refusal
  • on_post
  • delivered
Example:
on_post

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/boxes/on_post?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "id": 1,
            "item_price": 29.78,
            "postal_number": "BY290SLALKS23",
            "status": "cancelled",
            "delivery_date": "2024-03-07T07:00:00.000000Z",
            "items": [
                {
                    "id": 707,
                    "offer": {
                        "id": 977371,
                        "name": "Корм для кошек «Purina One» с лососем и пшеницей, 1.5 кг",
                        "description": "Корм Purina ONE® разработан специально для стерилизованных кошек и кастрированных котов. Он содержит оптимальный уровень белка и жира для поддержания мышечной массы тела и здорового обмена веществ. Благодаря балансу минеральных веществ мочевыделительная система кошки остается здоровой.",
                        "inner_article": "977371",
                        "measure": {
                            "measure": "шт",
                            "measure_value": null,
                            "net_measure": "кг",
                            "division": 1
                        },
                        "images": []
                    },
                    "price": 25.99,
                    "total_price": 25.99,
                    "quantity": 1
                },
                {
                    "id": 708,
                    "offer": {
                        "id": 1274488,
                        "name": "Носки женские «Yellow Frog» 202108-6, размер 23-25",
                        "description": "",
                        "inner_article": "1274488",
                        "measure": {
                            "measure": "шт",
                            "measure_value": null,
                            "net_measure": "г",
                            "division": 1
                        },
                        "images": []
                    },
                    "price": 3.79,
                    "total_price": 3.79,
                    "quantity": 1
                }
            ]
        }
    ],
    "meta": {
        "total": 54,
        "count": 50,
        "per_page": 50,
        "current_page": 1,
        "total_pages": 2
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Работа с аналитикой

Получение активных SKU

GET
https://api-sandbox.emall.by
/open/api/v1/analytic/sku
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15

Параметры тела

Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/analytic/sku?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"date_begin\": \"2024-06-13\",
    \"date_end\": \"2024-08-10\"
}"
Пример ответа:
{
    "data": [
        {
            "barcode": "54491069",
            "inner_article": "12084",
            "name": "Напиток газированный «Sprite», 500 мл",
            "category_name": "Напитки газированные",
            "quantity": 1
        }
    ],
    "meta": {
        "total": 10,
        "count": 10,
        "per_page": 50,
        "current_page": 1,
        "total_pages": 1
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение товараоборота

GET
https://api-sandbox.emall.by
/open/api/v1/analytic/turnover
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры строки запроса

page
integer

Номер страницы (необязательный параметр).

Example:
1
perPage
integer

Номер страницы (необязательный параметр). По умолчанию - 15 позиций на страницу.

Example:
15
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/analytic/turnover?page=1&perPage=15" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "data": [
        {
            "barcode": "54491069",
            "inner_article": "12084",
            "name": "Напиток газированный «Sprite», 500 мл",
            "category_name": "Напитки газированные",
            "quantity": "1.00",
            "total_price": "159"
        }
    ],
    "meta": {
        "total": 10,
        "count": 10,
        "per_page": 50,
        "current_page": 1,
        "total_pages": 1
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Получение информации по истории цен

GET
https://api-sandbox.emall.by
/open/api/v1/analytic/price-history
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/analytic/price-history" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
Пример ответа:
{
    "success": true,
    "data": {
        "July": {
            "prices": [
                {
                    "price": 153,
                    "date": "2024-07-29"
                },
                {
                    "price": 243,
                    "date": "2024-07-30"
                }
            ],
            "average": 198
        },
        "August": {
            "prices": [
                {
                    "price": 2212,
                    "date": "2024-08-30"
                }
            ],
            "average": 2212
        }
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}

Работа с кабинетом

Получение информации по финансам

GET
https://api-sandbox.emall.by
/open/api/v1/seller/profile/finances
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Параметры тела

Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/seller/profile/finances" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
Пример ответа:
{
    "success": true,
    "data": {
        "link": "https://api-sandbox.emal.by/<ссылка_на_файл>.xlsx"
    }
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}
{
    "success": false,
    "message": "Указанная <имя_модели> не найдена"
}

Шаблоны

Получение шаблона товара

GET
https://api-sandbox.emall.by
/open/api/v1/templates/product
requires authentication

Заголовки

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json
Пример запроса:
curl --request GET \
    --get "https://api-sandbox.emall.by/open/api/v1/templates/product" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
{
    "items": [
        {
            "is_bunched": "Указатель на создание нескольких вариаций товара",
            "products": [
                {
                    "barcode": "Штрих-код, уникальное значение состоящее из 8 или 13 цифр",
                    "brand_id": "ID бренд, получение из справочника брендов",
                    "category_id": "ID категории, получение из справочника категорий",
                    "country_id": "ID страна, получение из справочника стран",
                    "description": "Описание товара",
                    "dimensions": {
                        "length": "Длина",
                        "height": "Высота",
                        "width": "Ширина",
                        "weight": "Вес"
                    },
                    "images": [
                        "URL картинки"
                    ],
                    "importer_name": "Название импортера",
                    "inner_article": "Внешний артикул",
                    "is_adult": "Признак товара 18+",
                    "manufacturer_name": "Производитель",
                    "name": "Название товара",
                    "prices": {
                        "price": "Цена",
                        "old_price": "Старая цена"
                    },
                    "properties": {
                        "<id свойства>": "<значение свойства в соответствии с ответом от https://api-sandbox.emall.by/open/api/v1/configurator/categories/{category_id}/properties>"
                    },
                    "service_centres": "Наименование сервисного центра",
                    "stock": "Остаток товара",
                    "vat": "НДС",
                    "warranty_unit": "Измерение срока гарантии, одно из 3-х значений: years, months, days",
                    "warranty_value": "Срок гарантии"
                }
            ]
        }
    ]
}
{
    "success": false,
    "message": "Ошибка авторизации. Проверьте токен"
}
{
    "success": false,
    "message": "У Вас недостаточно прав на совершение действий, обратитесь к администратору"
}