Перейти к содержимому

GET /products/

Метод получения карточек продуктов для главной страницы витрины.

Запрос

GET <API_URL>/products/

HTTP-заголовки запроса

X-Front: <Витрина>

Для получения массивов карточек продуктов, категорий, групп, тэгов и бейджей для главной страницы витрины необходимо передать в запросе HTTP-заголовок X-Front с параметром Витрина. Параметр Витрина предоставляется владельцем API при подключении к билетной системе. Запрос необходимо подписать, включив в список подписываемых HTTP-заголовков X-Front.

Вызова данного метода достаточно для формирования главной страницы витрины.

Ответ

Сервер возвращает данные в формате JSON, содержащие массивы карточек продуктов, категорий, групп, тэгов и бейджей, релевантных для главной страницы указанной витрины.

HTTP-код успешного ответа

Код: 200 OK

Схема данных ответа

Возвращаемый тип: массив объектов

Поля:

  • productCards
    • Массив карточек продуктов
    • Тип: object
    • Присутствие в ответе: Обязательно
      • productId
        • Уникальный идентификатор продукта
        • Тип: integer
        • Присутствие в ответе: Обязательно
      • slug
        • Уникальный SLUG продукта
        • Тип: string
        • Присутствие в ответе: Обязательно
      • name
        • Наименование продукта
        • Тип: string
        • Присутствие в ответе: Обязательно
      • ageRating
        • Возрастной рейтинг продукта
        • Тип: integer
        • Присутствие в ответе: Обязательно
      • saleSchema
        • Схема реализации продукта
        • Тип: enum(integer)
        • Присутствие в ответе: Обязательно
      • featured
        • Признак, что продукт относится к избранным
        • Тип: bool
        • Присутствие в ответе: Обязательно
      • banner
        • Признак, что продукт должен всегда выводится в наиболее приоритетной области главной страницы
        • Тип: bool
        • Присутствие в ответе: Обязательно
      • pushka
        • Признак, что продукт реализуется по Пушкинской карте
        • Тип: bool
        • Присутствие в ответе: Обязательно
      • paused
        • Признак, что реализация продукта временно поставлена на паузу
        • Тип: bool
        • Присутствие в ответе: Обязательно
      • soldOut
        • Признак, что продукт полностью распродан
        • Тип: bool
        • Присутствие в ответе: Обязательно
      • nextScheduleSlot
        • Ближайший сеанс
        • Тип: timestamp
        • Присутствие в ответе: Обязательно
      • multiScheduleSlots
        • Признак, что у продукта доступно более одного сеанса
        • Тип: bool
        • Присутствие в ответе: Обязательно
      • imageUrl
        • Ссылка на изображение для карточки продукта
        • Тип: string
        • Присутствие в ответе: Необязательно
      • altText
        • Альтернативный текст для изображения карточки продукта
        • Тип: string
        • Присутствие в ответе: Необязательно
      • copyright
        • Текст копирайта для изображения карточки продукта
        • Тип: string
        • Присутствие в ответе: Необязательно
      • copyrightUrl
        • Ссылка копирайта для изображения карточки продукта
        • Тип: string
        • Присутствие в ответе: Необязательно
      • inventoryItemName
        • Наименование первого объекта посещения или площадки проведения продукта
        • Тип: string
        • Присутствие в ответе: Обязательно
      • multiInventoryItems
        • Признак, что у продукта более одного объекта посещения или площадки проведения сеанса(ов)
        • Тип: bool
        • Присутствие в ответе: Обязательно
      • priceFrom
        • Минимальная цена приобретения билета, релевантная на момент запроса
        • Тип: decimal
        • Присутствие в ответе: Необязательно
      • badges
        • Массив slug-строк бейджей продукта
        • Тип: array(string)
        • Присутствие в ответе: Необязательно
      • groups
        • Массив объектов-групп в которые входит продукт
        • Тип: array(object)
        • Присутствие в ответе: Необязательно
          • slug
            • Уникальный SLUG группы
            • Тип: string
            • Присутствие в ответе: Обязательно
          • sortWeight
            • Позиция продукта в группе (по возрастанию)
            • Тип: integer
            • Присутствие в ответе: Обязательно
      • todaySlot
        • Сегодняшний сеанс продукта (на момент запроса)
        • Тип: timestamp
        • Присутствие в ответе: Необязательно
      • todayMultiScheduleSlots
        • _Признак, что у продукта более одного сеанса сегодня (на момент запроса)
        • Тип: bool
        • Присутствие в ответе: Необязательно
      • tomorrowSlot
        • Завтрашний сеанс продукта (на момент запроса)
        • Тип: timestamp
        • Присутствие в ответе: Необязательно
      • tomorrowMultiScheduleSlots
        • _Признак, что у продукта более одного сеанса завтра (на момент запроса)
        • Тип: bool
        • Присутствие в ответе: Необязательно
      • weekendSlot
        • Сеанс продукта на ближайших выходных (на момент запроса)
        • Тип: timestamp
        • Присутствие в ответе: Необязательно
      • weekendMultiScheduleSlots
        • _Признак, что у продукта более одного сеанса на ближайших выходных (на момент запроса)
        • Тип: bool
        • Присутствие в ответе: Необязательно
  • categories
    • Массив категорий, релевантных и содержащих продукты для указанной витрины
    • Тип: object
    • Присутствие в ответе: Необязательно
      • id
        • Уникальный идентификатор категории
        • Тип: integer
        • Присутствие в ответе: Обязательно
      • slug
        • Уникальный SLUG категории
        • Тип: string
        • Присутствие в ответе: Обязательно
      • nameSingular
        • Наименование категории в единственном числе
        • Тип: string
        • Присутствие в ответе: Обязательно
      • namePlural
        • Наименование категории во множественном числе
        • Тип: string
        • Присутствие в ответе: Обязательно
  • groups
    • Массив групп, релевантных и содержащих продукты для указанной витрины
    • Тип: object
    • Присутствие в ответе: Необязательно
      • id
        • Уникальный идентификатор группы
        • Тип: integer
        • Присутствие в ответе: Обязательно
      • slug
        • Уникальный SLUG группы
        • Тип: string
        • Присутствие в ответе: Обязательно
      • name
        • Наименование группы
        • Тип: string
        • Присутствие в ответе: Обязательно
      • cardType
        • Тип карточек продуктов для группы
        • Тип: enum(integer)
        • Присутствие в ответе: Обязательно
  • tags
    • Массив тэгов, релевантных и содержащих продукты для указанной витрины
    • Тип: object
    • Присутствие в ответе: Необязательно
      • id
        • Уникальный идентификатор тэга
        • Тип: integer
        • Присутствие в ответе: Обязательно
      • slug
        • Уникальный SLUG тэга
        • Тип: string
        • Присутствие в ответе: Обязательно
      • name
        • Наименование тэга
        • Тип: string
        • Присутствие в ответе: Обязательно
  • badges
    • Массив бейджей, релевантных и содержащих продукты для указанной витрины
    • Тип: object
    • Присутствие в ответе: Необязательно
      • id
        • Уникальный идентификатор группы
        • Тип: integer
        • Присутствие в ответе: Обязательно
      • slug
        • Уникальный SLUG группы
        • Тип: string
        • Присутствие в ответе: Обязательно
      • name
        • Наименование группы
        • Тип: string
        • Присутствие в ответе: Обязательно
      • color
        • Цвет фона для бейджа
        • Тип: string
        • Присутствие в ответе: Обязательно

