שילוב Wubook עם 1C-Bitrix: סנכרון בזמן אמת באמצעות Zak API

המלון שלכם פועל על Wubook, אבל אתר ה-1C-Bitrix שלכם פועל באופן עצמאי: הזמנות לא מגיעות ל-PMS, זמינות לא מסונכרנת, מה שמוביל לאובר-בוקינג ולאובדן הזמנות. אנחנו בונים אינטגרציית Wubook-Bitrix באמצעות Zak API המודרני ומגדירים חילופי נתונים דו-כיווניים בזמן אמת. הצוות שלנו מספק את הפרויקט במפתח מלא—מבדיקת היתכנות ועד הטמעה ותמיכה שוטפת—כדי שתוכלו לשכוח מהזנה ידנית ומכפילויות.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
שילוב Wubook עם 1C-Bitrix: סנכרון בזמן אמת באמצעות Zak API
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

שילוב Wubook עם 1C-Bitrix: סנכרון בזמן אמת באמצעות Zak API

בעל מלון הגדיר את Wubook כ-PMS ומנהל ערוצים, אך אתר Bitrix פועל בנפרד. הזמנות מהאתר לא מגיעות ל-Wubook, הזמינות לא מסונכרנת — הזמנות יתר ואובדן הזמנות הופכים לנורמה. הצוות שלנו פיתח פתרון מוכח: אינטגרציה המבטיחה פעילות יציבה.

Wubook הוא PMS איטלקי עם מנהל ערוצים. בניגוד למערכות ניהול נכסים רוסיות, הוא עובד באופן פעיל עם נכסים אירופיים, אך משמש גם מלונות רוסיים עצמאיים, במיוחד אלה המנהלים את Booking.com ו-Airbnb דרך מנהל ערוצים יחיד. המטרה של שילוב עם Bitrix היא לשכפל את מנוע ההזמנות המקוון של Wubook באתר מבלי לנטוש את ה-PMS, ולסנכרן נתונים בשני הכיוונים. לפי הערכותינו, האינטגרציה מחזירה את עצמה תוך 3–4 חודשים על ידי צמצום הזנה ידנית וביטול כפילויות. העלות הממוצעת של אינטגרציה כזו משתנה, אך חיסכון בזמן בעיבוד הזמנות מגיע ל-80%.

כיצד Zak API מפשט את ניהול ההזמנות?

Wubook מספק שני APIs: XML-RPC (מיושן, אך עדיין פונקציונלי) ו-Zak API (REST) — מודרני, JSON, כתובת בסיס https://wubook.net/api/zak/. עבור אינטגרציות חדשות, אנו ממליצים על Zak: הוא מהיר יותר, קל יותר לניפוי באגים, ותומך ב-OAuth 2.0. הבדלים עיקריים:

תכונה XML-RPC API Zak API
פורמט נתונים XML JSON
אימות מפתח סשן (lkey) אסימון Bearer (OAuth 2.0)
תמיכה ב-Webhook לא כן
מהירות בקשה ~200 ms ~50 ms
המלצת Wubook מיושן לפרויקטים חדשים

