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

הזמנות מהאתר אובדות, זמינות החדרים אינה תואמת למציאות—הזמנות כפולות והזמנות שהוחמצו הופכות לנורמה. אנו בונים אינטגרציה של Wubook עם 1C-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
אימות מפתח session (lkey) Bearer token (OAuth 2.0)
תמיכה ב-Webhook לא כן
מהירות בקשה ~200 ms ~50 ms
המלצת Wubook מיושן לפרויקטים חדשים

קבלת מפתח session עבור 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, אנו מיד מבטלים את ה-cache ומבצעים בקרת זמינות ממוקדת עבור התאריכים וסוגי החדרים המושפעים.

מתודת 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 token – בצע בקשת 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 – רישום אפליקציה, קבלת token.
  • סנכרון חדרים וזמינות – HL-blocks לאחסון נתונים, סוכנים לסנכרון תקופתי.
  • ניהול הזמנות דו-כיווני – יצירה, שינוי, ביטול מהאתר ומ-Wubook.
  • Webhooks והודעות push – הרשמה לאירועים, עיבוד בזמן אמת.
  • תור ניסיונות חוזרים לפעולות שנכשלו – אספקה מובטחת במקרה של כשלים.
  • רישום וניטור – תיעוד בקשות לניפוי באגים.
  • בדיקה על הנכס שלך – אימות עם נתונים אמיתיים.

לוח זמנים וניסיון

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

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