דלג לתוכן הראשי
🧩 תוסף WooCommerce מוכן: מתקינים, מדביקים מפתח API — וכל הזמנה זורמת ל-D2D בלי קוד. הורדה

תיעוד API

ממשק תכנות לשילוב מערכת D2D במערכות חיצוניות

סקירה כללית

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

Base URL

https://d2d.co.il/api/v1/external

פורמט

כל הבקשות והתגובות הן בפורמט JSON. יש לשלוח את ה-header הבא בכל בקשה:

Content-Type: application/json Accept: application/json

זמינות

גישת API זמינה לכל העסקים המאושרים, ללא תוספת תשלום.

אימות (Authentication)

כל בקשה ל-API חייבת לכלול מפתח API בכותרת X-API-Key. ניתן ליצור ולנהל מפתחות מדף ניהול מפתחות API.

Header
X-API-Key: d2d_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

הרשאות מפתח

בעת יצירת מפתח API, ניתן לקבוע הרשאות ספציפיות:

הרשאה תיאור
deliveries.create יצירת משלוחים חדשים
deliveries.read צפייה במשלוחים, רשימות, סטטוסים
deliveries.cancel ביטול משלוחים

מגבלת קצב (Rate Limiting)

כל מפתח API מוגבל במספר הבקשות לדקה. ברירת המחדל היא 60 בקשות לדקה. כאשר חורגים מהמגבלה, תוחזר תגובה עם קוד 429.

כותרות תגובה רלוונטיות:

Header תיאור
X-RateLimit-Limit מספר הבקשות המותר לדקה
Retry-After מספר שניות להמתנה (רק ב-429)

טיפול בשגיאות

כל תגובה כוללת שדה success (boolean). בעת שגיאה, יוחזר גם שדה message עם הסבר.

קוד HTTP משמעות
200 הבקשה הצליחה
201 נוצר בהצלחה (Create)
401 מפתח API חסר, לא תקין, או פג תוקף
403 אין הרשאה מתאימה / חבילה לא תומכת
404 משלוח לא נמצא
422 שגיאת ולידציה (Validation Error)
429 חריגה ממגבלת בקשות
Error Response Example
{ "success": false, "message": "API key missing. Provide X-API-Key header." }

סטטוסי משלוח

כל משלוח עובר דרך שלבים מוגדרים. הערכים המוחזרים בשדה status:

pending - ממתין
assigned - שוייך לשליח
picked_up - נאסף
on_way - בדרך
delivered - נמסר
failed - נכשל
cancelled - בוטל

מחיר משלוח (לפני הזמנה)

POST /api/v1/external/deliveries/quote deliveries.read

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

פרמטרי בקשה (Body)

שדהסוגחובהתיאור
customer_city string כן* עיר היעד. *או distance_km — לפחות אחד מהם
distance_km number לא מרחק מדויק בק"מ. גובר על העיר אם נשלח
weight_kg number לא משקל החבילה — עשוי להוסיף תוספת משקל
package_size string לא small · medium · large
service_type string לא סוג השירות. ברירת מחדל: סוג השירות הפעיל

דוגמת בקשה

Request
curl -X POST https://d2d.co.il/api/v1/external/deliveries/quote \ -H "Content-Type: application/json" \ -H "X-API-Key: d2d_live_your_api_key_here" \ -d '{ "customer_city": "תל אביב", "weight_kg": 3.5, "package_size": "medium" }'

דוגמת תגובה

Response 200
{ "success": true, "data": { "quote": { "price": 55.00, "currency": "ILS", "distance_km": 12.4, "service_type": "economy", "breakdown": { "base_price": 55.00, "discount_amount": 0, "express_fee": 0, "weight_surcharge": 0, "size_surcharge": 0, "addon_fees_total": 0 } } } }

יצירת משלוח

POST /api/v1/external/deliveries deliveries.create

יצירת משלוח חדש. המשלוח ייכנס לתור בסטטוס pending ויוקצה לשליח זמין.

פרמטרי בקשה (Body)

שדה סוג חובה תיאור
customer_name string חובה שם הלקוח (עד 255 תווים)
customer_phone string חובה טלפון ישראלי (פורמט: 05XXXXXXXX)
customer_address string חובה כתובת מלאה (עד 255 תווים)
customer_city string חובה עיר (עד 100 תווים)
notes string אופציונלי הערות למשלוח (עד 500 תווים)
amount number אופציונלי סכום לגבייה מהלקוח (0 - 999,999.99)
payment_method string אופציונלי אמצעי תשלום: cash, credit, paid (ברירת מחדל: paid)
is_priority boolean אופציונלי משלוח דחוף (ברירת מחדל: false)
client_ref string אופציונלי, מומלץ מאוד מזהה ההזמנה שלכם. שליחה חוזרת עם אותו client_ref מחזירה את המשלוח הקיים (200) במקום ליצור כפול — הגנה מפני retry.
service_type string אופציונלי סוג המשלוח (slug), כמו בבקשת הצעת המחיר. ללא — סוג ברירת המחדל.
declared_value number אופציונלי שווי החבילה בש"ח, לביטוח. לא משנה את המחיר.
delivery_fee number אופציונלי עמלת משלוח (0.01 - 99,999.99). אם לא צוין, ייקבע לפי ברירת מחדל

דוגמת בקשה

Request
curl -X POST https://d2d.co.il/api/v1/external/deliveries \ -H "Content-Type: application/json" \ -H "X-API-Key: d2d_live_your_api_key_here" \ -d '{ "customer_name": "ישראל ישראלי", "customer_phone": "0501234567", "customer_address": "הרצל 15, דירה 3", "customer_city": "תל אביב", "amount": 150.00, "payment_method": "cash", "notes": "קומה 3, לצלצל לפני הגעה", "is_priority": false }'

