Справочники витрины

Справочники дают frontend допустимые ID для фильтров и checkout. Получайте их из API и не переносите значения из примеров в production-код.

Какая область данных у метода

ДанныеФактическая область
Категории и брендытекущий Application
Слайдытекущий Application
Магазинывесь проект текущего Application
Страны, доставка и оплатаобщие системные справочники
Тегиобщий список runtime, не отфильтрованный по приложению

Диапазон цен описан вместе с каталогом, потому что принимает те же товарные фильтры.

Фильтры каталога

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

Метод
GET
URL
https://api.gigma.ru/api/counterparty/categories
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

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

  • limit (integer, опционально) — ограничение числа элементов, от 1;
  • parent_id (integer, опционально) — получить дочерние категории указанного узла.

Без parent_id backend возвращает корневые категории текущего Application.

Ответ

{
    "categories": [
        {
            "id": 12,
            "name": "Аксессуары",
            "photo": "https://api.gigma.ru/storage/uploads/category.jpg",
            "parent": null
        }
    ],
    "categoriesCount": 1
}

Получение брендов

Метод
GET
URL
https://api.gigma.ru/api/counterparty/brands
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

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

  • limit (integer, опционально) — ограничение числа элементов, от 1.

Бренды текущего Application возвращаются по убыванию приоритета.

Ответ

{
    "brands": [
        {
            "id": 99,
            "name": "Бренд",
            "photo": null,
            "created_at": "2026-08-15T10:00:00+00:00"
        }
    ],
    "brandsCount": 1
}

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

Метод
GET
URL
https://api.gigma.ru/api/counterparty/countries
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Ответ

{
    "countries": [
        {
            "id": 1,
            "name": "Россия",
            "photo": null,
            "created_at": "2026-08-15T10:00:00+00:00"
        }
    ],
    "countriesCount": 1
}

Страны — системный справочник. Наличие страны в ответе не означает, что в текущей витрине есть товары с таким значением.

Доставка и оплата обычного заказа

Получайте цепочку в таком порядке:

delivery_types
  └─ delivery subtype
       └─ subtype params

payment_types
shops — при самовывозе
search_address — при вводе адреса

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

Метод
GET
URL
https://api.gigma.ru/api/counterparty/delivery_types
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Ответ

{
    "deliveryTypes": [
        {
            "id": 1,
            "name": "Самовывоз",
            "price": "0.00",
            "is_active": 1
        },
        {
            "id": 2,
            "name": "Доставка",
            "price": "300.00",
            "is_active": 1
        }
    ],
    "deliveryTypesCount": 2
}

Показывайте клиенту только элементы с активным состоянием. Точный ID самовывоза или доставки получайте из ответа и конфигурации проекта, а не определяйте по названию примера.

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

Метод
GET
URL
https://api.gigma.ru/api/counterparty/delivery_types/{type_id}
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Ответ

{
    "deliveryType": {
        "id": 2,
        "name": "Доставка",
        "price": "300.00",
        "is_active": 1
    }
}

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

Метод
GET
URL
https://api.gigma.ru/api/counterparty/delivery_types/{type_id}/subtypes
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Ответ

{
    "deliverySubtypes": [
        {
            "id": 2,
            "name": "Курьер",
            "price": "1000.00",
            "is_active": 1
        }
    ],
    "deliverySubtypesCount": 1
}

Получение одного подтипа доставки

Метод
GET
URL
https://api.gigma.ru/api/counterparty/delivery_types/{type_id}/subtypes/{subtype_id}
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Ответ

{
    "deliverySubtype": {
        "id": 2,
        "name": "Курьер",
        "price": "1000.00",
        "is_active": 1
    }
}

Текущее ограничение runtime: controller не проверяет, что subtype_id действительно относится к type_id из path. Используйте ID только из списка подтипов выбранного способа доставки.

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

Метод
GET
URL
https://api.gigma.ru/api/counterparty/delivery_types/{type_id}/subtypes/{subtype_id}/params
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Параметры представляют дополнительные варианты подтипа, например конкретные пункты выдачи.

Ответ

{
    "deliverySubtypeParams": [
        {
            "id": 7,
            "name": "г Москва, ул Деловая, д 20"
        }
    ],
    "deliverySubtypeParamsCount": 1
}

