MishkanMishkan

API

לפרסם במשכן מחוץ לאפליקציה.

עודכן ב-2026-08-19

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

כל מה שלהלן מוגש מ-https://api.mishkan.tech. התשובות ב-JSON; שגיאה נושאת סטטוס HTTP ומחרוזת "error" אחת.

יצירת מפתח

מפתחות נוצרים באפליקציה: פרופיל ← מפתחות API ← +. יצירת מפתח דורשת רמה 4 (אימות פורמלי), אותו רף כמו חשבונות עסקיים — מפתח פועל בשמכם מחוץ לאפליקציה, ולכן הוא ניתן רק לחשבון שאדמין זיהה. צפייה וביטול אפשריים בכל רמה.

  • שם — לצורך הסדר שלכם («Studio Midbar»).
  • לפרסם בתור — החשבון האישי שלכם או אחד מחשבונות המשנה העסקיים. מפתח שמוצמד לעסק יכול לפרסם רק תחת אותה זהות; ציון זהות אחרת בבקשה נדחה.
  • לאפשר פרסום — כבוי, המפתח יכול רק לקרוא.

הסוד (msk_live_…) מוצג פעם אחת בלבד. השרת שומר רק את ה-SHA-256 שלו, ולכן אי אפשר לשחזר אותו — מפתח שאבד מבטלים ומחליפים. אפשר להחזיק עד 20 מפתחות פעילים, לכל אחד תפוגה אופציונלית של עד עשר שנים.

אימות

שלחו את המפתח כ-bearer token. גם הכותרת X-API-Key מתקבלת, עבור לקוחות ששומרים את Authorization לעצמם.

curl https://api.mishkan.tech/api/users/me \
  -H "Authorization: Bearer $MISHKAN_KEY"

מפתח לא מוכר, מבוטל או שפג — כולם מקבלים אותו 401, במכוון: בדיקה לא מלמדת תוקף דבר.

הרשאות

מפתח נושא posts:read, posts:write, או את שניהם. כל השאר — הודעות, מ, אימות, ניהול, וניהול המפתחות עצמו — שמור לחיבור מתוך האפליקציה. מפתח שדלף אינו יכול ליצור מפתח נוסף, לקרוא את השיחות שלכם או לרוקן את היתרה.

נקודות קצה

נתיבהרשאהרמה נדרשת
GET /api/users/meposts:read
GET /api/businessesposts:read
GET /api/citiesposts:read
GET /api/posts/mineposts:read
GET /api/feed?kind=visual|textposts:read1 (דוא״ל מאומת)
GET /api/posts/{id}posts:read1 (דוא״ל מאומת)
POST /api/postsposts:write3 לפרסום בפיד הציבורי
POST /api/posts/visualposts:write3 לפרסום בפיד הציבורי
POST /api/posts/youtubeposts:write3 לפרסום בפיד הציבורי
DELETE /api/posts/{id}posts:writeהמחבר או אדמין

פרסום בפיד של קבוצה (conversation_id) מחליף את דרישת הרמה בחברות בקבוצה ובמדיניות הפרסום שלה, ומשלם את המחיר של הקבוצה לבעליה.

curl "https://api.mishkan.tech/api/feed?kind=text&limit=20" \
  -H "Authorization: Bearer $MISHKAN_KEY"

פרסום

פרסום בפיד הציבורי עולה 2 מ ודורש אימות מזוזה (רמה 3). החיוב מוחזר אם השמירה נכשלת.

‏POST /api/posts מפרסם טקסט וקישורים, ב-JSON:

שדהמשמעות
contentעד 4000 תווים
link_urlכתובת http(s) מלאה, אופציונלית, נפתחת ומוצגת ככרטיס
languagefr | en | he — מסנן השפה של הפיד
cityמזהה עיר — מסנן העיר של הפיד
business_idאופציונלי; חייב להתאים לזהות המפתח אם הוא מוצמד
conversation_idאופציונלי; מפרסם בפיד של אותה קבוצה במקום בפיד הציבורי
curl -X POST https://api.mishkan.tech/api/posts \
  -H "Authorization: Bearer $MISHKAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"Chag sameach","language":"en"}'

‏POST /api/posts/visual מפרסם ריל או קרוסלה כ-multipart/form-data: בין קובץ אחד לעשרה, לפי סדר הטופס, עד 30MB לכל הבקשה. הכיתוב נכנס ל-content (1000 תווים), ואותם שדות אופציונליים חלים.

curl -X POST https://api.mishkan.tech/api/posts/visual \
  -H "Authorization: Bearer $MISHKAN_KEY" \
  -F "content=Kabbalat Shabbat, 18:30" \
  -F "media=@reel.mp4;type=video/mp4"

‏POST /api/posts/youtube מפרסם ריל שמבוסס על סרטון יוטיוב. ‏url הוא הסרטון; ‏link_url הוא כפתור «למידע נוסף» נפרד — מלאו את שניהם אם אתם רוצים את שניהם.

curl -X POST https://api.mishkan.tech/api/posts/youtube \
  -H "Authorization: Bearer $MISHKAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://youtu.be/abc123","link_url":"https://example.org"}'

מגבלות

מגבלהערך
קריאותכ-60 לדקה, פרץ של 30
כתיבותכ-20 לדקה, פרץ של 5
לפי כתובת IPכ-300 לדקה, פרץ של 60
גודל בקשה30MB (App Engine מגביל ל-32MB)
מדיה לפרסום10
מפתחות פעילים לחשבון20

שגיאות

{ "error": "missing the posts:write scope" }
סטטוסהמשמעות
401 invalid API keyלא מוכר, מבוטל או שפג — שלושתם נענים אותו הדבר
403 missing the posts:write scopeהמפתח לקריאה בלבד
403 verification level 3 requiredהחשבון אינו מאומת מזוזה, מה שהפיד הציבורי דורש
403 can only publish as the business account it is bound toהבקשה ציינה זהות אחרת מזו של המפתח
402אין מספיק מ לתשלום על הפרסום
429חריגה מהמכסה — המתינו ונסו שוב

ביטול מפתח

החליקו על המפתח (iOS) או הקישו על הפח (Android), או קראו ל-DELETE /api/api-keys/{id} עם אסימון התחברות. ההשפעה מיידית. פרסומים שכבר נעשו נשארים באוויר: ביטול אישור גישה אינו הסרה של מה שפורסם באמצעותו.