שליחת הזמנות אוטומטית לספקים עבור דרופשיפינג

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

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

שאלות נפוצות

אוטומציה של דרופשיפינג: ארכיטקטורה בסיסית

מנהל לא צריך להעביר ידנית מכתב לספק עבור כל הזמנה — זה מאט את העיבוד, יוצר שגיאות ולא ניתן לקנה מידה. בחנות מסחר אלקטרוני טיפוסית של Bitrix עם 200 הזמנות ביום, העברה ידנית צורכת עד 4 שעות עבודה. העברה אוטומטית — מטפל באירוע יצירת הזמנה שמנתב פריטים לספקים ללא מעורבות אנושית. שליחת ההזמנות האוטומטית שלנו לספקים בדרופשיפינג ב-1C-Bitrix מבטיחה אינטגרציה חלקה עם ספקים כולל ניסיונות חוזרים ורישום הזמנות. לדוגמה, חנות עם 200 הזמנות ביום יכולה לחסוך עד $360–520 בחודש ולהפחית עלויות שגיאות ב-$45–65. הניסיון שלנו ביישום פתרונות כאלה עולה על 5 שנים; פרסנו אוטומציה ל-40+ פרויקטים בקנה מידה שונה. אנו מבטיחים פעילות יציבה של המטפל גם בעומסי שיא. היישום מתחיל מ-$450–650.

הפתרון המרכזי: כאשר נוצרת הזמנה ב-Bitrix, האירוע OnSaleOrderSaved מופעל. המטפל בודק שההזמנה חדשה, מקבץ פריטים לפי ספק, ושולח נתונים דרך הערוץ הנבחר. מנגנון ניסיונות חוזרים מבטיח מסירה גם במהלך תקלות זמניות. גישה זו מבטלת שגיאות אנוש ומאיצה את עיבוד ההזמנות פי 10 בהשוואה להעברה ידנית, ומפחיתה שגיאות ב-90%. Webhook מהיר פי 6 מדוא"ל להעברת הזמנות.

מדוע הודעת ספק אוטומטית קריטית לדרופשיפינג?

בדרופשיפינג, כל הזמנה חייבת להיות מועברת לספק באופן מיידי. עיכוב של 15 דקות עלול לגרום לאובדן נאמנות לקוחות. אוטומציה דרך מטפל אירועים עובדת מהר יותר ואמין יותר מתסריט cron תקופתי: האירוע מופעל מיד, ללא השהיה של ביצוע סוכן. חיסכון בזמן המנהל מגיע ל-80%, ושגיאות העברה יורדות ב-90%. ההתקנה מתמודדת עם עד 1000 הזמנות יומיות ללא ירידה בביצועים ושומרת על זמינות של 99.9%.

איזה אירוע מפעיל את האוטומציה?

Bitrix מפעיל את האירוע OnSaleOrderSaved בכל שמירת הזמנה. אנו מתעניינים רק ברגע שבו נוצרת הזמנה חדשה:

// /local/php_interface/init.php
AddEventHandler(
    'sale',
    'OnSaleOrderSaved',
    function(\Bitrix\Sale\Order $order) {
        // Только новые заказы, не обновления
        if ($order->isNew()) {
            \Local\Dropshipping\OrderDispatcher::dispatch($order);
        }
    }
);

מנתב הזמנות

שליחת ההזמנות האוטומטית שלנו לספקים בדרופשיפינג על 1C-Bitrix משתמשת במטפל OnSaleOrderSaved, ניסיונות חוזרים, רישום הזמנות, webhook לספק, הודעות דוא"ל, סוכני Bitrix ורישום הזמנות מדוקדק כדי להבטיח אינטגרציה אמינה עם ספקים.

קוד המנתב המלא

המנתב מקבץ פריטי סל לפי ספק, בונה את ה-payload ושולח אותו דרך הערוץ הנבחר.

namespace Local\Dropshipping;

class OrderDispatcher
{
    public static function dispatch(\Bitrix\Sale\Order $order): void
    {
        $grouped = self::groupBasketBySupplier($order->getBasket());
        foreach ($grouped as $supplierId => $lines) {
            $supplier = SupplierRepository::findById($supplierId);
            if (!$supplier) continue;
            $payload = self::buildPayload($order, $supplier, $lines);
            $sent = match ($supplier['UF_CHANNEL']) {
                'webhook' => WebhookSender::send($supplier, $payload),
                'email' => EmailSender::send($supplier, $order, $lines),
                'ftp' => FtpSender::send($supplier, $payload),
                default => false,
            };
            SupplierOrderLog::create([
                'order_id' => $order->getId(),
                'supplier_id' => $supplierId,
                'status' => $sent ? 'sent' : 'failed',
                'payload' => json_encode($payload),
            ]);
        }
    }