Пример ответа

{
"productCards": [
{
"productId": 270,
"slug": "russkaya-yarmarka-torg-gulyanye-balagan",
"name": "Русская ярмарка. Торг. Гулянье. Балаган",
"ageRating": 12,
"saleSchema": 4,
"featured": false,
"banner": false,
"pushka": false,
"paused": false,
"soldOut": null,
"nextScheduleSlot": "2024-07-19T10:00:00+03:00",
"multiScheduleSlots": true,
"imageUrl": "https://static.dcl.ru/images/0sjfjb2yr5rhb000nhzx0bzbw8.jpg",
"altText": "russkaya-yarmarka-torg-gulyanye-balagan",
"copyright": null,
"copyrightUrl": null,
"inventoryItemName": "Выставочный зал Пакгаузы",
"multiInventoryItems": false,
"priceFrom": null,
"badges": [
"novoe"
],
"groups": [
{
"slug": "kulturnaya-stolitsa",
"sortWeight": 0
},
{
"slug": "vystavki",
"sortWeight": 0
}
],
"todaySlot": "2024-07-19T10:00:00+03:00",
"todayMultiScheduleSlots": false,
"tomorrowSlot": "2024-07-20T10:00:00+03:00",
"tomorrowMultiScheduleSlots": false,
"weekendSlot": "2024-07-20T10:00:00+03:00",
"weekendMultiScheduleSlots": true
},
{
"productId": 248,
"slug": "the-hatters",
"name": "The Hatters",
"ageRating": 16,
"saleSchema": 2,
"featured": false,
"banner": true,
"pushka": false,
"paused": false,
"soldOut": false,
"nextScheduleSlot": "2024-08-10T19:30:00+03:00",
"multiScheduleSlots": false,
"imageUrl": "https://static.dcl.ru/images/0shb1jkjw1sj3000ys5c3mf0z4.jpg",
"altText": "The Hatters",
"copyright": null,
"copyrightUrl": null,
"inventoryItemName": "Ракушка",
"multiInventoryItems": false,
"priceFrom": 2200,
"badges": null,
"groups": [
{
"slug": "stolitsa-zakatov",
"sortWeight": 0
},
{
"slug": "kulturnaya-stolitsa",
"sortWeight": 0
}
],
"todaySlot": null,
"todayMultiScheduleSlots": null,
"tomorrowSlot": null,
"tomorrowMultiScheduleSlots": null,
"weekendSlot": null,
"weekendMultiScheduleSlots": null
}
],
"categories": [
{
"id": 1,
"slug": "vystavki",
"nameSingular": "Выставка",
"namePlural": "Выставки"
},
{
"id": 2,
"slug": "kontserty",
"nameSingular": "Концерт",
"namePlural": "Концерты"
}
],
"groups": [
{
"id": 1,
"slug": "stolitsa-zakatov",
"name": "Столица закатов",
"cardType": 1
},
{
"id": 10,
"slug": "kulturnaya-stolitsa",
"name": "Культурная столица",
"cardType": 1
}
],
"tags": [
{
"id": 7,
"slug": "detyam",
"name": "#детям"
},
{
"id": 8,
"slug": "poznavatelno",
"name": "#познавательно"
}
],
"badges": [
{
"id": 1,
"slug": "novoe",
"name": "Новое",
"color": "#18c660"
},
{
"id": 2,
"slug": "populyarnoe",
"name": "Популярное",
"color": "#7753f7"
}
]
}

Возможные ошибки

WIP

Статья находится в работе