Получение блока инвентаря по событию
Сценарий применяется при синхронизации блоков квот из внешней АСУ.
При создании или изменении блока платформа TravelLine публикует событие
pms_integration_storage:inventory_block_changed. По этому событию интегратор
запрашивает полные данные блока через REST.
1. Уведомление о событии
На адрес интегратора приходит пакет вебхук-событий. Один элемент массива выглядит так:
{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "pms_integration_storage:inventory_block_changed",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"propertyId": "2490",
"inventoryBlockId": "12345"
}
}
Значение inventoryBlockId — это внутренний идентификатор блока в PMS Integration Storage API.
2. Получение деталей блока
Запрос:
GET /api/pms-integration-storage/v1/properties/{{ propertyId }}/inventories/blocks/{{ inventoryBlockId }} HTTP/1.1
Host: partner.tlintegration.com
Authorization: Bearer {{ access_token }}
Параметры:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
propertyId | string (path) | Да | ID средства размещения из payload события. |
inventoryBlockId | string (path) | Да | ID блока из payload события. |
Ответ:
{
"inventoryBlock": {
"id": "12345",
"propertyId": "2490",
"pmsSideId": "BLK-001",
"pmsSideCode": "QUOTA-2024",
"blockStatus": "Active",
"ratePlanCodes": ["BAR", "GROUP"],
"pmsSideCreateDateTime": "2026-02-15T10:00:00",
"pmsSideCancelDateTime": null,
"updateDateTime": "2026-03-15T14:30:00Z",
"dailyItems": [
{
"date": "2026-03-15",
"roomTypeCode": "DBL",
"blockedCount": 10,
"realizedCount": 3,
"cutoffDate": "2026-03-10",
"pricing": {
"oneAdultPrice": 5500,
"servicesPrice": 1200,
"currencyCode": "RUB"
}
},
{
"date": "2026-03-16",
"roomTypeCode": "DBL",
"blockedCount": 10,
"realizedCount": 2,
"cutoffDate": "2026-03-10",
"pricing": {
"oneAdultPrice": 5500,
"servicesPrice": 1200,
"currencyCode": "RUB"
}
},
{
"date": "2026-03-17",
"roomTypeCode": "DBL",
"blockedCount": 10,
"realizedCount": 0,
"cutoffDate": "2026-03-10",
"pricing": {
"oneAdultPrice": 5500,
"servicesPrice": 1200,
"currencyCode": "RUB"
}
}
]
}
}
Если блок отменён, blockStatus принимает значение Cancelled, а в pmsSideCancelDateTime
указывается момент отмены на стороне АСУ. Поле realizedCount показывает, сколько
номеров из квоты уже реализовано на указанную дату.