שילוב משלוחים WooCommerce: API, מעקב, נקודות איסוף

כל יום, חנויות מקוונות מאבדות לקוחות בגלל חישובי משלוח איטיים או היעדר מוביל מתאים. אנו מפתחים שיטות משלוח מותאמות אישית ל-WooCommerce עם אינטגרציית API לשירותי משלוחים, מעקב ווידג'ט נקודות איסוף. הצוות שלנו מספק את הפרויקט במפתח מלא—מבדיקת היתכנות ועד יישום ותמיכה שוטפת, תוך הבטחת יציבות וסקלביליות של הפתרון.

פיתוח ותחזוקה של כל סוגי האתרים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
שילוב משלוחים WooCommerce: API, מעקב, נקודות איסוף
בינוני
~2-3 ימים

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

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1501
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1306
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1049
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

שילוב משלוחים WooCommerce

כל יום, חנויות מקוונות מאבדות לקוחות בגלל חישוב משלוח איטי או היעדר ספק מועדף. לאחרונה, חנות עם קטלוג של 5,000 מוצרים פנתה אלינו. הם השתמשו בתוסף ששלח בקשה ל-API של הספק בכל שינוי בעגלה ללא מטמון. במהלך מבצע שיא (20% הנחה), עומס השרת גדל פי 10, וזמן החישוב הגיע ל-40 שניות. יישמנו שיטה מותאמת אישית עם מטמון transient ו-tariffs חלופיים — הזמן ירד ל-150 אלפיות השנייה, ושיעור ההמרה בקופה עלה ב-17%. מצב זה מוכר לרבים: WooCommerce מחוץ לקופסה מציעה רק שלוש שיטות משלוח פרימיטיביות — תעריף אחיד, משלוח חינם ואיסוף מקומי. עבור עסק אמיתי, זה לא מספיק בצורה קטסטרופלית. אתה צריך תעריפי ספק ספציפיים, חישוב לפי מידות ומשקל, מספר מעקב בחשבון הלקוח ועדכוני סטטוס אוטומטיים.

עם ניסיון של למעלה מ-5 שנים בשילובי משלוחים WooCommerce, השלמנו יותר מ-40 פרויקטים, ועזרנו ללקוחות להפחית את נטישת העגלה ב-30% בממוצע. לקוח אחד דיווח על חיסכון של $2,500 לחודש לאחר שילוב Nova Poshta ו-SDEK.

אילו בעיות פותר שילוב משלוחים WooCommerce?

בעיות טיפוסיות: אין חישוב בזמן אמת, יצירת משלוח ידנית, הזמנות אבודות בגלל תעריפים מיושנים, עומס שרת מבקשות ללא מטמון, חוסר יכולת לבחור נקודת איסוף. השילוב שלנו פותר את כולן: מחשב עלות דינמית, יוצר משלוח כשההזמנה עוברת לעיבוד, שומר תוצאות במטמון למשך 30–60 דקות, משתמש בתעריפים חלופיים בכשלי API, ומטמיע ווידג'ט נקודת איסוף בקופה. בפרויקט אחד, אוטומציית משלוחים הפחיתה עבודה ידנית ב-80% והאיצה את עיבוד ההזמנות פי 3. החיסכון הלוגיסטי הממוצע הודות לאוטומציה עומד על 15–20% מהמחזור, ועלות השילוב מחזירה את עצמה בממוצע תוך 3 חודשים.

איך עובד משלוח ב-WooCommerce?

ארכיטקטורת המשלוח בנויה על שלוש שכבות: אזורי משלוח (Shipping zones), שיטות משלוח (Shipping methods) ותעריפי משלוח (Shipping rates). כל שיטה מותאמת אישית מרחיבה את המחלקה WC_Shipping_Method. הנה יישום מינימלי:

לחץ לצפייה בקוד
class My_Courier_Shipping_Method extends WC_Shipping_Method {
    public function __construct( $instance_id = 0 ) {
        $this->id = 'my_courier';
        $this->instance_id = absint( $instance_id );
        $this->method_title = 'MyCourier';
        $this->method_description = 'Доставка через MyCourier API';
        $this->supports = [ 'shipping-zones', 'instance-settings' ];
        $this->init();
    }

