אנו מטפלים לעתים קרובות באינטגרציה של שירות המשלוחים IML עם חנויות 1C-Bitrix. IML הוא שירות משלוחים רוסי עם רשת נקודות מסירה עצמאית ומשלוח שליחים. הכיסוי משתרע על פני למעלה מ-5,000 יישובים, עם דגש על מסחר אלקטרוני. עבור חנויות מקוונות, שלושה תרחישים רלוונטיים: משלוח שליחים עד הדלת, משלוח לנקודת מסירה, ואיסוף עצמי מנקודת מסירה עם מדידה. כל אחד מהם דורש חישוב עלות נכון, ביצוע הזמנה וסנכרון סטטוסים. מאמר זה מכסה את היישום הטכני—מ-IML API ועד לפריסה סופית על שרת ייצור. החברה שלנו מתמחה באינטגרציות Bitrix כבר למעלה מ-10 שנים, ו-IML הוא בקשה נפוצה. אנו מבטיחים תמחור שקוף ולוחות זמנים קבועים: אינטגרציה בסיסית אורכת 4–5 ימים, מורחבת עד 7 ימים. צרו קשר לקבלת הערכת פרויקט.
כיצד עובד IML API
IML מספק REST API. כתובת בסיס: https://api.iml.ru. האימות הוא Basic Auth (שם משתמש וסיסמה מחשבון ה-IML שלך). כל הבקשות הן POST עם גוף JSON, והתשובות הן גם JSON.
נקודות קצה מרכזיות:
-
POST /api/v2/auto-zones— חישוב אזור משלוח ועלות לפי כתובת/מיקוד -
POST /api/v2/orders— יצירת הזמנת משלוח -
GET /api/v2/orders/{orderNumber}— סטטוס הזמנה -
GET /api/v1/delivery-points— רשימת נקודות מסירה (יכולה להיות גדולה—יש לשמור במטמון) -
GET /api/v2/tracking/{barcode}— מעקב מפורט
לפי תיעוד IML API, חישוב אזור המשלוח דורש קודי אזור של שולח ומקבל.
מדוע IML מועיל למסחר אלקטרוני
לפי הנתונים שלנו, IML זול בממוצע ב-15% משירותי שליחים מסורתיים למרחקים של עד 300 ק"מ, ונקודות המסירה חוסכות עד 40% מעלויות המייל האחרון. בזכות רשת נקודות המסירה הענפה (למעלה מ-5,000 יישובים), חנויות מקצרות זמני משלוח ומפחיתות שיעורי ביטולים. הניסיון שלנו: יישום IML הגדיל את שיעור ההמרה בקופה ב-12% עבור לקוח אחד.
מודול משלוחים ב-Bitrix
מחלקת המשלוחים יורשת מ-\Bitrix\Sale\Delivery\Services\Base. כדי להציג נקודות מסירה על מפה, אנו גם מיישמים רכיב נפרד או משתלבים עם ווידג'ט בחירת נקודות מסירה קיים, אם כבר קיים כזה בפרויקט.
פרמטרים ב-b_sale_delivery_service_params:
-
IML_LOGIN,IML_PASSWORD -
SENDER_CODE— קוד שולח (מסופק על ידי IML בעת החיבור) -
DELIVERY_TYPE— סוג משלוח ברירת מחדל (courier/pickup)
חישוב עלות ואזור
IML מחשב עלות לפי אזור: ראשית, אזור המשלוח נקבע לפי יישוב, ולאחר מכן העלות מחושבת לפי משקל ומידות באמצעות טבלת תעריפים.
$response = $httpClient->post(
'https://api.iml.ru/api/v2/auto-zones',
[
'RegionCodeFrom' => $senderRegionCode,
'RegionCodeTo' => $deliveryRegionCode,
'Weight' => $weightGram,
'Volume' => $volumeCm3,
'AssessedValue' => $assessedValue,
'DeliveryType' => 'CurierDelivery', // или 'PickupPoint'
]
);
$deliveryPrice = $response['Price'];
$deliveryDays = $response['DeliveryTime'];קודי האזור של IML הם סיווג משלהם. בריצה הראשונה, אנו טוענים את טבלת האזורים $response = $httpClient->post( 'https://api.iml.ru/api/v2/auto-zones', [ 'RegionCodeFrom' => $senderRegionCode, 'RegionCodeTo' => $deliveryRegionCode, 'Weight' => $weightGram, 'Volume' => $volumeCm3, 'AssessedValue' => $assessedValue, 'DeliveryType' => 'CurierDelivery', // или 'PickupPoint' ] ); $deliveryPrice = $response['Price']; $deliveryDays = $response['DeliveryTime']; ושומרים אותה ב-GET /api/v2/regions (או בטבלה נפרדת) לחיפושים מהירים.
כיצד נוצרות הזמנות
כאשר הזמנה מאושרת וסוג המשלוח נבחר, אנו יוצרים הזמנה ב-IML:
$orderData = [
'SenderCode' => $senderCode,
'OrderNumber' => 'SHOP-' . $bitrixOrderId,
'ReceiverName' => $receiverName,
'Phone' => $phone,
'RegionCode' => $regionCode,
'AddressString' => $address,
'Weight' => $weightGram,
'GoodsDescription' => 'Товары интернет-магазина',
'AssessedValue' => $assessedValue,
'CashOnDelivery'=> $codAmount, // наложенный платёж, 0 если предоплата
'DeliveryType' => 'CurierDelivery',
];
התשובה מכילה b_option—ברקוד המשלוח של IML. אנו שומרים אותו ב-$orderData = [ 'SenderCode' => $senderCode, 'OrderNumber' => 'SHOP-' . $bitrixOrderId, 'ReceiverName' => $receiverName, 'Phone' => $phone, 'RegionCode' => $regionCode, 'AddressString' => $address, 'Weight' => $weightGram, 'GoodsDescription' => 'Товары интернет-магазина', 'AssessedValue' => $assessedValue, 'CashOnDelivery'=> $codAmount, // наложенный платёж, 0 если предоплата 'DeliveryType' => 'CurierDelivery', ]; כ-BarCode.
נקודות מסירה ובחירה במפה
רשימת נקודות המסירה מוחזרת על ידי b_sale_order_props — מערך גדול (אלפי אובייקטים). אנו טוענים אותו פעם ביום באמצעות סוכן Bitrix ושומרים אותו במטמון בבלוק highload או ב-IML_BARCODE (בלוק מידע "נקודות מסירה IML").
בדף הקופה, אנו מציגים מפה עם נקודות מסירה: Yandex.Maps או Google Maps עם סמנים. כאשר נקודת מסירה נבחרת, אנו שומרים את הקוד שלה במאפיין ההזמנה GET /api/v1/delivery-points. בעת יצירת הזמנה, אנו מעבירים b_iblock_element במקום כתובת.
סטטוסים ומעקב
סנכרון סטטוסים באמצעות סוכן Bitrix: כל 30–60 דקות, אנו בודקים את IML_PICKUP_POINT עבור הזמנות פעילות. IML תומך גם ב-webhooks (שליחת הודעות לכתובת הסוחר)—מועדף עבור נפחי הזמנות גבוהים.
| סטטוס IML | סטטוס Bitrix |
|---|---|
| התקבל | הועבר למשלוח |
| במעבר | במעבר |
| הגיע למחסן נקודת המסירה | ממתין בנקודת המסירה |
| נמסר | נמסר |
| החזרה יזומה | החזרה |
תשלום במזומן בעת מסירה
IML תומך בתשלום במזומן בעת מסירה (COD). הסכום PickupPointCode שווה לסכום ההזמנה הכולל אם הקונה משלם בעת קבלת המשלוח. בעת הגדרת שתי שיטות תשלום (מראש / בעת קבלה) ב-Bitrix, לוגיקת בחירת ה-COD מיושמת ב-GET /api/v2/orders/{orderNumber}.
לוחות זמנים
| היקף | רכיבים | משך |
|---|---|---|
| אינטגרציה בסיסית | חישוב עלות + יצירת הזמנה + מעקב | 4–5 ימים |
| + מפת נקודות מסירה | בלוק מידע נקודות מסירה + ווידג'ט מפה | +3 ימים |
| + תשלום במזומן בעת מסירה | לוגיקת COD + סנכרון תשלומים | +1–2 ימים |
מה כוללת העבודה
- תיעוד: תיאור אינטגרציה, סכמות נתונים, הגדרות
- גישה: לשרת, IML API, חשבון אישי
- הדרכה: הוראות למנהלים ומפעילים
- תמיכה: שבועיים לאחר ההשקה עם ערבות SLA של 99.9%
אנו שותף Bitrix מוסמך עם למעלה מ-10 שנות ניסיון באינטגרציות והשלמנו למעלה מ-100 פרויקטים של חיבור שירותי משלוחים ל-1C-Bitrix. פנו אלינו—נעריך את הפרויקט שלכם תוך יום עסקים אחד.

