Каталог и цены
С помощью этих методов вы можете показать товары текущего Application, построить фильтры, открыть карточку товара и добавить избранное.
Перед началом
Для каталога нужен App Token приложения:
Token: <application_token> Для избранного дополнительно передавайте Counterparty Bearer клиента в заголовке Authorization.
Товар появится в каталоге, если у него задана категория, есть свободный остаток на складе Application и этот остаток больше нуля.
Каталог
Получить список товаров
- Метод
- GET
- URL
https://api.gigma.ru/api/counterparty/products- Авторизация
- App Token
- Headers
Token: {application_token}- Успешный ответ
200
Передайте фильтры в строке запроса. Gigma вернёт только товары текущего Application.
Параметры запроса
page(integer, опционально) — номер страницы, по умолчанию1;per_page(integer, опционально) — количество товаров, по умолчанию10;query(string, опционально) — поиск по названию, от 1 до 255 символов;category_id[](integer[], опционально) — ID категорий;brand_id[](integer[], опционально) — ID брендов;country_id[](integer[], опционально) — ID стран;tag_id[](integer[], опционально) — ID тегов;order_by(string, опционально) —name_asc,name_desc,popularity_asc,popularity_desc,price_ascилиprice_desc;price_from(number, опционально) — нижняя граница цены, от0;price_to(number, опционально) — верхняя граница цены, от1.
Параметры available и sale сейчас не поддерживаются и не влияют на результат.
Пример запроса
GET /api/counterparty/products?page=1&per_page=20&category_id[]=12&tag_id[]=4&order_by=price_asc HTTP/1.1
Host: api.gigma.ru
Token: <application_token>
Accept: application/json Ответ
{
"products": {
"current_page": 1,
"data": [
{
"id": 26896,
"views_count": 23,
"photo": "https://api.gigma.ru/storage/uploads/product.png",
"photos": [],
"name": "Товар",
"brand": {
"id": 99,
"name": "Бренд"
},
"old_price": "2450.00",
"price": "1960.00",
"discount": 20,
"quantity": 5,
"unit": null,
"is_favourite": false,
"tags": [],
"parameters": {
"wholesale": false,
"pieces_per_pack": 1,
"quantity_pack": 5
}
}
],
"per_page": 20,
"total": 1,
"last_page": 1
}
} price возвращается строкой с двумя десятичными знаками. quantity и parameters.quantity_pack рассчитываются из свободного остатка.
Для публичного запроса is_favourite обычно равен false. После входа клиента используйте методы избранного ниже.
Ошибки
401— App Token отсутствует или недействителен;422— фильтр имеет неверный формат или содержит несуществующий ID.
Получить карточку товара
- Метод
- GET
- URL
https://api.gigma.ru/api/counterparty/products/{id}- Авторизация
- App Token
- Headers
Token: {application_token}- Успешный ответ
200
Передайте ID товара в адресе запроса. В ответе вы получите описание, характеристики, фотографии, цену, остаток и параметры упаковки.
Параметры пути
id(integer, обязательный) — ID товара.
Пример запроса
GET /api/counterparty/products/26896 HTTP/1.1
Host: api.gigma.ru
Token: <application_token>
Accept: application/json Ответ
{
"product": {
"id": 26896,
"name": "Товар",
"description": "<p>Описание</p>",
"specification": "<p>Характеристики</p>",
"price": "1960.00",
"quantity": 5,
"photos": [],
"is_favourite": false,
"share_link": null,
"tags": [],
"parameters": {
"wholesale": false,
"pieces_per_pack": 1,
"quantity_pack": 5
}
}
} Gigma увеличивает счётчик просмотров не чаще одного раза за 10 минут для одного IP и товара.
Поля description и specification могут содержать HTML. Очищайте их перед выводом.
Ошибки
401— App Token отсутствует или недействителен;404— товар не найден в текущем Application.
Получить диапазон цен
- Метод
- GET
- URL
https://api.gigma.ru/api/counterparty/prices- Авторизация
- App Token
- Headers
Token: {application_token}- Успешный ответ
200
Используйте метод, чтобы настроить фильтр цены. Передавайте те же товарные фильтры, что и при получении списка; page и per_page на результат не влияют.
Параметры запроса
query(string, опционально) — поиск по названию, от 1 до 255 символов;category_id[](integer[], опционально) — ID категорий;brand_id[](integer[], опционально) — ID брендов;country_id[](integer[], опционально) — ID стран;tag_id[](integer[], опционально) — ID тегов;order_by(string, опционально) —name_asc,name_desc,popularity_asc,popularity_desc,price_ascилиprice_desc;price_from(number, опционально) — нижняя граница цены, от0;price_to(number, опционально) — верхняя граница цены, от1.
Ответ
{
"min_price": 100,
"max_price": 10000
} Если подходящих товаров нет, обе границы равны 0.
Ошибки
401— App Token отсутствует или недействителен;422— фильтр имеет неверный формат.
Избранное
Все методы ниже требуют App Token и Counterparty Bearer клиента.
Получить избранные товары
- Метод
- GET
- URL
https://api.gigma.ru/api/counterparty/products/favourites- Авторизация
- App Token + Bearer token
- Headers
Token: {application_token}; Authorization: Bearer {counterparty_token}- Успешный ответ
200
Gigma вернёт избранное текущего клиента с пагинацией.
Параметры запроса
page(integer, опционально) — номер страницы, по умолчанию1;per_page(integer, опционально) — количество товаров, по умолчанию10.
Ответ
{
"products": {
"current_page": 1,
"data": [
{
"id": 26896,
"name": "Товар",
"price": "1960.00",
"is_favourite": true
}
],
"per_page": 10,
"total": 1,
"last_page": 1
}
} Ошибки
401— App Token или Counterparty Bearer отсутствует либо недействителен.
Получить товар через маршрут избранного
- Метод
- GET
- URL
https://api.gigma.ru/api/counterparty/products/favourites/{product_id}- Авторизация
- App Token + Bearer token
- Headers
Token: {application_token}; Authorization: Bearer {counterparty_token}- Успешный ответ
200
Маршрут возвращает карточку товара по ID, но не проверяет, добавлен ли товар в избранное текущего клиента.
Для обычной карточки используйте GET /api/counterparty/products/{id}. Принадлежность избранному определяйте по списку GET /api/counterparty/products/favourites.
Параметры пути
product_id(integer, обязательный) — ID товара.
Ответ
{
"product": {
"id": 26896,
"name": "Товар",
"price": "1960.00",
"is_favourite": false
}
} Ошибки
401— App Token или Counterparty Bearer отсутствует либо недействителен;404— товара с таким ID нет. Отсутствие в избранном само по себе не вызывает404.
Добавить товар в избранное
- Метод
- POST
- URL
https://api.gigma.ru/api/counterparty/products/favourites- Авторизация
- App Token + Bearer token
- Headers
Token: {application_token}; Authorization: Bearer {counterparty_token}; Content-Type: application/json- Успешный ответ
200
Параметры запроса
product_id(integer, обязательный) — ID существующего товара.
Пример запроса
{
"product_id": 26896
} Ответ
{
"product": {
"id": 26896,
"name": "Товар",
"price": "1960.00",
"is_favourite": true
}
} Повторный запрос не создаёт вторую запись и возвращает текущую карточку товара.
Ошибки
401— App Token или Counterparty Bearer отсутствует либо недействителен;404— товар не найден.
Удалить товар из избранного
- Метод
- DELETE
- URL
https://api.gigma.ru/api/counterparty/products/favourites/{product_id}- Авторизация
- App Token + Bearer token
- Headers
Token: {application_token}; Authorization: Bearer {counterparty_token}- Успешный ответ
200
Передайте в пути ID товара, а не ID записи избранного.
Параметры пути
product_id(integer, обязательный) — ID товара.
Ответ
{
"message": "Product successfully deleted from favourites"
} Ошибки
401— App Token или Counterparty Bearer отсутствует либо недействителен;404— товар не находится в избранном текущего клиента.
Дальнейшие шаги
- Получите доставку, оплату и магазины в разделе «Доставка, оплата и справочники».
- Рассчитайте корзину и создайте заказ в разделе «Заказы и оплата».
- Для регулярных платежей используйте сервис управления подписками.