Інтеграція Wubook з 1С-Бітрікс: реал-тайм через Zak API

Готель працює на Wubook, але сайт на 1С-Битрикс живе своїм життям: бронювання не потрапляють у PMS, доступність не синхронізується — звідси овербукінг і втрачені замовлення. Ми розробляємо інтеграцію Wubook з Битрикс через сучасний Zak API і налаштовуємо двосторонній обмін даними в реальному часі. Наша команда реалізує проєкт під ключ — від аудиту до впровадження та подальшої підтримки, щоб ви забули про ручне введення та дублі.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція Wubook з 1С-Бітрікс: реал-тайм через Zak API
Середній
~1-2 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1532
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1045
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    820
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    915
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    853
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1209

Інтеграція Wubook з 1С-Бітрікс: реал-тайм синхронізація через Zak API

Власник готелю налаштував Wubook як PMS і channel manager, але сайт на Бітрікс живе окремо. Бронювання з сайту не потрапляють до Wubook, доступність не синхронізується – овербукінг і втрачені замовлення стають нормою. Наша команда розробила перевірене рішення: інтеграція з гарантією стабільної роботи.

Wubook — італійська PMS із channel manager. Від російських готельних систем відрізняється тим, що активно працює з європейськими об'єктами, але зустрічається й у російських незалежних готелів, особливо тих, хто працює з Booking.com і Airbnb через єдиний channel manager. Завдання інтеграції з Бітрікс — дублювати двигун онлайн-бронювання Wubook на сайті, не відмовляючись від PMS, і синхронізувати дані в обидва боки. За нашими оцінками, інтеграція окупається за 3–4 місяці за рахунок зниження ручного введення та виключення дублів. Економія часу на обробку бронювань сягає 80%.

Як Zak API спрощує управління бронюваннями?

Wubook надає два API: XML‑RPC (legacy, але все ще працює) та Zak API (REST) — сучасний, JSON, базовий URL https://wubook.net/api/zak/. Для нових інтеграцій ми рекомендуємо саме Zak: він швидший, простіший у налагодженні та підтримує OAuth 2.0. Порівняння ключових відмінностей:

Характеристика XML-RPC API Zak API
Формат даних XML JSON
Авторизація Сесійний ключ (lkey) Bearer token (OAuth 2.0)
Підтримка webhooks Ні Так
Швидкість запитів ~200 мс ~50 мс
Рекомендація Wubook Legacy Для нових проєктів

Отримання сесійного ключа для XML-RPC:

$client = new \PhpXmlRpc\Client('https://wubook.net/xrws/');
$msg = new \PhpXmlRpc\Request('wired.acquire_token', [
    new \PhpXmlRpc\Value(WUBOOK_USER),
    new \PhpXmlRpc\Value(WUBOOK_PASS),
    new \PhpXmlRpc\Value(WUBOOK_PROVIDER_KEY),
]);
$response = $client->send($msg);
$token = $response->value()->scalarval();

