Проверяет валидность промокода

Request

POST

/check-promocode

Body

application/json
{
    "id": "string",
    "sessionId": "string",
    "venueId": "string",
    "eventId": "string",
    "hallId": "string",
    "sessionTime": {
        "sessionStart": "2022-12-29T18:02:01Z",
        "sessionEnd": "2022-12-29T18:02:01Z",
        "type": "ON_TIME",
        "timezone": "string"
    },
    "created": "2022-12-29T18:02:01Z",
    "reservationTimeout": "string",
    "items": [
        {
            "seatId": "string",
            "levelId": "string",
            "categoryId": "string",
            "admission": false,
            "cost": {
                "price": {
                    "value": "string",
                    "currencyCode": "string"
                },
                "fee": {
                    "value": "string",
                    "currencyCode": "string"
                },
                "total": {
                    "value": "string",
                    "currencyCode": "string"
                }
            },
            "seat": {
                "id": "string",
                "row": "string",
                "place": "string",
                "fragment": "string",
                "x": 0,
                "y": 0
            },
            "orderItemRequirements": [
                {
                    "type": "UNDEFINED",
                    "value": "string"
                }
            ],
            "supplementType": "UNDEFINED_SUPPLEMENT_TYPE",
            "categoryType": "REGULAR",
            "visitor": {
                "name": "string",
                "surname": "string",
                "middle_name": "string",
                "user_id": "string"
            }
        }
    ],
    "customer": {
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "phone": "string",
        "birthDate": "string"
    },
    "orderNumber": "string",
    "codeWord": "string",
    "sum": {
        "price": {
            "value": "string",
            "currencyCode": "string"
        },
        "fee": {
            "value": "string",
            "currencyCode": "string"
        },
        "total": {
            "value": "string",
            "currencyCode": "string"
        }
    },
    "paymentType": "UNDEFINED_PAYMENT_TYPE",
    "deliveryType": "UNDEFINED_DELIVERY_TYPE",
    "specificFields": {},
    "additional": {},
    "promocode": "string",
    "cancelItems": [
        {
            "ticketId": "string",
            "refundedCost": {
                "price": {
                    "value": "string",
                    "currencyCode": "string"
                },
                "fee": {
                    "value": "string",
                    "currencyCode": "string"
                },
                "total": {
                    "value": "string",
                    "currencyCode": "string"
                }
            },
            "created": "2022-12-29T18:02:01Z"
        }
    ],
    "loyaltyPrograms": [
        {
            "type": "string"
        }
    ]
}

Name

Description

additional

Type: object

Служебное поле.

cancelItems

Type: CancelItem[]

Список отмененных элементов заказа.

codeWord

Type: string

Кодовое слово для получения заказа. Используется некоторыми кинотеатрами.

created

Type: string<date-time>

Время создания заказа в формате UNIX времени.

customer

Type: Customer

Информация о покупателе.

deliveryType

Type: DeliveryType

Способ доставки билета.

Default: UNDEFINED_DELIVERY_TYPE

Enum: UNDEFINED_DELIVERY_TYPE, E_TICKET, TICKET_OFFICE, DELIVERY

eventId

Type: string

Идентификатор события в базе данных.

hallId

Type: string

Идентификатор зала в базе данных.

id

Type: string

Идентификатор заказа у партнера. Поле заполняется в следующих случаях:

  • После успешного бронирования билетов.
  • После успешнего создания долгосрочной брони.

items

Type: OrderItem[]

Список элементов заказа.

loyaltyPrograms

Type: LoyaltyProgram[]

orderNumber

Type: string

Номер заказа у партнера. Поле заполняется в следующих случаях:

  • После успешного бронирования билетов.
  • После успешного подтверждения покупки.
  • После успешнего создания долгосрочной брони.

paymentType

Type: PaymentType

  • UNDEFINED_PAYMENT_TYPE: Тип оплаты не определен.
  • STANDARD: Стандартная оплата на сайте или в приложении.
  • POSTPONED: Оплата отложена. Для заказов в статусе BOOKED.

Default: UNDEFINED_PAYMENT_TYPE

Enum: UNDEFINED_PAYMENT_TYPE, STANDARD, POSTPONED

promocode

Type: string

Промокод.

reservationTimeout

Type: string

Длительность брони в секундах.
В REST API значение должно заканчиваться на s, например "259200s".

sessionId

Type: string

Идентификатор сеанса в базе данных.

sessionTime

Type: SessionTime

Время сеанса.

specificFields

Type: object

[additional]

Type: string

Произвольные служебные поля, которые заполняются в следующих случаях:

  • После успешного бронирования билетов.
  • После успешного подтверждения покупки.
  • После успешнего создания долгосрочной брони.

