דרישות Tec.Delivery לשכבת ייצוג הנתונים (REST API) של מערכת הניהול לצורך קבלת נתוני SCU
מסמך זה מתאר את הדרישות המינימליות לשכבת ייצוג הנתונים (להלן: API) של מערכת הניהול לצורך קבלת נתוני מוצרים באמצעות תוסף הסנכרון האוניברסלי של Tec.Delivery.
רעיון כללי
תוסף הסנכרון מקבל נתונים משכבת ייצוג הנתונים (להלן: API) של מערכת הניהול, לדוגמה 1C.
1. דרישות כלליות ל־API Endpoints
1.1 שיטות נתמכות
-
GET /api/v1/getקבלת מוצרים וקטגוריות
-
GET /api/v1/balanceאופציונלי קבלת יתרות מלאי של מוצרים
הפרמטרים מועברים באמצעות Query String.
כתובות ה־URL המוצגות הן דוגמאות בלבד וניתן להחליפן בכל כתובת URL תקינה שתוגדר על ידי מפתח ה־API.
2. קבלת מוצרים וקטגוריות
דוגמת בקשה:
/api/v1/get?type=product&modified_since=2026-02-01T00:00:00Z&limit=100&offset=0
פרמטרים נתמכים (סינון ודפדוף):
type — category / productmodified_sinceמורה ל־API להחזיר רשומות שזמן העדכון שלהן גדול או שווה לערך שצויןlimitפרמטר דפדוף המגדיר את מספר הרשומות בכל אצווהoffsetפרמטר דפדוף המגדיר את ההיסט בתוצאות
3. שדות
כל אובייקט חייב להכיל את השדות הבאים:
| שדה | סוג | חובה | תיאור |
|---|---|---|---|
id |
string | כן | מזהה ייחודי ויציב |
type |
string | כן | סוג הישות: category או product |
parent |
string | כן | מזהה ישות האב (0 או null עבור קטגוריית שורש) |
name |
string | כן | שם המוצר או הקטגוריה |
modified_at |
string | כן | תאריך ושעת העדכון האחרון של המוצר או הקטגוריה |
description |
string | לא | תיאור המוצר |
bulk |
bool | לא | false — מוצר יחידני, true — מוצר הנמכר לפי משקל |
price |
number | לא | מחיר המוצר |
discount |
number | לא | גובה ההנחה |
store_balance |
number | לא | כמות זמינה במלאי |
image_url |
string | לא | קישור ציבורי לתמונת המוצר |
image_hash |
string / number | לא | Hash של התמונה או ערך אחר המשמש למעקב אחר שינויים בתמונה |
- המזהה (ID) חייב להיות ייחודי ואינו יכול להשתנות לאורך זמן
- קשר ה־
parentחייב להיות תקין - קישור התמונה חייב להיות נגיש לציבור ללא צורך באימות או הפניות (Redirects)
- השדה
modified_atחייב להתעדכן בכל שינוי במוצר או בקטגוריה - הערכים
price,discountו־store_balanceחייבים להישלח בפורמט מספרי תקין
4. לוגיקת יצירה, עדכון ומחיקה של מוצרים
-
```
-
יצירה
התוסף יוצר את כל המוצרים שהתקבלו ושמזהיהם אינם קיימים ב־Tec.Delivery.
-
עדכון נתונים
התוסף מעדכן את כל נתוני המוצר כאשר הערך של השדה
modified_atמשתנה. -
מחיקה
אם מוצר נוצר בעבר ב־Tec.Delivery אך אינו מופיע בתגובה הנוכחית של ה־API, התוסף יסמן אותו כחסום והוא לא יוצג עוד בחנות.
```
- אם המוצר חדש → הוא נוצר ב־Tec.Delivery
- אם
modified_atהשתנה → המוצר מתעדכן - אם
image_hashהשתנה → רק התמונה מתעדכנת - אם המוצר נעלם מה־API → המוצר מוסתר (מסומן כחסום)
5. עדכון תמונות
עדכניות תמונת המוצר מנוהלת באמצעות השדה image_hash.
מומלץ להשתמש ב־Hash אמיתי של התמונה, אך ניתן להשתמש גם בשיטות אחרות לזיהוי שינויים,
כגון תאריך עדכון התמונה או גרסת תמונה אחרת.
השדה image_hash מעובד באופן עצמאי מהשדה modified_at.
לכן, לצורך עדכון תמונה בלבד, מספיק לשנות את ערך image_hash,
ושאר נתוני המוצר יישארו ללא שינוי.
6. מבנה התגובה ודפדוף (חובה)
תגובת ה־API חייבת להיות אובייקט JSON תקין המכיל:
data— מערך של מוצרים או קטגוריותtotal— מספר הרשומות הכולל התואם למסננים שהוגדרו, ללא התחשבות בדפדוף
ה־API חייב לתמוך בדפדוף ולקבל את הפרמטרים limit ו־offset.
דוגמת תגובה:
{
"data": [
{
"id": "b01a1a32-8ba2-11e6-9cf3-10bf484d6226",
"parent": "551b4ed9-c385-11e6-9cd7-10bf484d6226",
"type": "product",
"bulk": false,
"name": "אורז ארוך מאודה Goodwill 800 גרם",
"price": 145,
"store_balance": 16,
"modified_at": "2026-02-13T13:24:04",
"description": "…",
"image_url": "https://…/images/b01a1a32-8ba2-11e6-9cf3-10bf484d6226.jpg",
"image_hash": "f9a15f0d6ebf943aea177f597cb96689c2d5c44d"
},...
],
"total": 15420
}
6. סנכרון מלאי (Endpoint אופציונלי)
אם החנות דורשת סנכרון תכוף של מלאי (לדוגמה, עקב היקף מכירות גבוה במצב סופרמרקט), מומלץ לממש Endpoint נפרד ופשוט יותר שמחזיר רק נתוני מלאי.
דוגמת בקשה:
/api/v1/balance?modified_since=2026-02-01T00:00:00Z&limit=100&offset=0
פרמטרים נתמכים:
modified_since— מורה ל־API להחזיר רשומות שזמן עדכון המלאי שלהן גדול או שווה לערך שצויןlimit— פרמטר דפדוף המגדיר את מספר הרשומות בכל אצווהoffset— פרמטר דפדוף המגדיר את ההיסט בתוצאות
תגובה
{
"data": [
{
"id": "b01a1a32-8ba2-11e6-9cf3-10bf484d6226",
"store_balance": 16
},...
],
"total": 15420
}
7. מבנה היררכי (parent → child)
מודל קטלוג המוצרים הוא היררכי. עומק ההיררכיה המינימלי הוא 2 והמקסימלי הוא 3:
- 1 — קטגוריה
- 2 — תת־קטגוריה / מוצר
- 3 — מוצר