תיעוד API
ממשק תכנות לשילוב מערכת D2D במערכות חיצוניות
סקירה כללית
ממשק ה-API של D2D מאפשר לעסקים לשלב את מערכת המשלוחים ישירות במערכות שלהם - חנויות אונליין, מערכות ERP, אפליקציות ועוד. באמצעות ה-API תוכלו ליצור משלוחים, לעקוב אחרי סטטוסים, ולבטל משלוחים באופן אוטומטי.
Base URL
פורמט
כל הבקשות והתגובות הן בפורמט JSON. יש לשלוח את ה-header הבא בכל בקשה:
זמינות
גישת API זמינה לכל העסקים המאושרים, ללא תוספת תשלום.
אימות (Authentication)
כל בקשה ל-API חייבת לכלול מפתח API בכותרת X-API-Key. ניתן ליצור ולנהל מפתחות מדף ניהול מפתחות API.
הרשאות מפתח
בעת יצירת מפתח 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 | חריגה ממגבלת בקשות |
סטטוסי משלוח
כל משלוח עובר דרך שלבים מוגדרים. הערכים המוחזרים בשדה status:
pending - ממתין
assigned - שוייך לשליח
picked_up - נאסף
on_way - בדרך
delivered - נמסר
failed - נכשל
cancelled - בוטל
מחיר משלוח (לפני הזמנה)
מחזיר את מחיר המשלוח מבלי ליצור אותו — בשביל עמוד הצ'קאאוט. המחיר מחושב לפי ההסכם שלכם, בדיוק כמו בטופס ההזמנה: מחיר קבוע, ויתור על תוספת משקל או מדרגת כמות, אם סוכמו.
פרמטרי בקשה (Body)
| שדה | סוג | חובה | תיאור |
|---|---|---|---|
customer_city |
string | כן* | עיר היעד. *או distance_km — לפחות אחד מהם |
distance_km |
number | לא | מרחק מדויק בק"מ. גובר על העיר אם נשלח |
weight_kg |
number | לא | משקל החבילה — עשוי להוסיף תוספת משקל |
package_size |
string | לא | small · medium · large |
service_type |
string | לא | סוג השירות. ברירת מחדל: סוג השירות הפעיל |
דוגמת בקשה
דוגמת תגובה
יצירת משלוח
יצירת משלוח חדש. המשלוח ייכנס לתור בסטטוס 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). אם לא צוין, ייקבע לפי ברירת מחדל |
דוגמת בקשה
דוגמת תגובה
רשימת משלוחים
קבלת רשימת כל המשלוחים של העסק עם עימוד (pagination). ניתן לסנן לפי סטטוס.
פרמטרי שאילתה (Query Params)
| שדה | סוג | חובה | תיאור |
|---|---|---|---|
status |
string | אופציונלי | סינון לפי סטטוס (ראו סטטוסי משלוח) |
page |
integer | אופציונלי | מספר עמוד (ברירת מחדל: 1) |
per_page |
integer | אופציונלי | פריטים בעמוד (1-100, ברירת מחדל: 20) |
דוגמת בקשה
דוגמת תגובה
פרטי משלוח
קבלת פרטים מלאים של משלוח לפי מספר מעקב. אם שוייך שליח, יוחזרו גם פרטי השליח.
פרמטרי URL
| שדה | סוג | תיאור |
|---|---|---|
tracking_number |
string | מספר מעקב המשלוח (לדוגמה: DLV20260311A1B2) |
דוגמת בקשה
דוגמת תגובה
ביטול משלוח
ביטול משלוח לפי מספר מעקב. ניתן לבטל רק משלוחים בסטטוס pending. משלוחים שכבר שוייכו לשליח או בתהליך משלוח אינם ניתנים לביטול דרך ה-API.
פרמטרי URL
| שדה | סוג | תיאור |
|---|---|---|
tracking_number |
string | מספר מעקב המשלוח |
דוגמת בקשה
דוגמת תגובה (הצלחה)
דוגמת תגובה (שגיאה - סטטוס לא תקין)
סטטוס העסק
קבלת מידע על העסק וסיכום משלוחים כללי. שימושי לבדיקת חיבור (health check) ולקבלת סטטיסטיקות מהירות.