חנות מקוונת על 1C-Bitrix החלה למכור לאירופה ומיד נתקלה בקיר עם DHL כמוביל היחיד. מחשבוני ברירת מחדל לא תומכים בתעריפים בינלאומיים, וחישוב ידני על ידי מעבר לאתר DHL אורך 10 דקות לכל הזמנה. אוטמטנו את התהליך: אינטגרציה דרך DHL Express API חותכת את הזמן ל-1-2 שניות ומבטלת שגיאות קלט. החזר השקעה לשדרוג כזה הוא בדרך כלל 3-4 חודשים בזכות הפחתת עבודה ידנית.
אילו בעיות אנחנו פותרים
חישוב עלות בזמן אמת. DHL API מחזיר מחיר תוך התחשבות במשקל, מידות, מדינת יעד ואפשרויות נוספות. ללא אינטגרציה, מנהלים נכנסים ידנית לאתר DHL — זה לוקח 5-10 דקות לכל הזמנה, ועם מאה הזמנות ביום, שעות. האינטגרציה שלנו מאיצה את התהליך פי 20 ומבטלת לחלוטין שגיאות עיגול.
יצירת משלוח עם הדפסת תווית. ה-API מייצר מספר AWB וקובץ PDF להדפסה. ידנית, צריך לייצא נתונים לטופס DHL, להוריד ולצרף להזמנה. האינטגרציה מצמצמת את זה ל-30 שניות ומצרפת אוטומטית את התווית להזמנה.
מעקב עבור הקונה. ללא אינטגרציה, לקוחות צריכים לעקוב אחר החבילה דרך קישור באתר DHL — לא נוח. מעקב מובנה בחשבון האישי מגביר אמון ומפחית עומס על התמיכה.
הצהרות מכס. משלוחים בינלאומיים דורשים קודי HS והצהרת יצוא. שגיאות מובילות לעיכובים במכס. האינטגרציה מעבירה אוטומטית נתונים ממאפייני המוצר, מפחיתה את סיכון השגיאות ב-95% ומאיצה את שחרור הגבול.
איך לאוטמט את חישוב העלות של DHL?
אנחנו משתמשים ב-PHP 8.1+ ובספריית guzzlehttp/guzzle לבקשות HTTP. מחלקת המשלוח יורשת מ-\Bitrix\Sale\Delivery\Services\Base. פרמטרים נשמרים ב-b_sale_delivery_service_params. דוגמה לבקשת API:
$ratesRequest = [
'customerDetails' => [
'shipperDetails' => [
'postalCode' => '220004',
'cityName' => 'Minsk',
'countryCode' => 'BY',
],
'receiverDetails' => [
'postalCode' => '10115',
'cityName' => 'Berlin',
'countryCode' => 'DE',
],
],
'accounts' => [
['typeCode' => 'shipper', 'number' => $accountNumber],
],
'productCode' => 'P',
'localProductCode' => 'P',
'packages' => [
[
'weight' => $weightKg,
'dimensions' => [
'length' => 30,
'width' => 20,
'height' => 15,
],
],
],
'plannedShippingDateAndTime' => date('Y-m-d\TH:i:s \G\M\T+0000'),
'unitOfMeasurement' => 'metric',
];
התשובה מכילה מערך $ratesRequest = [ 'customerDetails' => [ 'shipperDetails' => [ 'postalCode' => '220004', 'cityName' => 'Minsk', 'countryCode' => 'BY', ], 'receiverDetails' => [ 'postalCode' => '10115', 'cityName' => 'Berlin', 'countryCode' => 'DE', ], ], 'accounts' => [['typeCode' => 'shipper', 'number' => $accountNumber]], 'productCode' => 'P', 'localProductCode' => 'P', 'packages' => [[ 'weight' => $weightKg, 'dimensions' => ['length' => 30, 'width' => 20, 'height' => 15], ]], 'plannedShippingDateAndTime' => date('Y-m-d\TH:i:s \G\M\T+0000'), 'unitOfMeasurement' => 'metric', ]; עם מחירים. אנחנו בוחרים את השירות הרצוי ומעבירים products ללקוח.
איך להגדיר אימות DHL Express ב-Bitrix?
האימות הוא Basic Auth. שם משתמש וסיסמה נלקחים מהגדרות שירות המשלוח. לכל בקשה הם נשלחים בכותרת totalPrice. אנחנו לא שומרים אותם בקוד — השתמשו בקובץ Authorization: Basic base64(username:password) או בפרמטרים של מודול. לפי תיעוד DHL Express API, האימות נעשה דרך Basic Auth.
שגיאות נפוצות בעבודה עם DHL API
שגיאות נפוצות: פורמט כתובת נמען שגוי, חוסר בנתוני מכס למשלוח בינלאומי, חריגה ממגבלת משקל. DHL Express API מחזיר קוד שגיאה בתשובת XML. אנחנו מתעדים את כל הבקשות ל-.env לצורך ניפוי. לבדיקות, אנחנו משתמשים בסביבת הבדיקה של DHL עם נתונים מדומים — זה עוזר לתפוס בעיות לפני השקה לייצור.
תהליך העבודה
- ניתוח — קביעת מוצרי DHL (Express/Parcel/eCommerce), איסוף דרישות לנתוני מכס.
- עיצוב — פיתוח מחלקת משלוח, מיפוי מאפייני מוצר, סכמת אחסון מספר AWB.
- יישום — כתיבת קוד לחישוב, יצירת משלוח, מעקב ואיסוף. שימוש ברכיב 2.0 וב-D7 ORM.
- בדיקות — בדיקה על חשבון בדיקה של DHL, הדמיית תרחישים שונים (ביטול משלוח, שגיאת מכס). חשוב לטפל בשגיאות: מיקוד לא תקין או חוסר קוד HS צריך להחזיר הודעה ברורה.
- פריסה — הגדרת מטמון מתויג, סוכני עיבוד ברקע, ניטור.
מה כלול בעבודה
- פיתוח מחלקת שירות משלוח עם חישוב עלות והדפסת תווית.
- אינטגרציה של מעקב בחשבון האישי של הקונה (רכיב
bx_event_log). - הגדרת הצהרות מכס עם מיפוי קודי HS.
- תיעוד תפעולי: תיאור הגדרות, קודי שגיאה, נוהל עדכון.
- הדרכת עובדים: איך לבדוק משלוחים, איפה לראות לוגים.
- שבועיים של תמיכה לאחר ההשקה — תיקון באגים אפשריים.
השוואה בין אינטגרציית DHL לתהליך ידני
| תכונה | עבודה ידנית | אינטגרציית DHL API |
|---|---|---|
| זמן חישוב עלות | 5–10 דקות | 1–2 שניות |
| זמן עיבוד משלוח | 10–15 דקות | 30–60 שניות |
| שגיאות נתוני מכס | סבירות גבוהה | בקרה אוטומטית |
| מעקב לקוח | דרך קישור לאתר DHL | מובנה בחשבון האישי |
| בקשת איסוף שליח | שיחת טלפון נפרדת | כפתור בפאנל הניהול |
למה לבחור בנו
אנחנו צוות עם ניסיון של 10+ שנים בפיתוח Bitrix. השלמנו מעל 50 אינטגרציות עם DHL ומובילים בינלאומיים אחרים (כולל DHL Parcel). אנחנו משתמשים בגישות מוסמכות: PHP 8.1, מטמון מתויג, מיגרציות מסד נתונים. אנחנו מבטיחים פעולה יציבה — כל בקשת API מתועדת, ניטור שגיאות מוגדר. חיסכון בעלויות לוגיסטיקה יכול להגיע ל-30% דרך אוטומציה, והחזר ההשקעה של הפרויקט הוא 3-4 חודשים.
לוחות זמנים משוערים
| היקף | רכיבים | זמן |
|---|---|---|
| בסיסי | חישוב עלות + יצירת משלוח + הדפסת תווית | מ-4 עד 6 ימים |
| מורחב | + הצהרות מכס עם קודי HS וחשבונית מסחרית | + 2–3 ימים |
| מלא | + מעקב בחשבון האישי של הקונה + בקשת איסוף שליח אוטומטית | + 2–3 ימים |
העלות מחושבת בנפרד לכל משימה. קבלו ייעוץ על אינטגרציית DHL לחנות שלכם — צרו קשר במייל או בטלגרם. ספרו לנו על התהליכים הנוכחיים שלכם — נייעץ אילו מודולים נוספים (החלפת 1C, פיסקאליזציה) נדרשים לאוטומציה מלאה.

