מחירי הסופר בישראל, גם לסוכני AI
SalSmart מאפשר לסוכנים לחפש מוצר לפי שם בעברית או ברקוד ולקבל מחירים לפי רשת וסניף ב-JSON. הנתונים מבוססים על קבצי שקיפות המחירים הפומביים של רשתות המזון שבמאגר.
Search Israeli grocery products by Hebrew name or barcode. Get ILS prices, chain and branch identifiers, source price-change dates, source-file publication and successful-fetch timestamps through free MCP tools or a GET API. Inspect live data status for actual branch coverage and freshness. MCP is read-only and requires no Salsmart account or API key; compatible hosts can display an inline comparison app. A custom connector is ready; public ChatGPT and Claude directory approval has not been granted. Prepaid REST API search uses bearer keys and idempotent requests.
טריות נתוני המחירים
טוענים את מועדי בדיקת קבצי המחירים…
מקור עדכני הוא קובץ שפורסם ב־72 השעות האחרונות ונבדק בהצלחה ב־12 השעות האחרונות. תאריך שינוי המחיר עשוי להיות מוקדם יותר; הכיסוי מוגבל לסניפים שבמאגר.
פירוט מקורות ותאריכי בדיקהחיבור MCP ל-ChatGPT, ל-Claude ולסוכנים
כתובת השרת הציבורי היא https://salsmart.com/mcp, בחיבור Streamable HTTP. מוסיפים אותה כחיבור MCP מותאם במארח שתומך בכך ובוחרים ללא אימות. החיבור מוכן להתקנה ישירה; הזמינות תלויה בהרשאות החשבון ובמדיניות סביבת העבודה.
כתובת שרת MCP — Streamable HTTP
https://salsmart.com/mcpsearch_products— חיפוש חינמי לפי שם, יצרן או ברקוד כמחרוזת. הפרמטרים הםqו-limit; ברירת המחדל והתקרה הן 20 מוצרים.get_data_status— קריאת מספר הסניפים המכוסים, עדכניות המקורות ומועדי הפרסום והמשיכה האחרונה.- הכלים מבצעים קריאה בלבד, ללא חשבון Salsmart או מפתח API. אין בהם פעולת רכישה, תשלום או חיוב.
- במארח שתומך ב-MCP Apps אפשר לחפש ולהשוות גם בממשק בתוך השיחה. לקוח ללא תצוגת ממשק מקבל את המחירים, המקורות וההסתייגויות כטקסט וכנתונים מובנים.
חיפוש MCP משתמש באותו מאגר ובאותה מכסת חיפוש חינמית של ממשק ה-HTTP: 60 בקשות בדקה ו-500 ביום UTC לכל כתובת חיבור. משתמשים וסוכנים בשירות AI עשויים לשתף כתובת חיבור. בחריגה מוחזרת שגיאת כלי עם זמן המתנה, ולא תוצאת חיפוש ריקה. הכיסוי חלקי ואינו מאשר זמינות במלאי.
מתחילים בבקשת GET אחת
הפרמטר q נדרש. אפשר לחפש שם מוצר, יצרן או ברקוד; נבדקות עד חמש מילות החיפוש הראשונות, וכולן חייבות להתאים. השתמשו ב-limit קטן: במסלול החינמי ברירת המחדל והתקרה הן 20 מוצרים. אין צורך בהרשמה או בתשלום. מגבלות שימוש הוגן: 60 בקשות בדקה ו־500 ביום לכל כתובת חיבור; חריגה מחזירה 429 עם Retry-After.
חיפוש לפי שם בעברית — curl
curl --get 'https://salsmart.com/api/product-search' \
--data-urlencode 'q=חלב תנובה' \
--data-urlencode 'limit=5'חיפוש לפי ברקוד — HTTP
GET https://salsmart.com/api/product-search?q=7290000111186&limit=1התשובה מכילה query, מספר מוצרים שהוחזרו ב-count, ומערך products. המחירים בכל מוצר מסודרים מהזול ליקר בין הסניפים שהוחזרו. אפס תוצאות מוחזר כ-HTTP 200 עם מערך ריק.
מבנה תשובה לדוגמה
{
"query": "שם מוצר",
"count": 1,
"products": [
{
"barcode": "ברקוד המוצר",
"name": "שם המוצר כפי שפורסם במקור",
"manufacturer": null,
"unit_of_measure": "100 גרם",
"image_url": null,
"offers": [
{
"price": 12.5,
"update_date": null,
"store_id": "מזהה סניף",
"chain_id": "מזהה רשת",
"store_name": "שם סניף",
"store_city": null,
"chain_name": "שם רשת",
"source_file": null,
"source_url": null,
"source_published_at": null,
"fetched_at": null,
"refresh_status": null
}
]
}
]
}בקשה ללא q מחזירה 400. תקלה בשירות החיפוש מחזירה 503; אין לפרש תקלה כהיעדר מוצר.
איך לפרש את השדות
| שדה | משמעות |
|---|---|
barcode | מזהה מוצר כמחרוזת; יש לשמור גם אפסים מובילים. |
name / manufacturer | שם ויצרן מהמקור. שם עשוי להיות מקוצר; יצרן לא ידוע יכול להיות null. |
unit_of_measure | יחידת המידה המדווחת במקור. אינה בהכרח גודל האריזה ואין לחשב ממנה מחיר ליחידה ללא אימות נוסף. |
offers[].price | מחיר בשקלים (ILS) עבור המוצר בסניף שצוין; אינו אישור למלאי זמין. |
offers[].update_date | מועד שינוי המחיר המדווח במקור, אם קיים. אינו מועד הורדת הקובץ או בדיקת האתר. null פירושו שלא ידוע. |
offers[].source_file / source_url | קובץ המחירים האחרון שיובא בהצלחה וקישור מקור ציבורי, אם תועדו. הקישור יכול להוביל לרשימת קבצים או לפתרון כתובת הורדה. |
offers[].source_published_at | מועד פרסום הקובץ לפי שמו, בפורמט ISO עם אזור זמן. נפרד מתאריך שינוי מחיר המוצר. |
offers[].fetched_at | מועד משיכה ויבוא מוצלחים של קובץ הסניף, בפורמט ISO עם אזור זמן. ערך חסר או null אינו אישור שהמחיר נבדק היום. |
offers[].refresh_status | תוצאת ניסיון הרענון האחרון. בכישלון נשמרים הנתונים מהמשיכה המוצלחת האחרונה; יש לבדוק גם את התאריכים. |
chain_id / store_id | זיהוי הסניף דורש את שני המזהים יחד. store_id אינו מזהה ארצי ייחודי. |
store_name / store_city | פרטי הסניף אם זמינים. אין להסיק עיר כאשר store_city הוא null. |
תשובה אמינה למשתמש
- יש לציין מחיר, שם הרשת והסניף ותאריך שינוי המחיר אם הוא ידוע. קישור המקור למשתמש הוא דף המוצר, אם קיים בקטלוג, או בקשת ה-API ששימשה לתשובה.
- הכיסוי חלקי: השוו רק בין ההצעות שהוחזרו ונסחו “הזול מבין הסניפים שבמאגר”. אין להסיק שזה המחיר הנמוך בישראל או בעיר מסוימת.
- יש להבחין בין שינוי מחיר המוצר, פרסום קובץ המחירים ומשיכתו המוצלחת ל-SalSmart. תאריך שינוי מחיר ישן יכול להופיע בקובץ שנמשך כעת. יש לציין fetched_at בנפרד אם הוא ידוע, ולשמור תאריך ישן או ערך חסר כמות שהם.
- המחיר אינו אישור למלאי, למשלוח או לזכאות למבצע. לפני המלצה יש לוודא את זהות המוצר, האריזה והסניף; יש לוודא את המחיר בחנות.
- שמות המוצרים ופרטי הסניפים מגיעים מקבצי המקור ועלולים להיות חסרים או מקוצרים. אין להשלים פרטים שלא התקבלו.
דפי המוצר והקטגוריות הם תמונת נתונים שנבנית מראש; ה-API מבצע שאילתה במאגר בזמן הבקשה. הדבר אינו מעיד שהקובץ של הרשת התעדכן באותו זמן. פרטי הכיסוי זמינים ברשתות וסניפים.
מקורות, בדיקות וטריות
הבקשה GET /api/data-status מחזירה סטטוס חי ללא מטמון: מספר הסניפים שנחשבים עדכניים, מספר הסניפים הכולל ופירוט קובץ המקור, פרסומו, ניסיון הבדיקה האחרון והמשיכה המוצלחת האחרונה לכל סניף. המספרים בתשובה החיה קובעים את הכיסוי בפועל; סניף שקובצו התיישן מופיע כך גם כשהרענון האוטומטי פעיל.
בדיקות המקורות מתוזמנות מדי שש שעות. תזמון אינו מבטיח הצלחה: יש לבדוק את התוצאה ואת המועדים בפועל. מקור נחשב עדכני כשנמשך בהצלחה ב־12 השעות האחרונות וקובצו פורסם ב־72 השעות האחרונות. ערך חסר או מועד עתידי אינם נחשבים עדכניים. בכישלון רענון נשמרים הנתונים מהמשיכה המוצלחת האחרונה.
checked_at הוא זמן יצירת תשובת הסטטוס, ו-updated_at הוא מועד המשיכה המוצלחת המאוחר מבין הסניפים. אין להסיק מהם שכל הסניפים נבדקו באותו מועד. בתשובת הסטטוס last_success_at הוא אותו מועד שמופיע בהצעות כ-fetched_at. תקלה בסטטוס מוחזרת כ-HTTP 503 ואינה אישור לטריות.
סטטוס מקורות — HTTP
GET https://salsmart.com/api/data-statusמסלול API בתשלום מראש
חבילת 1,000 חיפושים עולה 19 ₪ — 1.9 אגורות לחיפוש, ללא מנוי מתחדש. ניתן לקבל עד 100 מוצרים בתשובה. רכישת חבילה וקבלת מפתח זמינות בחבילות API כאשר חיבור התשלום פעיל. סוכן רשאי להתחיל רכישה רק עם הרשאה ותקציב מהמשתמש.
חיפוש עם מפתח API — curl
curl --get 'https://salsmart.com/api/v1/search' \
-H "Authorization: Bearer $SALSMART_API_KEY" \
-H 'Idempotency-Key: your-unique-request-123' \
--data-urlencode 'q=חלב תנובה' \
--data-urlencode 'limit=100'קרדיט אחד נגרע רק לאחר תשובת חיפוש מוצלחת (HTTP 200), גם כשאין תוצאות. בקשות שגויות ותקלות אינן צורכות קרדיט. יש לשלוח Idempotency-Key ייחודי לכל חיפוש חדש. חזרה עם אותו מפתח ואותם פרמטרים מחזירה את אותה תשובה עד 24 שעות ללא גריעה נוספת; מפתח שפג תוקפו מחזיר 409 ואינו מבצע חיפוש חדש. הכותרת Idempotency-Expires-At מציינת את סוף חלון החזרה. אפשר לבדוק יתרה ללא קרדיט נוסף דרך GET /api/v1/usage עם אותו מפתח API. יתרה ריקה מחזירה 402.
ניסוי x402 נפרד ברשת בדיקה
המסלול /api/paid/product-search הוא ניסוי x402 בגרסה 2, ברשת Base Sepolia (eip155:84532), עם דרישה ל-0.01 USDC של רשת הניסוי לבקשה. זהו מסלול בדיקה, ללא גבייה בכסף אמיתי. אותו מידע זמין כעת במסלול החינמי.
לקוח תואם מקבל HTTP 402 וקורא את כותרת PAYMENT-REQUIRED, שמכילה מטא-נתונים בקידוד Base64. לאחר הכנת תשלום תואם הוא שולח שוב את הבקשה עם PAYMENT-SIGNATURE. יש לפעול לפי דרישת התשלום שמתקבלת בפועל. תשלומים דורשים הרשאה ותקציב מהמשתמש.
קישורים לגילוי ולחיבור
- חיבור MCP — הכתובת הציבורית, הוראות לחיבור מותאם ומצב הפרסום בספריות.
- OpenAPI 3.1 — הגדרת הנתיבים והשדות.
- agents.md ו-llms.txt — תיעוד קצר לקריאה טקסטואלית.
- קטלוג המוצרים ו-מפת האתר — דפים עם קישורים רגילים לסריקה.
- פרטיות ו-תמיכה — מידע על עיבוד נתונים ועזרה בחיבור.
חיבור MCP ישיר ו-HTTP/JSON זמינים. מפרט OpenAPI מתאר את נתיבי REST; רשימת כלי MCP מתקבלת מהשרת באמצעות לקוח תואם.