sum

Type: Cost

Стоимость заказа.

venueId

Type: string

Идентификатор площадки в базе данных.

CancelItem

Name

Description

created

Type: string<date-time>

Время возврата позиции в формате UNIX времени.

refundedCost

Type: Cost

Стоимость к возврату пользователю по позиции.

ticketId

Type: string

Идентификатор купленного билета.

Customer

Name

Description

birthDate

Type: string

Дата рождения клиента в формате yyyy-MM-dd.

email

Type: string

Электронная почта клиента.

firstName

Type: string

Имя клиента.

lastName

Type: string

Фамилия клиента.

phone

Type: string

Телефон клиента.

DeliveryType

  • UNDEFINED_DELIVERY_TYPE: Тип доставки билета не определен.
  • E_TICKET: Электронный билет.
  • TICKET_OFFICE: Выкуп в кассе площадки или в кассах партнера.
  • DELIVERY: Доставка курьером.

Type

Description

DeliveryType

Default: UNDEFINED_DELIVERY_TYPE

Enum: UNDEFINED_DELIVERY_TYPE, E_TICKET, TICKET_OFFICE, DELIVERY

OrderItem

Name

Description

admission

Type: boolean<boolean>

Указывает, что на уровне нет привязки к местам. True — для уровня без мест, false — для уровня с местами.
Значение по умолчанию — false.

categoryId

Type: string

Идентификатор ценовой категории. Обязателен для уровня без привязки к местам.

categoryType

Type: SeatCategoryType

  • REGULAR: Обычный билет.
  • CHILD: Детское место.
  • PERSON_WITH_SPECIAL_NEEDS: Место для людей с ограниченными возможностями.

Default: REGULAR

Enum: REGULAR, CHILD, PERSON_WITH_SPECIAL_NEEDS

cost

Type: Cost

Стоимость выбранного места.

levelId

Type: string

Идентификатор уровня.

orderItemRequirements

Type: OrderItemRequirement[]

seat

Type: Seat

Информация о выбранном месте. Обязательно для уровня с привязкой к местам (при значении admission = false).

seatId

Type: string

Идентификатор выбранного места. Обязателен для уровня с привязкой к местам.

supplementType

Type: SupplementType

Тип дополнений к билету. Если для билета нет дополнений — UNDEFINED_SUPPLEMENT_TYPE.

Default: UNDEFINED_SUPPLEMENT_TYPE

Enum: UNDEFINED_SUPPLEMENT_TYPE, PRESENT, TENT, PARKING_SPOT, TRANSFER, CAMPING, GLASSES_3D, GLASSES_3D_RENT, ICE_SKATES, SKATE_PROTECTION, SKATE_SHARPENING, TICKET

visitor

Type: Visitor

Данные клиента по билету.

LoyaltyProgram

Name

Description

type

Type: string

PaymentType

  • UNDEFINED_PAYMENT_TYPE: Тип оплаты не определен.
  • STANDARD: Стандартная оплата на сайте или в приложении.
  • POSTPONED: Оплата отложена. Для заказов в статусе BOOKED.

Type

Description

PaymentType

Default: UNDEFINED_PAYMENT_TYPE

Enum: UNDEFINED_PAYMENT_TYPE, STANDARD, POSTPONED

SessionTime

Name

Description

sessionEnd

Type: string<date-time>

Время конца сеанса в формате времени ISO8601.

sessionStart

Type: string<date-time>

Время начала сеанса в формате времени ISO8601.

timezone

Type: string

Временная зона, в формате tz database. Например: Europe/Moscow, Asia/Yekaterinburg.

type

Type: SessionType

Тип сеанса.

Default: ON_TIME

Enum: ON_TIME, ALL_DAY

Cost

Name

Description

fee

Type: Money

Сервисный сбор.

price

Type: Money

Номинальная стоимость.

total

Type: Money

Общая стоимость с учетом сервисного сбора и промокода.

SeatCategoryType

  • REGULAR: Обычный билет.
  • CHILD: Детское место.
  • PERSON_WITH_SPECIAL_NEEDS: Место для людей с ограниченными возможностями.

Type

Description

SeatCategoryType

Default: REGULAR

Enum: REGULAR, CHILD, PERSON_WITH_SPECIAL_NEEDS

OrderItemRequirement

Name

Description

type

Type: OrderItemRequirementType

Тип необходимых данных для билета.

Default: UNDEFINED

Enum: UNDEFINED, FAN_ID

value

Type: string

Значение необходимых данных для билета.

Seat

Name

Description

fragment

Type: string