דוגמת תגובה

Response 201
{ "success": true, "message": "המשלוח נוצר בהצלחה.", "data": { "delivery": { "id": 1042, "tracking_number": "DLV20260311A1B2", "tracking_url": "https://d2d.co.il/track/DLV20260311A1B2", "status": "pending", "customer_name": "ישראל ישראלי", "customer_phone": "0501234567", "customer_address": "הרצל 15, דירה 3", "customer_city": "תל אביב", "amount": 150.00, "delivery_fee": 20.00, "is_priority": false, "notes": "קומה 3, לצלצל לפני הגעה", "created_at": "2026-03-11T10:30:00+02:00" } } }

רשימת משלוחים

GET /api/v1/external/deliveries deliveries.read

קבלת רשימת כל המשלוחים של העסק עם עימוד (pagination). ניתן לסנן לפי סטטוס.

פרמטרי שאילתה (Query Params)

שדה סוג חובה תיאור
status string אופציונלי סינון לפי סטטוס (ראו סטטוסי משלוח)
page integer אופציונלי מספר עמוד (ברירת מחדל: 1)
per_page integer אופציונלי פריטים בעמוד (1-100, ברירת מחדל: 20)

דוגמת בקשה

Request
curl -X GET "https://d2d.co.il/api/v1/external/deliveries?status=pending&per_page=10" \ -H "X-API-Key: d2d_live_your_api_key_here"

דוגמת תגובה

Response 200
{ "success": true, "data": [ { "id": 1042, "tracking_number": "DLV20260311A1B2", "tracking_url": "https://d2d.co.il/track/DLV20260311A1B2", "status": "pending", "status_label": "ממתין", "customer_name": "ישראל ישראלי", "customer_phone": "0501234567", "customer_address": "הרצל 15, דירה 3", "customer_city": "תל אביב", "amount": 150.00, "delivery_fee": 20.00, "is_priority": false, "notes": "קומה 3, לצלצל לפני הגעה", "assigned_at": null, "picked_up_at": null, "delivered_at": null, "created_at": "2026-03-11T10:30:00+02:00" } ], "meta": { "current_page": 1, "last_page": 5, "per_page": 10, "total": 47 } }

פרטי משלוח

GET /api/v1/external/deliveries/{tracking_number} deliveries.read

קבלת פרטים מלאים של משלוח לפי מספר מעקב. אם שוייך שליח, יוחזרו גם פרטי השליח.

פרמטרי URL

שדה סוג תיאור
tracking_number string מספר מעקב המשלוח (לדוגמה: DLV20260311A1B2)

דוגמת בקשה

Request
curl -X GET https://d2d.co.il/api/v1/external/deliveries/DLV20260311A1B2 \ -H "X-API-Key: d2d_live_your_api_key_here"

דוגמת תגובה

Response 200
{ "success": true, "data": { "delivery": { "id": 1042, "tracking_number": "DLV20260311A1B2", "tracking_url": "https://d2d.co.il/track/DLV20260311A1B2", "status": "on_way", "status_label": "בדרך", "customer_name": "ישראל ישראלי", "customer_phone": "0501234567", "customer_address": "הרצל 15, דירה 3", "customer_city": "תל אביב", "amount": 150.00, "delivery_fee": 20.00, "is_priority": false, "notes": "קומה 3, לצלצל לפני הגעה", "assigned_at": "2026-03-11T10:35:00+02:00", "picked_up_at": "2026-03-11T10:50:00+02:00", "delivered_at": null, "created_at": "2026-03-11T10:30:00+02:00", "courier": { "name": "אחמד חסן", "phone": "0529876543" } } } }

ביטול משלוח

POST /api/v1/external/deliveries/{tracking_number}/cancel deliveries.cancel

ביטול משלוח לפי מספר מעקב. ניתן לבטל רק משלוחים בסטטוס pending. משלוחים שכבר שוייכו לשליח או בתהליך משלוח אינם ניתנים לביטול דרך ה-API.

פרמטרי URL

שדה סוג תיאור
tracking_number string מספר מעקב המשלוח

דוגמת בקשה

Request
curl -X POST https://d2d.co.il/api/v1/external/deliveries/DLV20260311A1B2/cancel \ -H "X-API-Key: d2d_live_your_api_key_here"

דוגמת תגובה (הצלחה)

Response 200
{ "success": true, "message": "המשלוח בוטל.", "data": { "delivery": { "id": 1042, "tracking_number": "DLV20260311A1B2", "status": "cancelled", "status_label": "בוטל", // ... full delivery object } } }

דוגמת תגובה (שגיאה - סטטוס לא תקין)

Response 422
{ "success": false, "message": "ניתן לבטל רק משלוח בסטטוס ממתין." }

סטטוס העסק

GET /api/v1/external/status deliveries.read

קבלת מידע על העסק וסיכום משלוחים כללי. שימושי לבדיקת חיבור (health check) ולקבלת סטטיסטיקות מהירות.

דוגמת בקשה

Request
curl -X GET https://d2d.co.il/api/v1/external/status \ -H "X-API-Key: d2d_live_your_api_key_here"

דוגמת תגובה

Response 200
{ "success": true, "data": { "business": { "id": 12, "name": "מסעדת הגינה", }, "deliveries": { "total": 1250, "pending": 8, "active": 15, "completed": 1180 } } }
וואטסאפ