    public function init(): void {
        $this->init_form_fields();
        $this->init_settings();
        $this->api_key = $this->get_option( 'api_key' );
        add_action( 'woocommerce_update_options_shipping_' . $this->id, [ $this, 'process_admin_options' ] );
    }

    public function calculate_shipping( $package = [] ): void {
        $rate = $this->get_rate_from_api( $package );
        if ( $rate ) {
            $this->add_rate([
                'id' => $this->id . '_standard',
                'label' => 'Стандартная доставка (' . $rate['days'] . ' дн.)',
                'cost' => $rate['price'],
                'meta_data' => [ 'courier_id' => $rate['service_id'] ],
            ]);
        }
    }
}

רשום את השיטה באמצעות פילטר:

add_filter( 'woocommerce_shipping_methods', function( $methods ) {
    $methods['my_courier'] = My_Courier_Shipping_Method::class;
    return $methods;
});

אנו משתמשים ב-API של שיטות המשלוח של WooCommerce כדי ליצור חישובים מותאמים אישית. זה נותן שליטה מלאה על תעריפים ומטמון.

למה שיטת משלוח מותאמת אישית עדיפה על תוספים מוכנים?

תוספים מוכנים (למשל, עבור SDEK או Nova Poshta) לרוב בעלי הגדרות מוגבלות ותלויים בעדכוני תוסף. שיטה מותאמת אישית נותנת שליטה מלאה על הלוגיקה, המטמון וטיפול בשגיאות. לדוגמה, אתה יכול להוסיף תעריף לא סטנדרטי לפי סוג מוצר או ליישם אלגוריתם משקל נפחי משלך.

פרמטר תוסף (SDEK, Nova Poshta) שיטה מותאמת אישית
זמן יישום 1–2 ימים 3–5 ימים
גמישות תצורה מוגבל להגדרות התוסף שליטה מלאה
תמיכה בתעריפים לא סטנדרטיים לא כן
תלות בעדכוני תוסף גבוהה נמוכה

איך לחשב תעריפים דרך ה-API של הספק?

רוב שירותי המשלוחים כוללים REST API לחישוב עלות. דוגמה לבקשה ל-API בדיוני (עם מטמון):

private function get_rate_from_api( array $package ): ?array {
    $cache_key = 'courier_rate_' . md5( serialize( $package ) );
    $cached = get_transient( $cache_key );
    if ( $cached !== false ) {
        return $cached;
    }

    $weight = 0;
    foreach ( $package['contents'] as $item ) {
        $product = $item['data'];
        $weight += (float) $product->get_weight() * $item['quantity'];
    }

    $response = wp_remote_post( 'https://api.mycourier.ru/v2/calculate', [
        'timeout' => 10,
        'headers' => [
            'Authorization' => 'Bearer ' . $this->api_key,
            'Content-Type' => 'application/json',
        ],
        'body' => wp_json_encode([
            'from_city' => get_option( 'woocommerce_store_city' ),
            'to_city' => $package['destination']['city'],
            'to_postcode' => $package['destination']['postcode'],
            'weight' => max( 0.1, $weight ),
            'declared_value' => WC()->cart->get_cart_contents_total(),
        ]),
    ]);

    if ( is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) !== 200 ) {
        return null;
    }

    $rate_data = json_decode( wp_remote_retrieve_body( $response ), true );
    set_transient( $cache_key, $rate_data, 30 * MINUTE_IN_SECONDS );
    return $rate_data;
}

מטמון עם transients הוא דרך פשוטה להפחית עומס. בפרויקט שלנו, המטמון קיצץ את מספר בקשות ה-API מ-5,000 לשעה ל-50, חוסך משאבי שרת ומאיץ את הקופה.

שליחת הזמנות לשירות המשלוחים

לאחר אישור הזמנה, צור משלוח. ה-hook class My_Courier_Shipping_Method extends WC_Shipping_Method { public function __construct( $instance_id = 0 ) { $this->id = 'my_courier'; $this->instance_id = absint( $instance_id ); $this->method_title = 'MyCourier'; $this->method_description = 'Доставка через MyCourier API'; $this->supports = [ 'shipping-zones', 'instance-settings' ]; $this->init(); } public function init(): void { $this->init_form_fields(); $this->init_settings(); $this->api_key = $this->get_option( 'api_key' ); add_action( 'woocommerce_update_options_shipping_' . $this->id, [ $this, 'process_admin_options' ] ); } public function calculate_shipping( $package = [] ): void { $rate = $this->get_rate_from_api( $package ); if ( $rate ) { $this->add_rate([ 'id' => $this->id . '_standard', 'label' => 'Стандартная доставка (' . $rate['days'] . ' дн.)', 'cost' => $rate['price'], 'meta_data' => [ 'courier_id' => $rate['service_id'] ], ]); } } } מופעל כשההזמנה עוברת ל"עיבוד":