Текущее ограничение runtime: type_id не сверяется с родителем subtype_id. Получайте подтип через предыдущий endpoint и не подставляйте несвязанные ID.

Получение способов оплаты

Метод
GET
URL
https://api.gigma.ru/api/counterparty/payment_types
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Ответ

{
    "paymentTypes": [
        {
            "id": 2,
            "photo": null,
            "name": "Онлайн",
            "description": "Оплата через платёжный сервис"
        }
    ],
    "paymentTypesCount": 1
}

Этот справочник выбирает тип оплаты обычного заказа. Сохранённые карты подписки получайте через GET /api/counterparty/payment-methods.

Получение магазинов и пунктов самовывоза

Метод
GET
URL
https://api.gigma.ru/api/counterparty/shops
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Ответ

{
    "shops": [
        {
            "id": 4,
            "photo": null,
            "name": "Центральный",
            "address": "г Москва, ул Деловая, д 20",
            "phone": "+79991234567",
            "schedule": "Пн–Пт, 10:00–18:00"
        }
    ],
    "shopsCount": 1
}

Список ограничен проектом, но не отдельным Application. Показывайте только магазины, которые бизнес разрешил для данного продукта.

Текущее поведение маршрута карточки магазина

Метод
GET
URL
https://api.gigma.ru/api/counterparty/shops/{id}
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Этот route не является карточкой магазина. Route model binding проверяет существование переданного shop ID, но controller игнорирует выбранный объект и возвращает первую глобальную страницу со slug shops-info.

Ответ

{
    "page": {
        "id": 103,
        "slug": "shops-info",
        "title": "Информация о магазинах",
        "content": "<p>Справочная информация</p>"
    }
}

Не используйте endpoint для получения адреса или проверки принадлежности магазина проекту. До исправления backend берите карточки только из GET /api/counterparty/shops.

Поиск адреса

Метод
POST
URL
https://api.gigma.ru/api/counterparty/search_address
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

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

  • query (string, обязательно) — поисковая строка от 3 до 1024 символов.

Пример запроса

{
    "query": "Деловая 20, Москва"
}

Ответ

{
    "addresses": [
        {
            "name": "г Москва, ул Деловая, д 20",
            "value": "115477, г Москва, ул Деловая, д 20"
        }
    ],
    "addressesCount": 1
}

Сохраняйте в заказе выбранное полное значение value, а name используйте как краткую подпись.

Контент витрины

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

Метод
GET
URL
https://api.gigma.ru/api/counterparty/slides
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

Слайды ограничены текущим Application.

Ответ

{
    "slides": [
        {
            "id": 1,
            "photo": "https://api.gigma.ru/storage/uploads/slide.jpg",
            "name": "Новая коллекция",
            "description": "Скидка на выбранные товары",
            "link": "/catalog"
        }
    ],
    "slidesCount": 1
}

Проверяйте link по allowlist маршрутов frontend перед переходом.

Объединённая загрузка

Получение нескольких справочников одним запросом

Метод
GET
URL
https://api.gigma.ru/api/counterparty/dictionaries
Авторизация
App Token
Headers
Token: {application_token}
Успешный ответ
200

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

  • include (string, опционально) — список через запятую: categories, brands, countries, tags, popular_requests.

Без include backend возвращает все пять наборов. Неизвестные значения игнорируются.

Пример запроса

GET /api/counterparty/dictionaries?include=categories,brands,countries HTTP/1.1
Host: api.gigma.ru
Token: <application_token>
Accept: application/json

Ответ

{
    "dictionaries": {
        "categories": [],
        "brands": [],
        "countries": []
    }
}
  • categories и brands ограничены текущим Application;
  • countries — системный справочник;
  • tags сейчас не ограничены приложением;
  • popular_requests агрегируются без фильтра по проекту или приложению и не должны использоваться в tenant-facing интерфейсе до исправления backend.

Запрашивайте только нужные наборы: endpoint не кэширует область данных за вас.

Как использовать при создании заказа

  1. Получите актуальные способы доставки и оплаты.
  2. Для самовывоза выберите shop_id из списка магазинов.
  3. Для доставки выберите подтип и, если требуется, delivery_subtype_param_id либо адрес из Dadata.
  4. Передайте выбранные ID в создание заказа.
  5. Обработайте 422: справочник или доступность товара могли измениться после отображения checkout.

© 2026 Gigma