DSSDevelopers
Партнёрский API

История версий

Текущая версия контракта 0.7.0, руководство и справочник по ней: /partner-api/v0.7/. Адрес /partner-api/latest/ всегда ведёт на текущую версию.

Правило изменений

Добавление полей и кодов ошибок происходит без предупреждения: клиент обязан переживать неизвестные поля и ветвиться по HTTP-статусу на неизвестных кодах. Удаление и переименование только новой версией контракта с уведомлением партнёров и окном параллельной работы двух версий.

Версии

ВерсияДатаЧто изменилось
0.7.008.10.2026Только добавления. Цвет категории: поле category_color (#RRGGBB) у места в GET /events/{id}/seats?sector=…, у места брони и у категории сектора в сводке секторов. null ровно тогда, когда category_code равен null; у категории сектора задан всегда. Тот же цвет, что в легенде сайта продажи ДСС; цвет категории выбирает организатор.
0.6.008.10.2026Только добавления. SVG-схема зала от дизайнера, та же, что у сайта продажи: поле scheme (overview_svg_url, sectors[] с sector_id и svg_url) в карточке GET /events/{id}, в списке null; поле svg_url у сектора в сводке секторов, null у стоячей зоны и без схемы. Файлы публичные, без подписи. id элементов обзорного SVG равен sector_id, id элементов SVG сектора равен space_id места.
0.5.006.10.2026Только добавления. Покупка сектором: у сектора в сводке появились sale_mode (seat или sector), standing и categories (категории с остатком и текущей ценой); у сектора режима sector список мест пуст. POST /bookings принимает ровно одно из seats и sector ({sector_id, category_code, quantity}), платформа сама выбирает места. Новые коды: 409 SECTOR_SOLD_OUT (с details.available) и 409 SECTOR_MODE_MISMATCH; 422 INVALID_PARAMETERS с details.reason sector_unknown и sector_category_unknown. Сценарии сертификации 32 и 33.
0.4.030.09.2026Ломающее: category_code больше не закрытый словарь (standard, vip, fan, invitation, service), у каждого мероприятия свои коды C1, C2…; фильтр category у мест принимает их, неизвестный код возвращает пустой список, а не 422. Добавлено category_name у места и забронированного места. price_tenge и price_from_tenge это текущая цена (у категории бывают периоды «с даты»); цена брони фиксируется при брони. price_from_tenge мероприятия и сектора null, если в продаже только бесплатные места. Место без категории приходит status: blocked, is_sellable: false, price_tenge: null и не считается в доступных.
0.3.117.09.2026Добавлена ручка POST /bookings/{booking_id}/release: освобождение брони до истечения срока. Уточнено: expired означает «мест за бронью нет» (срок вышел или бронь освобождена); описан предел одновременных запросов max_concurrent_requests. Удалений и переименований нет. Уточнено 22.09.2026, без изменения поведения: первый проход фида одной страницей и почему курсор берут с первой страницы (раздел «Изменения мероприятий»); у partner_order_id в GET /orders задокументирована минимальная длина 1, которую сервер проверял и раньше.
0.3.003.09.2026Первая редакция, выданная партнёрам. Относительно внутренней 0.2.0: order_id и ticket_id стали UUID-строками; данные покупателя только псевдоним email, поля name, phone и consent убраны; правило «не списывать позже, чем за 30 секунд до expires_at»; стенд открыт, ключи выдаются техническому контакту
0.2.002.09.2026Внутренняя редакция после двух ревью, партнёрам не выдавалась
0.1.001.09.2026Внутренняя редакция, партнёрам не выдавалась