קבלת מפתח סשן עבור 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, האימות משתמש ב-$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(); , המתקבל דרך OAuth 2.0. לפי תיעוד רשמי של Wubook (https://wubook.net/api/zak/), Zak API מטפל בעד 1000 בקשות לדקה ללא מגבלות.

מדוע סנכרון זמינות בזמן אמת חשוב?

מנהל הערוצים של Wubook מפיץ חדרים בין ערוצים: Booking.com, Airbnb, אתר ישיר. אם חדר מוזמן בערוץ אחד, Wubook מפחית אוטומטית את הזמינות עבור אחרים. הבעיה היא שסוכן שבודק כל 15 דקות עשוי שלא לעדכן מספיק מהר, ואורח מהאתר עלול לקבל אישור לחדר שכבר תפוס. הפתרון הוא הודעות webhook. Wubook תומך בהודעות push (Authorization: Bearer {access_token}) דרך notifications. עם קבלת הודעת POST /properties/{id}/notifications/subscribe, אנו מיד מבטלים את המטמון ומבצעים בקשת זמינות ממוקדת עבור התאריכים וסוגי החדרים המושפעים.

מתודת Zak API availability_changed מחזירה סוגי חדרים. מתודה GET /properties/{id}/rooms מחזירה זמינות לטווח. מבנה התגובה כולל GET /properties/{id}/availability (מערך של סוגים) ולכל אחד — מערך תאריכים עם שדה rooms (מספר חדרים זמינים). אנו כותבים ל-avail:

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?

bl_wubook_availability:

$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 מחזיר 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'], ]); } } (מספרי) ו-POST /properties/{id}/reservations (מחרוזת, להצגה לאורח). שניהם נשמרים בהזמנת Bitrix.

ביטול הזמנה וטיפול בשגיאות

$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); או reservation_id עם סטטוס reservation_code. Wubook משחרר מיד את המשבצת עבור ערוצים אחרים. ב-Bitrix, מטפל סטטוס ההזמנה במעבר ל-"מבוטל" קורא ל-API הביטול. במקרה של שגיאת רשת, אנו שומרים משימת ניסיון חוזר ב-DELETE /properties/{id}/reservations/{reservation_id} ומעבדים אותה דרך סוכן. כל פעולה שנכשלה שומרת את מספר הניסיונות (מקסימום 5). סוכן מנסה שוב בקשות שנכשלו כל 2 דקות. לאחר 5 ניסיונות, הרשומה מסומנת כשגויה ונשלחת הודעת מנהל. תכנית זו מבטיחה אספקה גם עם בעיות רשת זמניות של Wubook.

הגדרת אינטגרציה שלב אחר שלב

  1. רשום אפליקציה ב-Wubook – קבל client_id ו-client_secret עבור OAuth 2.0.
  2. קבל אסימון Bearer – בצע בקשת POST ל-PUT.
  3. צור HL-blocks – cancelled ו-bl_wubook_pending_ops.
  4. הגדר סוכנים – סוכן סנכרון זמינות (מרווח 5 דקות) וסוכן עיבוד תור.
  5. הירשם ל-webhooks – רשום URL עבור הודעות /oauth/access_token ו-bl_wubook_availability.
  6. בדוק – אמת יצירת הזמנה בנכס בדיקה וסנכרון זמינות.

מה כלול בעבודה

  • הגדרת Zak API ו-OAuth 2.0 – רישום אפליקציה, קבלת אסימון.
  • סנכרון חדרים וזמינות – HL-blocks לאחסון נתונים, סוכנים לסנכרון תקופתי.
  • ניהול הזמנות דו-כיווני – יצירה, שינוי, ביטול מהאתר ומ-Wubook.
  • Webhooks והודעות push – הרשמה לאירועים, עיבוד בזמן אמת.
  • תור ניסיונות חוזרים לפעולות שנכשלו – אספקה מובטחת במקרה של כשלים.
  • רישום וניטור – תיעוד בקשות לניפוי באגים.
  • בדיקה על הנכס שלך – אימות עם נתונים אמיתיים.

ציר זמן וניסיון

שלב משך
הגדרת Zak API + OAuth יום אחד
סנכרון חדרים וזמינות 2–3 ימים
יצירת וביטול הזמנות יומיים
הרשמה ל-webhook ומטפל יומיים
בדיקה עם נכס אמיתי יומיים
סה"כ 9–12 ימים

הניסיון שלנו באינטגרציות PMS ו-Bitrix: 10+ שנות פיתוח, מעל 50 פרויקטים מוצלחים למלונות ואכסניות. אנו מבטיחים סנכרון יציב ללא אובדן נתונים ומספקים תיעוד תפעולי. צור קשר כדי להעריך את הפרויקט שלך — נחשב את היקף העבודה המדויק תוך יום אחד. קבל ייעוץ כדי ללמוד כיצד שילוב Wubook עם 1C-Bitrix יפחית הזמנות יתר והזנה ידנית.