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

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

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

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

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    996
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    735
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1134

Інтеграція 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С-Бітрікс скоротить овербукінг та ручне введення.