Идентификатор фрагмента. Места, объединенные одним фрагментом, нельзя купить по отдельности.

id

Type: string

Идентификатор места в базе данных.

place

Type: string

Номер места.

row

Type: string

Номер ряда.

x

Type: integer<int32>

Координата X на плане зала, в количестве мест от самого левого места в зале.
В отличие от row, учитывается только абсолютное положение места.
Например, в дугообразном зале места с одинаковым X могут оказаться в разных рядах.

y

Type: integer<int32>

Координата Y на плане зала, в количестве мест от самого верхнего места в зале.
В отличие от place, учитывается только абсолютное положение места.
Например, в дугообразном зале места с одинаковым Y могут оказаться в разных рядах.

SupplementType

  • UNDEFINED_SUPPLEMENT_TYPE: Тип дополнительных услуг для заказа не определен или дополнительные услуги отсутствуют.
  • PRESENT: Подарок.
  • TENT: Палатка.
  • PARKING_SPOT: Место на парковке.
  • TRANSFER: Трансфер.
  • CAMPING: Кемпинг.
  • GLASSES_3D: 3D-очки.
  • GLASSES_3D_RENT: Аренда 3D-очков.
  • ICE_SKATES: Коньки.
  • SKATE_PROTECTION: Защита для катания на коньках.
  • SKATE_SHARPENING: Заточка.
  • TICKET: Дополнительный билет.

Type

Description

SupplementType

Default: UNDEFINED_SUPPLEMENT_TYPE

Enum: UNDEFINED_SUPPLEMENT_TYPE, PRESENT, TENT, PARKING_SPOT, TRANSFER, CAMPING, GLASSES_3D, GLASSES_3D_RENT, ICE_SKATES, SKATE_PROTECTION, SKATE_SHARPENING, TICKET

Visitor

Name

Description

middle_name

Type: string

Отчество клиента.

name

Type: string

Имя клиента.

surname

Type: string

Фамилия клиента.

user_id

Type: string

Идентификатор клиента .

SessionType

  • ON_TIME: Мероприятие происходит в указанное время. Значение по умолчанию.
  • ALL_DAY: Мероприятие длится весь день.

Type

Description

SessionType

Default: ON_TIME

Enum: ON_TIME, ALL_DAY

Money

Name

Description

currencyCode

Type: string

Код валюты согласно ISO 4217, например RUB, USD, EUR.

value

Type: string<int64>

Сумма в минимальной единице валюты. Например, для рубля — копейки, для доллара — центы.

OrderItemRequirementType

  • UNDEFINED
  • FAN_ID: Fan ID.

Type

Description

OrderItemRequirementType

Default: UNDEFINED

Enum: UNDEFINED, FAN_ID

Responses

200 OK

OK

Body

application/json
{
    "status": "PROMOCODE_NOT_FOUND",
    "statusDescription": "string",
    "promocodeInfo": {
        "promocodeAmount": {
            "value": "string",
            "currencyCode": "string"
        },
        "promocodePercent": 0,
        "promocodeDescription": "string"
    },
    "promocodeCost": {
        "price": {
            "value": "string",
            "currencyCode": "string"
        },
        "fee": {
            "value": "string",
            "currencyCode": "string"
        },
        "total": {
            "value": "string",
            "currencyCode": "string"
        }
    }
}

Name

Description

promocodeCost

Type: Cost

Стоимость, которая была погашена промокодом. Обязательна, если промокод найден и его можно применить.

promocodeInfo

Type: PromocodeInfo

Информация о промокоде. Обязательна, если промокод найден.

status

Type: CheckPromocodeStatus

Статус проверки промокода.

Default: PROMOCODE_NOT_FOUND

Enum: PROMOCODE_NOT_FOUND, PROMOCODE_ALLOWED, PROMOCODE_NOT_ALLOWED

statusDescription

Type: string

Опциональное описание статуса.

PromocodeInfo

Name

Description

promocodeAmount

Type: Money

Номинал промокода, если промокод на номинал.

promocodeDescription

Type: string

Дополнительное описание промокода.

promocodePercent

Type: number<double>

Процент промокода, если промокод на процент.

CheckPromocodeStatus

  • PROMOCODE_NOT_FOUND: Промокод не найден.
  • PROMOCODE_ALLOWED: Промокод найден и его можно использовать.
  • PROMOCODE_NOT_ALLOWED: Промокод найден, но его нельзя использовать.

Type

Description

CheckPromocodeStatus

Default: PROMOCODE_NOT_FOUND

Enum: PROMOCODE_NOT_FOUND, PROMOCODE_ALLOWED, PROMOCODE_NOT_ALLOWED

No longer supported, please use an alternative and newer version.