שילוב 1C-Bitrix עם RetailCRM: הגדרה וסנכרון

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

בואו נצייר את התמונה: בלאק פריידי, מאות לקוחות מציפים את האתר שלכם, הזמנות נכנסות בזו אחר זו. אבל RetailCRM נשארת דוממת—הנתונים נעלמים אל תוך הריק. מנהלים לא רואים הזמנות, סטטוסים מתבלבלים, לקוחות מתקשרים. התרחיש הזה מוכר לחנויות שבהן האינטגרציה של 1C-Bitrix עם RetailCRM לא תוכננה לעומסים אמיתיים. הבעיה מחמירה בשל קונפליקטים בנתונים: אותה הזמנה עשויה להיווצר פעמיים אם לא הוגדר דה-דופליקציה לפי externalId. יתר על כן, קריאות REST API ישירות עבור כל הזמנה מאטות את שרת Bitrix, ו-RetailCRM דוחה בקשות כאשר חריגה מהמגבלות. RetailCRM, כמו כל CRM, דורשת מיפוי מדויק של שדות: סטטוסים, מחסנים, סוגי משלוח. בלעדיו, הזמנות עלולות ללכת לאיבוד או להיכפל. האינטגרציה שלנו פותרת את הבעיות האלה ברמת הפרוטוקול. אנחנו מתמודדים איתן על ידי הגדרת סנכרון דו-כיווני דרך RetailCRM REST API v5 ותורי אסינכרון על סוכני Bitrix שמטפלים ב-500+ הזמנות בשעה ללא אובדן. לאורך תקופה ארוכה, השלמנו יותר מ-50 אינטגרציות RetailCRM—כל אחת החזירה את ההשקעה תוך כמה חודשים על ידי קיצוץ עלויות תפעול ב-40%.

תרחישים הדורשים אינטגרציה מותאמת אישית של RetailCRM-Bitrix

RetailCRM מספקת מודול רשמי עבור 1C-Bitrix דרך המרקטפלייס. המודול עובד עבור תרחישים בסיסיים. אבל כאשר נפח ההזמנות עולה על 50–100 ליום או שמופיעות דרישות לא סטנדרטיות, המודול נכשל. בואו נשווה:

קריטריון מודול מוכן אינטגרציה מותאמת אישית
זמן עד השקה 1–2 ימים 1–2 שבועות
סטטוסים מותאמים אישית בסיסיים בלבד כל סטטוס
מיפוי מחסנים מורכב לא נתמך הגדרה גמישה
עומס שיא (500+ הזמנות/שעה) פסקי זמן (Timeouts) תור סוכנים (יעיל פי 5)
התאמה לתהליכים עסקיים שלכם מוגבל מלא

אינטגרציה מותאמת אישית נדרשת כאשר:

  • יש לכם סטטוסים או מאפיינים לא סטנדרטיים שאינם קיימים במודול.
  • לוגיקת מיפוי מורכבת (מספר חנויות, מחסנים שונים).
  • אינטגרציה עם מערכות אחרות דרך RetailCRM (טלפוניה, שירותי משלוח).

מקרה מבחן: עומס שיא במהלך מבצע

בניסיון שלנו, לקוח של חנות בגדים התמודד עם עיכובים של 5 שניות ופסקי זמן במהלך מבצע עם 800 הזמנות ב-2 שעות בגלל קריאות ישירות ל-RetailCRM API. פתרנו את זה עם תור המבוסס על סוכני Bitrix. הזמנות נכתבות לטבלת תור, וסוכן שולח קבוצות של 10 הזמנות כל 10 שניות. עומס השיא מוחלק, הזמנות מעובדות תוך 1–5 דקות. חיסכון בזמן עיבוד: 70%, הפחתת עומס על השרת: פי 3.

כיצד להגדיר סנכרון דו-כיווני של הזמנות

כתובת בסיס: https://yourdomain.retailcrm.ru/api/v5/. אימות: כותרת X-API-KEY. להלן דוגמה למחלקה ליצירת הזמנה ב-RetailCRM:

class RetailCRMClient {
    private string $apiKey;
    private string $siteKey;
    private string $baseUrl;