Для Zak API авторизація через Authorization: Bearer {access_token}, токен отримується через OAuth 2.0. Згідно з офіційною документацією Wubook (https://wubook.net/api/zak/), Zak API обробляє до 1000 запитів на хвилину без обмежень.

Чому важлива синхронізація доступності в реальному часі?

Channel manager Wubook розподіляє номери між каналами: Booking.com, Airbnb, прямий сайт. Якщо номер зайнятий на одному каналі, Wubook автоматично знижує доступність для інших. Проблема в тому, що агент з інтервалом 15 хвилин може не встигнути оновити дані, і гість із сайту отримає підтвердження на вже зайнятий номер. Рішення — webhook-сповіщення. Wubook підтримує push-сповіщення (notifications) через POST /properties/{id}/notifications/subscribe. При отриманні сповіщення availability_changed ми миттєво інвалідуємо кеш і робимо точковий запит доступності по зачеплених датах і типах номерів.

Метод Zak API GET /properties/{id}/rooms повертає типи номерів. Метод GET /properties/{id}/availability — доступність по діапазону. Структура відповіді включає rooms (масив типів) і для кожного — масив дат із полем avail (кількість вільних). Записуємо в bl_wubook_availability:

foreach ($availData['rooms'] as $roomType) {
    foreach ($roomType['dates'] as $dateEntry) {
        WubookAvailabilityTable::addOrUpdate([
            'ROOM_TYPE_ID' => $roomType['id'],
            'DATE' => new \Bitrix\Main\Type\Date($dateEntry['date']),
            'QTY' => (int)$dateEntry['avail'],
        ]);
    }
}

Як ми створюємо бронювання через Zak API?

POST /properties/{id}/reservations:

$payload = [
    'checkin' => $dateFrom,
    'checkout' => $dateTo,
    'rooms' => [
        ['id' => $wubookRoomId, 'amount' => 1],
    ],
    'customer' => [
        'name' => $guestName,
        'email' => $guestEmail,
        'phone' => $guestPhone,
    ],
    'amount' => $totalAmount,
    'currency' => 'RUB',
    'channel' => 'WEB',
    'notes' => 'Замовлення #' . $orderId . ' з сайту',
];
$result = $zakClient->post('/properties/' . WUBOOK_PROPERTY_ID . '/reservations', $payload);

Wubook повертає reservation_id (числовий) та reservation_code (рядковий, для відображення гостю). Обидва зберігаємо в замовлення Бітрікс.

Скасування бронювань та обробка помилок

DELETE /properties/{id}/reservations/{reservation_id} або PUT зі статусом cancelled. Wubook негайно звільняє слот для інших каналів. У Бітрікс обробник статусу замовлення при переході в «Скасовано» викликає метод скасування через API. При мережевій помилці зберігаємо завдання на повтор у bl_wubook_pending_ops і обробляємо агентом. Кожна невдала операція зберігається з кількістю спроб (макс. 5). Агент кожні 2 хвилини повторює невдалі запити. Після 5 спроб запис позначається як помилковий і надсилається сповіщення адміністратору. Така схема забезпечує гарантію доставки навіть при тимчасових проблемах із мережею Wubook.

Покрокове налаштування інтеграції

  1. Реєстрація додатка в Wubook – отримуємо client_id і client_secret для OAuth 2.0.
  2. Отримання Bearer token – робимо POST-запит на /oauth/access_token.
  3. Створення HL-блоків – bl_wubook_availability та bl_wubook_pending_ops.
  4. Налаштування агентів – агент синхронізації доступності (інтервал 5 хв) і агент обробки черги.
  5. Підписка на webhook – реєструємо URL для сповіщень availability_changed та reservation_created.
  6. Тестування – перевіряємо створення бронювання на тестовому об'єкті та синхронізацію доступності.

Що входить у роботу

  • Налаштування Zak API та OAuth 2.0 – реєстрація додатка, отримання токенів.
  • Синхронізація номерів та доступності – HL-блоки для зберігання даних, агенти для періодичної синхронізації.
  • Двостороннє управління бронюваннями – створення, зміна, скасування з сайту та з Wubook.
  • Webhooks та push-сповіщення – підписка на події, обробка в реальному часі.
  • Черга відкладених операцій – гарантована доставка при збоях.
  • Логування та моніторинг – запис запитів для налагодження.
  • Тестування на вашому об'єкті – перевірка на реальних даних.

Терміни та досвід

Етап Термін
Налаштування Zak API + OAuth 1 день
Синхронізація номерів та доступності 2–3 дні
Створення та скасування бронювань 2 дні
Webhook-підписка та обробник 2 дні
Тестування з реальним об'єктом 2 дні
Разом 9–12 днів

Наш досвід в інтеграціях PMS та Бітрікс: 10+ років розробки, більше 50 успішних проєктів для готелів та хостелів. Ми гарантуємо стабільну синхронізацію без втрати даних та надаємо документацію з експлуатації. Зв'яжіться з нами для оцінки вашого проєкту — розрахуємо точний обсяг робіт за один день. Отримайте консультацію, щоб дізнатися, як інтеграція Wubook з 1С-Бітрікс скоротить овербукінг та ручне введення.