מסמך מקור מתקדם. דפי ההתקנה, פרוטוקול ההפעלה וששת הסקילים זמינים לקריאה בעברית; קובץ המקור נשמר כפי שהוא.
מתאם Meta Graph המקומי — מצב מוכח, 24.10.2026
המסלול הישיר דרך Marketing API נקבע כבר באפיון Astra. כאן מומש קוד מבודד שמקבל credential ו־dispatcher ממארח מוגן בעת הפעלה. אין בחבילה token, טעינת קובץ סודות פרטי או שירות מתמשך מותקן.
yskit/meta_graph_http_v1.py מגביל בקשות אל https://graph.facebook.com/<version> ולחשבון מספרי מדויק. POST קיים רק לארבעת נתיבי יצירה: campaign, adset, adcreative, ad. כל ישות עם מצב נשלחת עם PAUSED; אין PATCH, DELETE או פעולת הפעלה. קריאה חוזרת מוגבלת ל־ID מספרי ושדות מסוימים. אין הפניה אוטומטית או ניסיון חוזר אחרי POST שתוצאתו עמומה. חריגות אינן כוללות גוף תשובת Meta או ערך token.
yskit/meta_graph_port_v1.py מחייב תוכנית ארבעת השלבים להיות קשורה ב־SHA-256 למפרט שמוצג לאישור. לכל ישות נדרש שם שמזהה את הריצה, זהות החשבון, דף הקריאייטיב, יעד האתר או טופס הליד, תקציב ומזהי הורים מהיומן. קריאת Meta בודקת ID, חשבון, שם, מצב, הורה ודף/יעד קריאייטיב במקום שבו השדות קיימים. בשאר השלבים שיוך הדף נובע ממפרט מאושר ובדיקת מוכנות נפרדת; הוא אינו שדה Meta שנקרא מכל ישות. reconcile_stage אינו מנחש ID לאחר timeout: יומן עם ID שנצפה יכול להיבדק מחדש; בלעדיו נדרשת בדיקה ידנית ואין POST חוזר.
yskit/meta_local_runner_v1.py מחבר את המתאם ליומן SQLite ול־PausedRouteRunner להדמיה בלבד. הוא דורש מאמת בדיקה ומסרב להציג את עצמו כהרצת פיילוט חי. הבדיקות מפעילות ארבעה שלבים לשני מסלולים, וגם נתיב מקומי הכולל HTTP מדומה ויומן SQLite, ללא רשת.
לפני חיבור חי חסרים רכיבים מהותיים: מאמת אישור ומקום credential מוגנים מחוץ לכתיבת הסוכן, קורא מוכנות אמיתי לחשבון/דף/טופס/אירוע ודרישות API עדכניות, בדיקת תופעות לוואי של הקריאייטיב, תוכנית שדות ומדיה אמיתית לכל מסלול שהוצגה לבעלים, בדיקת Graph על חשבון הלקוח ופיוס ידני בטוח לאירוע עמום. לא נבדק ש־object_story_spec של הטופס/אתר המסוימים מתקבל בחשבון; בדיקות fixture אינן מוכיחות זאת. שירות רציף, OAuth וקריאת סודות אינם מותקנים או מופעלים בחבילה. תקציב, גישה ותנאי Lead Ads נבדקים בנפרד עבור כל לקוח ומסלול.
לבדיקה: python3 tools/run_tests.py משורש החבילה. ההרצה נמדדת ב־docs/test-results.md לאחר אריזה. המקור הרשמי לבקשת status=PAUSED: Meta Python SDK, AdAccount.