    public function createOrder(\Bitrix\Sale\Order $order): ?string {
        $basket = $order->getBasket();
        $props = $order->getPropertyCollection();
        $items = [];

        foreach ($basket as $item) {
            $items[] = [
                'offer' => ['xmlId' => (string)$item->getProductId()],
                'quantity' => $item->getQuantity(),
                'initialPrice' => $item->getBasePrice(),
                'discountPercent' => 0,
            ];
        }

        $orderData = [
            'number' => 'BX-' . $order->getId(),
            'externalId' => (string)$order->getId(),
            'site' => $this->siteKey,
            'status' => $this->mapStatus($order->getField('STATUS_ID')),
            'customer' => [
                'externalId' => (string)$order->getUserId(),
                'email' => $props->getUserEmail(),
                'phone' => $props->getItemByPropertyOrderCode('PHONE')?->getValue(),
            ],
            'items' => $items,
            'delivery' => [
                'code' => $this->mapDelivery($order->getDeliveryId()),
                'address' => ['text' => $this->getOrderAddress($props)],
            ],
            'paymentType' => $this->mapPayment($order->getPaymentSystemId()),
        ];

        $http = new \Bitrix\Main\Web\HttpClient();
        $http->setHeader('X-API-KEY', $this->apiKey);
        $http->setHeader('Content-Type', 'application/x-www-form-urlencoded');

        $response = json_decode($http->post(
            $this->baseUrl . 'orders/create',
            'order=' . urlencode(json_encode($orderData)) . '&site=' . $this->siteKey
        ), true);

        return $response['id'] ?? null;
    }
}

RetailCRM משנה את סטטוס ההזמנה (מנהל טיפל, הוגדר לאיסוף, נמסר למשלוח)—האתר חייב לעדכן את הסטטוס. RetailCRM תומכת בוובהוקים יוצאים (RetailCRM Webhooks). הגדירו אותם ב'ניהול → וובהוקים':

$payload = json_decode(file_get_contents('php://input'), true);
foreach ($payload['orders'] as $orderData) {
    $externalId = $orderData['externalId'];
    $newStatus = $statusMap[$orderData['status']] ?? null;
    if ($newStatus) {
        $order = \Bitrix\Sale\Order::load($externalId);
        $order->setField('STATUS_ID', $newStatus);
        $order->save();
    }
}

מיפוי ספריות

RetailCRM מאחסנת ספריות: סטטוסים, סוגי משלוח, שיטות תשלום—כל אחת עם קוד. הקודים חייבים להתאים לקודי Bitrix:

סטטוס Bitrix סטטוס RetailCRM
N (חדש) new
P (שולם) complete-payment
D (במשלוח) delivery
F (הושלם) complete
C (בוטל) cancel-other

המיפוי נשמר בהגדרות המודול או בטבלה מותאמת אישית.

מדוע אינטגרציה עלולה להישבר בעומס שיא וכיצד להימנע מכך

קריאות API סינכרוניות ישירות ב-500+ הזמנות בשעה מבטיחות פסקי זמן. תור על סוכנים מחליק פסגות ומבטיח מסירה. חיסכון בזמן עיבוד יכול להגיע ל-70%, הפחתת עומס על השרת פי 3. עלות האינטגרציה מחושבת באופן אישי, אבל בממוצע היא מחזירה את ההשקעה תוך 2–3 חודשים.

מה כלול באינטגרציה

רכיב תיאור
בדיקת ארכיטקטורה סקירת סכמת נתונים, אינטגרציות קיימות, מגבלות אחסון
פרויקט מיפוי הסכמה על שדות, סטטוסים, מחסנים, שיטות משלוח
פיתוח לקוח REST מחלקת PHP לתקשורת עם RetailCRM API v5
הגדרת וובהוקים עדכוני סטטוס אוטומטיים כאשר מתרחשים שינויים ב-CRM
תור עיבוד סוכני Bitrix עם שליחה בקבוצות כדי להחליק פסגות
תיעוד סכמת אינטגרציה, תיאור טיפול בשגיאות
תמיכה לאחר השקה 30 ימים של תיקונים, ניטור יציבות

תהליך העבודה לאינטגרציה

  1. בדיקה — ניתוח הארכיטקטורה הנוכחית, סכמת נתונים, תהליכים עסקיים.
  2. עיצוב — פיתוח מיפוי שדות, סכמת תור, טיפול במקרי קצה.
  3. פיתוח — כתיבת לקוח REST, הגדרת וובהוקים, יישום תור.
  4. בדיקות — סימולציה של עומס שיא, בדיקת סנכרון לשני הכיוונים.
  5. פריסה — העלאה לסביבת הייצור, הפעלת ניטור.
  6. תמיכה — 30 ימים של תמיכה לאחר השקה, תיקון כל שגיאה.

אנחנו מבצעים אינטגרציות של Bitrix עם מערכות CRM כבר יותר מ-5 שנים והשלמנו מעל 50 פרויקטים של RetailCRM. צרו קשר לבדיקת ארכיטקטורת האינטגרציה שלכם. הזמינו פיתוח כדי לקבל סנכרון יציב שמסוגל להתמודד עם כל תעבורה.

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