API למערכת Restigo

הקדמה:

מע' Restigo מנהלת את נתוני ה office back של המסעדה. לצורך ניתוח
הנתונים והצגתם למנהלי המסעדה נדרש לעשות שימוש בנתוני הקופה.
מצ"ב מבנה ה API מול Restigo ( ה API מקבל הודעות ב )post
ליד כל שדה רשום את סוג הערך הצפוי בו
(optional) = שדה לא חובה.
ה API יעבוד ב 2 תצורות:
1. הכנסות + פריטי מכירה : ממשק Get בו מערכת RESTIGO פונה לספק
לצורך קבלת הנתונים .2 ממשק RT – עבור שעות עובדים, יישלח בכל 3 דקות
// = הערות, בדרך כלל מתייחס לפורמט של התאריך.
ממשקים:
Web report income .1
https://app.restigo.co.il/api/pos/{provider}/receive/income
provider = שם הקופה
ממשק income משמש להעברת נתוני הכנסות (דו"ח )Z לפי 3 חתכים :

T.A משלוחים

א. פירוט לפי אמצעי תשלום ב. פירוט לפי משמרת
ב. פירוט לפי ערוץ מכירה : ישיבה במקום /

הממשק בנוי מ:
• Branch_id – מס' סניף ב RESTIGO , נשלח בעת בקשת חיבור סניף חדש
• Key – מזהה חיבור לסניף ב RESTIGO , נשלח בעת בקשת חיבור סניף חדש
• Startdate – תאריך פתיחת Z
• Enddate – תאריך סגירת Z
• Transactiondate – תאריך אליו משוייך ה Z
• המספר  Znumber – Z
• customers Total -מס' סועדים , אם לא קיים ניתן להגדיר ערך קבוע "1"

• AvregeDeliverytime – ממוצע זמן משלוח ,אם לא קיים ניתן להגדיר ערך קבוע "1"
• “breakdownShifts”: – פירוט לפי משמרות :
o “shiftID-1 "shiftType”: – מזהה של המשמרת בקופה
 ShiftName – שם משמרת "בוקר" לדוגמא
 Totalcharged – סה"כ הכנסות כולל מע"מ, סה"כ הכנסות מתייחס לכלל אמצעי התשלום
o Totalorders – מס' הזמנות למשמרת
 TotalRedunds – סה"כ זיכויים / החזרות לסוג אמצעי תשלום
o sumRefunded – סכום עסקאות מסוג זיכוי
 Totaldiscount – מספר עסקאות מסוג הנחה
 Sumdiscount – סכום עסקאות מסוג הנחה
 BreakdownPayments – פירוט אמצעי תשלום למשמרת
 paymentType -סוג אמצעי התשלום
 paymentname – שם אמצעי התשלום
Totalcharged – סה"כ הכנסות כולל מע"מ, סה"כ הכנסות מתייחס לכלל אמצעי
התשלום הרלוונטיים למשמרת
Totalcustomers – מס' לקוחות לאמצעי תשלום
Z ב מחושב האם – calcInTotalZ”: true“ 
1, “orderType”: – פירוט לפי ערוץ מכירה
המכירה ערוץ שם – ”orderName”: “TAKEAWAY“
Totalcharged – סה"כ הכנסות כולל מע"מ, סה"כ הכנסות מתייחס לכלל אמצעי התשלום
הרלוונטיים למשמרת  TotalRefunds – סה"כ זיכויים / החזרות במשמרת
Totalorders – מס' הזמנות למשמרת
יתר השדות זהים לממשק BreakdownPayments

כתובת ה API – תועבר לפני התחלת בדיקות
:BranchID יועבר לאחר תחילת בדיקות
מפתח: יועבר לאחר תחילת בדיקות

מבנה ה Json :
{
“restigo”: {
“branch_id”: 1486,
“key”:
“$2y$10$pmcjM1WH122fAXRz1113435.BqoOPU6OJsOJqcujlLfSt8/em8Wy7IcY UtBbvh6",
“income”: {
“startDate”: “2022-07-02”,
“endDate”: “2022-07-02”,
“transactionsDate”: “2022-07-02”,
“zNumber”: “466”,
“totalCustomers”: 182,
“averageDeliveryTime”: 32,
“breakdownShifts”: [
{
“shiftType”: “shiftID-1",
“shiftName”: “בוקר“,
“totalCharged”: 16078.1525,
“totalRefunded”: 7,
“sumRefunded”:2,
“Totaldiscount”:10,
“Sumdiscount”:45,
“breakdownOrders”: [
{
“orderType”: 2,
“orderName”: “מסעדה“,
“totalCharged”: 2084.95,
“totalRefunded”: 0,
“totalOrders”: 5,
“breakdownPayments”: [
{
“paymentType”: “credit”,
“paymentName”: “אשראי“,
“totalCharged”: 1160.2,
“totalRefunded”: 0,
“totalCustomers”: 21,
“calcInTotalZ”: true
},
{
“paymentType”: “cash”,
“paymentName”: “מזומן“,
“totalCharged”: 739.2,
“totalRefunded”: 0,
“totalCustomers”: 12,
“calcInTotalZ”: true
},
{
“paymentType”: 7777,
“paymentName”: “מ“\בע ביס תן”,
“totalCharged”: 185.55,
“totalRefunded”: 0,
“totalCustomers

“calcInTotalZ”: true
}
]
},
{
“orderType”: 1,
“orderName”: “TAKEAWAY”,
“totalCharged”: 4431.75,
“totalRefunded”: 0,
“totalOrders”: 5,
“breakdownPayments”: [
{
“paymentType”: “credit”,
“paymentName”: “אשראי“,
“totalCharged”: 3560.45,
“totalRefunded”: 0,
“totalCustomers”: 40,
“calcInTotalZ”: true
},
{
“paymentType”: “cash”,
“paymentName”: “מזומן“,
“totalCharged”: 561.1,
“totalRefunded”: 0,
“totalCustomers”: 6,
“calcInTotalZ”: true
},
{
“paymentType”: 8888,
“paymentName”: “סיבוס SODEXO”,
“totalCharged”: 96.2,
“totalRefunded”: 0,
“totalCustomers”: 1,
“calcInTotalZ”: true
},
{
“paymentType”: 9999,
“paymentName”: “BUY ME”,
“totalCharged”: 214,
“totalRefunded”: 0,
“totalCustomers”: 2,
“calcInTotalZ”: true
}
]
},
{
“orderType”: 3,
“orderName”: “משלוחים“,
“totalCharged”: 9561.4525,
“totalRefunded”: 0,
“totalOrders”: 5,
“breakdownPayments”: [
{
“paymentType”: “credit”,
“paymentName”: “אשראי“,
“totalCharged”: 5284.65,
“totalRefunded”: 0,
“totalCustomers”: 39,
“calcInTotalZ”: true
},
{
“paymentType”: “cash”,

“totalRefunded”: 0,
“totalCustomers”: 20,
“calcInTotalZ”: true
},
{
“paymentType”: 5555,
“paymentName”: “משלוחה“,
“totalCharged”: 991.6,
“totalRefunded”: 0,
“totalCustomers”: 8,
“calcInTotalZ”: true
},
{
“paymentType”: 7777,
“paymentName”: “מ“\בע ביס תן”,
“totalCharged”: 1338.4525,
“totalRefunded”: 0,
“totalCustomers”: 10,
“calcInTotalZ”: true
}
]
}
]
}
]
}
}
}

Web report products .2
https://app.restigo.co.il/api/pos/{provider}/receive/products
ממשק products משמש להעברת נתוני מכירות הפריטים במהלך היום. הממשק
בנוי מ:
• Branch_id – מספר סניף ב RESTIGO , יונפק ע"י RESTIGO בעת שליחת בקשת חיבור
• Key – מזהה סניף, יונפק ע"י RESTIGO בעת שליחת בקשת חיבור
• Start_date : תאריך פתיחת ה Z
• End_date : תאריך סגירת ה Z
• date Transaction : תאריך ערך אליו משוייך ה Z
• Products : פירוט עבור כל מוצר שנמכר בקופה
• ID – מזהה מוצר בקופה
• Name – שם המוצר
• Type – יכיל 2 ערכים :
– " 0 " = Sold Dish (מנה / ארוחה שנמכרה בקופה)
– "1" = Waste (זריקה)
– שדה Waste : אם בשדה Type יופיע ערך "1" , בשדה Waste תופיע הכמות שנזרקה, אחר יופיע על " Null"
– שדה sold : אם בשדה Type יופיע ערך "0 ":
1. Catalog_price = מחיר קטלוגי קבוע של המוצר
2. בשדה Sold תופיע כלל הכמות שנמכרה בטווח תאריכים (כולל מכירות בסכום (0 וללא זריקות
3. Total = סכום המכירות

מבנה הממשק :
{
"restigo": { "branch_id": int "key": int,
"start date": string,// yyyy-mm-dd "end date": string,// yyyy-mm-dd
"transactions date": string,// yyyy-mm-dd "products": [
{
"id": int, "name": string,
"Type": float,
"Waste" : float
"catalog_price": float, "sold": float, "total": float, "items":[{
"id": int "name": int
"Type":float
"Waste" : float
"catalog_price": float, "sold": float,
}
]
}

לדוגמא :
מנה שנמכרה :
3 ארוחות "אקספרס 1 " נמכרו בסניף במהלך היום המכילות : 3 המבורגרים , שניים מתוכן עם תוספת בצל מטוגן
3 שתייה קלה
2 צ'יפס
1 טבעות בצל

{
"restigo": { "branch_id": {},
"key": {" "},
"start_date": "YYYY-MM-DD, "end_date": "YYY-MM-DD", "transactions_date": "YYYY-MM-DD", "products": [

{
id: 123
ארוחת אקספרס 1 name:
Type : 0
Waste :
catalog_price: 55
sold 3
total : 175 items : [
{
id: 444,
המבורגר אקספרס 1 name:
Type : 0
Waste :
catalog_price: 30
sold: 3
total: 0
},
{
id: 555,
בצל מטוגן name:
Type : 0
Waste:
catalog_price: 5
sold: 2
total: 10
},
{
id: 666,
name: יפס'צ
Type : 0
Waste:
catalog_price: 15
sold: 2
total: 0
},
{
id: 777,
טבעות בצל name:
Type : 0
Waste:
catalog_price: 18
sold: 1
total: 0
},
{
id: 888,
שתיה קלה name:
Type : 0
Waste:
catalog_price: 12sold: 3
total: 0
}
]
}
]
}
}

לדוגמא :
מנה שנזרקה :
2 קפה ומאפה נזרקו בסניף במהלך היום

{
"restigo": { "branch_id": {},
"key": {" "},
"start_date": "YYYY-MM-DD, "end_date": "YYY-MM-DD", "transactions_date": "YYYY-MM-DD", "products": [

{
id: 123
קפה ומאפה name:
Type : 1
Waste : 2
catalog_price:
sold
total : items : [
{
id: 444,
קפה הפוך name:
Type : 2
Waste : 2
catalog_price:
sold:
total:
},
{
id: 555,
קוראסון name:
Type : 1
Waste: 2
catalog_price:
sold:
total:
},
{

}
]
}
}

3. ממשק עובדים time Real :
https://app.restigo.co.il/api/pos/{provider}/receive/employees
יש להקים ממשק time Real אשר יישלח נתונים בכל 3 דקות ויכיל את הנתונים הבאים:
• מס' עובד
• שם העובד
• תאריך כניסה
• שעת כניסה
• תאריך יציאה
• שעת יציאה
ז.ת •
• כתובת מייל

{
"restigo": {

הממשק יכיל את שעות העובדים שנכנסו ו / או יצאו שעתיים אחורה
:

"branch_id": int, "key": string,
"employees": [
{
"number": int,
"start_date": string,// yyyy-mm-dd "end_date": string,// yyyy-mm-dd "start_time": string,// hh:ii "end_time": string,// hh:ii "identifier": string, (optional) "eMail": string (optional)
}
]
}
}