add_action( 'woocommerce_order_status_processing', function( int $order_id ) {
    $order = wc_get_order( $order_id );
    foreach ( $order->get_shipping_methods() as $shipping_item ) {
        if ( strpos( $shipping_item->get_method_id(), 'my_courier' ) === false ) {
            continue;
        }
        $result = courier_create_shipment( $order );
        if ( $result['tracking_number'] ) {
            $order->update_meta_data( '_courier_tracking_number', $result['tracking_number'] );
            $order->update_meta_data( '_courier_shipment_id', $result['shipment_id'] );
            $order->save();
            $order->add_order_note( 'Отправление создано. Трекинг: ' . $result['tracking_number'], true );
        }
    }
} );

איך לעדכן סטטוס משלוח אוטומטית?

יישם משלוח webhook של WooCommerce או השתמש בסקרי cron תקופתיים. ה-webhook מהספק מעדכן את סטטוס ההזמנה אוטומטית:

add_action( 'courier_sync_tracking', function() {
    $orders = wc_get_orders([
        'meta_key' => '_courier_tracking_number',
        'meta_compare' => 'EXISTS',
        'status' => [ 'wc-processing', 'wc-shipped' ],
        'limit' => 50,
    ]);
    foreach ( $orders as $order ) {
        $tracking = $order->get_meta( '_courier_tracking_number' );
        $status = courier_api_get_status( $tracking );
        if ( $status === 'delivered' && $order->get_status() !== 'completed' ) {
            $order->update_status( 'completed', 'Доставлено по данным перевозчика.' );
        }
    }
});
if ( ! wp_next_scheduled( 'courier_sync_tracking' ) ) {
    wp_schedule_event( time(), 'twohourly', 'courier_sync_tracking' );
}

מעקב הזמנות WooCommerce מופעל דרך API: מספר המעקב מוצג בחשבון הלקוח ובמיילים.

תוצרים

  1. ביקורת – ניתוח לוגיסטיקה נוכחית, הערכת תוסף, איסוף מפתחות API.
  2. שיטת משלוח מותאמת אישית – מחלקת add_filter( 'woocommerce_shipping_methods', function( $methods ) { $methods['my_courier'] = My_Courier_Shipping_Method::class; return $methods; }); , שילוב API, מטמון, גיבוי.
  3. הגדרת מעקב – הצגת מספר במיילים ובחשבון, עדכון סטטוס אוטומטי דרך webhook.
  4. ווידג'ט נקודת איסוף – בחירה בקופה, שמירה במטא של ההזמנה.
  5. תיעוד – תיאור ארכיטקטורה, הוראות להוספת ספקים חדשים.
  6. הדרכה – מפגש של שעה לצוות שלך על ניהול השילוב.
  7. גישה – אנו מטפלים בהגדרת מפתחות API ופרטי התחברות.
  8. תמיכה – אחריות ל-30 יום לאחר המסירה.

ציר זמן יישום

שילוב עם ספק אחד דרך תוסף מוכן (SDEK, DHL, Nova Poshta): 1–2 ימים. שיטה מותאמת אישית עם מחזור מלא — חישוב, יצירת משלוח, מעקב, webhook: 3–5 ימים. הוספת ווידג'ט נקודת איסוף + התאמת מיילים: עוד 1–2 ימים. שילוב של מספר ספקים עם ממשק ניהול אחיד: 1–2 שבועות.

טעויות שילוב טיפוסיות

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

צור קשר

במהלך הפרקטיקה שלנו, השלמנו יותר מ-40 שילובי משלוחים לחנויות WooCommerce. זה אפשר ללקוחותינו להפחית את נטישת העגלה ב-30% בממוצע. קבל ייעוץ על שילוב משלוחים לחנות שלך — כתוב לנו, ונשלח לך הצעה תוך יום עסקים אחד. צור קשר כדי לדון בפרויקט שלך.