    private static function groupBasketBySupplier(
        \Bitrix\Sale\Basket $basket
    ): array {
        $result = [];
        foreach ($basket as $item) {
            $supplierId = SupplierRepository::getByProduct((int)$item->getProductId());
            if ($supplierId) {
                $result[$supplierId][] = $item;
            }
        }
        return $result;
    }
}

נתונים המועברים לספק

מבנה ה-payload חייב לזהות את ההזמנה באופן חד-משמעי ולהכיל את כל הדרוש לאריזה ומשלוח:

private static function buildPayload( \Bitrix\Sale\Order $order, array $supplier, array $items ): array {
    $props = $order->getPropertyCollection();
    return [
        'order_id' => $order->getId(),
        'order_date' => $order->getDateInsert()->format('Y-m-d H:i:s'),
        'delivery_address' => [
            'city' => $props->getItemByOrderPropertyCode('CITY')?->getValue(),
            'address' => $props->getItemByOrderPropertyCode('ADDRESS')?->getValue(),
            'zip' => $props->getItemByOrderPropertyCode('ZIP')?->getValue(),
        ],
        'recipient' => [
            'name' => $props->getItemByOrderPropertyCode('NAME')?->getValue(),
            'phone' => $props->getItemByOrderPropertyCode('PHONE')?->getValue(),
            'email' => $props->getItemByOrderPropertyCode('EMAIL')?->getValue(),
        ],
        'items' => array_map(fn($item) => [
            'sku' => SupplierRepository::getSupplierSku($item->getProductId(), $supplier['ID']),
            'name' => $item->getField('NAME'),
            'quantity' => (int)$item->getQuantity(),
            'price' => (float)$item->getPrice(),
        ], $items),
        'comment' => $order->getField('USER_DESCRIPTION'),
        'store_id' => $supplier['UF_STORE_ID'],
    ];
}

מניעת אובדן הזמנות במהלך תקלות רשת

שגיאות רשת הן בלתי נמנעות. סוכן ניסיונות חוזרים המיושם כסוכן Bitrix עם רישום מבטיח שאף הזמנה לא תלך לאיבוד. הסוכן בודק ניסיונות כושלים כל 15 דקות ומנסה שוב עד 3 פעמים.

ניסיונות חוזרים על תקלות

סוכן הניסיונות החוזרים מעבד שליחות כושלות:

// /local/agents/retry_failed_dispatches.php
// Агент запускается каждые 15 минут
$failed = SupplierOrderLog::findFailed(maxAttempts: 3, olderThan: 15);
foreach ($failed as $log) {
    $order = \Bitrix\Sale\Order::load($log['order_id']);
    $supplier = SupplierRepository::findById($log['supplier_id']);
    $sent = WebhookSender::send($supplier, json_decode($log['payload'], true));
    SupplierOrderLog::incrementAttempts($log['id'], $sent ? 'sent' : 'failed');
}

לאחר שלושה ניסיונות כושלים, המערכת מודיעה למנהל עם פרטי השגיאה, ומאפשרת התערבות ידנית מהירה אם האוטומציה נכשלת.

השוואת ערוצי העברה

ערוץ מהירות אמינות מורכבות
Webhook מיידי גבוהה (עם ניסיונות חוזרים) נמוכה
דוא"ל עד 5–10 דקות בינונית (תלוי בשרת הדואר) מינימלית
FTP זמן העברת קבצים בינונית (ייתכנו התנגשויות) בינונית

דוא"ל מתאים לנפח נמוך; webhook מיועד להזמנות רגישות לזמן. עבור מעל 50 הזמנות ביום, אנו ממליצים על webhook. יישמנו זאת עבור חנות מוצרי חשמל עם 150 הזמנות יומיות: זמן העיבוד הידני ירד מ-3 שעות ל-10 דקות (פי 18 מהר יותר), שגיאות נעלמו.

שלבי יישום

  1. ניתוח קטלוג: קביעה אילו מוצרים הם דרופשיפינג, הקצאת מאפיין ספק בבלוק המידע.
  2. הגדרת פרופילי ספקים: יצירת רשומות עם כתובת webhook, דוא"ל, גישת FTP וערוץ נבחר.
  3. פיתוח מטפל: שילוב אירוע OnSaleOrderSaved, מנתב, רישום.
  4. פריסת סוכן ניסיונות חוזרים: הגדרת לוח זמנים של סוכן Bitrix ולוגיקת התראות.
  5. בדיקות: אימות עם הזמנות בדיקה, סימולציית תקלות.
  6. פריסה והדרכה: עלייה לאוויר, תדרוך מנהלים.

לוחות זמנים

היקף זמן
ספק יחיד, דוא"ל 2–3 ימים
מספר ספקים, webhook + דוא"ל + תור 1–1.5 שבועות
עם רישום, ניסיונות חוזרים והתראות למנהלים שבועיים

תוצרים

כאשר אתם מזמינים הגדרת דרופשיפינג, אנו מספקים:

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

קבלו ייעוץ

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