שילוב 1C-Bitrix עם שירות המשלוחים Dostavista
לקוח מבצע הזמנה בשעה 18:30, והשליח מגיע רק למחרת בצהריים? הסיבה היא יצירה ידנית של הזמנה בשירות המשלוחים. המנהל מבזבז 15 דקות במילוי נתונים: כתובת, משקל, אנשי קשר. שגיאה במספר הטלפון—והשליח לא יכול להתקשר. שילוב של 1C-Bitrix עם Dostavista דרך REST API מבטל את הגורם האנושי ומאיץ את המשלוח ל-1–2 שעות. אנחנו, צוות מפתחי Bitrix מוסמכים עם ניסיון של 10+ שנים ויותר מ-50 פרויקטים מוצלחים, מציעים הטמעה במפתח. בממוצע, הפרויקט אורך 3–6 ימים בהתאם למורכבות.
למה לשלב עם Dostavista?
יצירה ידנית של בקשות משלוח מובילה לעיכובים, שגיאות ואובדן לקוחות. אוטומציה דרך REST API של Dostavista מאפשרת לצמצם את זמן המשלוח—הבקשה נשלחת לשליח תוך שניות לאחר אישור ההזמנה. ביטול שגיאות—כתובות ואנשי קשר מועברים אוטומטית. הגדלת נאמנות—הלקוח רואה את הסטטוס והמיקום של השליח בזמן אמת. ה-API של Dostavista עדיף על אינטגרציות SOAP עם סכמות XML מסורבלות: בקשות REST קלות יותר, התיעוד שקוף, וזמן התגובה נמוך פי 2–3.
איך עובד ה-API של Dostavista
Dostavista מספקת REST API. האימות מתבצע דרך טוקן בכותרת X-Authorizationtoken. שיטות עיקריות:
-
POST /api/business/v1/orders— יצירת בקשת משלוח -
GET /api/business/v1/orders/{id}— קבלת סטטוס בקשה -
DELETE /api/business/v1/orders/{id}— ביטול בקשה -
GET /api/business/v1/couriers/{id}/location— קואורדינטות שליח
הבקשה מכילה נקודות מסלול (מערך points): נקודה 0 היא נקודת האיסוף (מחסן/חנות), נקודות 1..N הן כתובות המשלוח של הלקוחות. הזמנת Dostavista אחת יכולה להכיל מספר נקודות משלוח—זה נוח למשלוחים בכמות גדולה.
מודול משלוחים ב-Bitrix
שירות המשלוחים מחובר דרך מחלקה שיורשת מ-\Bitrix\Sale\Delivery\Services\Base. שיטות מפתח:
-
calculateConcrete()— מחשבת עלות משלוח. קוראת ל-POST /api/business/v1/orders/calculate-priceעם כתובת איסוף/משלוח ומשקל. -
createDelivery()— יוצרת את הבקשה בפועל כאשר ההזמנה מאושרת על ידי המנהל או אוטומטית בעת שינוי סטטוס. - Handler
OnSaleStatusOrder— חיבור לשינוי סטטוס הזמנה ב-b_sale_order.
פרמטרי המודול נשמרים ב-b_sale_delivery_service_params: API_TOKEN, SHOP_POINT_ADDRESS (כתובת מחסן), AUTO_CREATE (יצירת בקשה אוטומטית).
חישוב עלות משלוח
$response = $httpClient->post(
'https://robot.dostavista.ru/api/business/v1/orders/calculate-price',
[
'matter' => 'Товар из магазина',
'weight_kg' => $weightKg,
'points' => [
['address' => $shopAddress],
[
'address' => $deliveryAddress,
'contact_person' => ['phone' => $phone],
],
],
],
['X-Authorizationtoken' => $apiToken]
);
$price = $response['order']['payment_amount'];התשובה מכילה $response = $httpClient->post( 'https://robot.dostavista.ru/api/business/v1/orders/calculate-price', [ 'matter' => 'Товар из магазина', 'weight_kg' => $weightKg, 'points' => [ ['address' => $shopAddress], [ 'address' => $deliveryAddress, 'contact_person' => ['phone' => $phone], ], ], ], ['X-Authorizationtoken' => $apiToken] ); $price = $response['order']['payment_amount']; —הסכום לתשלום (במטבע מקומי). אם הכתובת לא מזוהה או נמצאת מחוץ לאזור הכיסוי, ה-API מחזיר שגיאה—אנחנו מטפלים בזה כ"משלוח לא זמין".
איך להפוך את יצירת ההזמנות ב-Bitrix לאוטומטית
הבקשה נוצרת או אוטומטית כאשר הלקוח בוחר את שיטת המשלוח וההזמנה מאושרת, או ידנית על ידי המנהל מלוח הניהול. האפשרות השנייה עדיפה לחנויות שצריכות לבדוק מלאי לפני המשלוח.
ב-payment_amount, אנחנו שומרים b_sale_order_props—מזהה הבקשה במערכת Dostavista. זה נחוץ עבור:
- מעקב אחר סטטוס הבקשה (פולינג או webhook)
- ביטול הבקשה כאשר ההזמנה מבוטלת ב-Bitrix
- מתן קישור מעקב לשליח ללקוח
סטטוסים וסנכרון
Dostavista תומכת ב-webhooks: כאשר הסטטוס של בקשה משתנה, המערכת שולחת בקשת POST לכתובת URL שצוינה. הגדר זאת בחשבון האישי שלך. בצד Bitrix, אנחנו יוצרים handler שממפה סטטוסים של Dostavista לסטטוסי הזמנה:
| סטטוס Dostavista | סטטוס הזמנה ב-Bitrix |
|---|---|
DOSTAVISTA_ORDER_ID |
הועבר למשלוח |
awaiting_executor |
שליח בדרך |
active |
נמסר |
completed |
בוטל |
canceled |
שגיאת משלוח |
אם webhooks לא זמינים (אין IP ציבורי), אנחנו מיישמים פולינג: סוכן Bitrix בודק את הסטטוס של בקשות פעילות כל 5–10 דקות דרך failed.
מעקב אחר שליח
Dostavista מחזירה GET /api/business/v1/orders/{id}/courier.latitude בבקשה כאשר המשלוח פעיל. עבור חנויות שרוצות להציג את מיקום השליח על מפה, אנחנו מיישמים נקודת קצה AJAX בצד Bitrix—היא מעבירה את הבקשה ל-API של Dostavista ומחזירה קואורדינטות.
לוחות זמנים
| היקף | רכיבים | משך |
|---|---|---|
| אינטגרציה בסיסית | חישוב עלות + יצירת הזמנה | 3–4 ימים |
| + יצירה אוטומטית + סטטוסים | חיבור סטטוס + מיפוי + פולינג | 5–6 ימים |
| + מעקב אחר שליח | נקודת קצה AJAX + ווידג'ט באתר | +2 ימים |
מה כלול
אנחנו מספקים מחזור שירותים מלא: ניתוח תהליכים לוגיסטיים, הגדרת טוקנים והרשאות API, פיתוח מודול משלוחים מותאם אישית לפרטי החנות, הטמעת handlers לסטטוסים (webhooks או פולינג), יצירת ווידג'ט מעקב AJAX על מפה, בדיקות ייצור, תיעוד והדרכת מנהלים. אנחנו מבטיחים פעולה יציבה של האינטגרציה ותמיכה מהירה לאחר ההשקה. אם אתה רוצה להפוך את המשלוחים בחנות שלך לאוטומטיים, צור קשר. ספר לנו על הפרויקט שלך ונחזור עם תוכנית והערכה.

