דלג לתוכן הראשי
עיון בתיעוד

API של זמן הריצה של הרכיב

שלטו ברכיב מ-JavaScript דרך האובייקט window.syncanix.

ברגע שהרכיב נטען, הוא מתקין אובייקט window.syncanix שאפשר לקרוא לו מהקוד שלכם.

מה אפשר לעשות

  • open() / close() / toggle() — פתחו, סגרו או החליפו את פאנל הצ׳אט מהקוד שלכם.
  • isOpen — האם הפאנל פתוח כרגע, כדי שהכפתור שלכם יציג את המצב המתאים.
  • setPosition(position) — העברת המשגר לפינה אחרת.
  • enable() / disable() — הפעלה או כיבוי של הצ׳אט בזמן ריצה בלי לנתק אותו (לתקלות, לתשלום או לשעות תמיכה).
  • unmount() — הסרת הרכיב מהעמוד.
  • registerComponent() / unregisterComponent() / getComponentCatalog() — רשמו רכיבי React משלכם כדי שהעוזר יציג אותם, מאומתים בסכמה.
  • exposeShadowRoot(host, root) — מספר לווידג׳ט על חלק בעמוד שבנוי מ-web components, כדי שהעוזר יוכל לראות ולהפעיל את הפקדים שבתוכו. מחזיר פונקציה שמבטלת את זה.
  • registerDataSource() / unregisterDataSource() / getDataSourceCatalog() — תנו לעוזר דרך בשם להביא נתונים מהאפליקציה שלכם, כך שתשובה מורכבת תציג מספרים חיים במקום לתאר אותם.
  • registerAction() / unregisterAction() / getActionCatalog() — מאפשרות לעוזר לקרוא לפונקציות שלכם, אופציונלית עם אימות סכימה ושער אישור.
  • setContext() / clearContext() — הזינו את המצב החי של האפליקציה (משתמש, עמוד, עגלה) לתור הבא. JSON תחום בלבד — לעולם לא סודות.
  • setTokenProvider(fn) — ספקו את האסימון של משתמש הקצה לכל תור (גובר על מאפיין ה-data).
  • setStepUpProvider(fn) — ספקו את זרימת האימות-מחדש המוגבר.
  • setHeadersProvider(fn) — מוסיף כותרות בקשה (כמו Authorization או אסימון CSRF) לכל קריאת כלי; גובר על תכונת ה-data.
  • setTheme(key) — מחליף את ערכת הנושא החיה לפי שם בלי לטעון מחדש את הצ׳אט (למתג בהיר/כהה באתר המארח).
  • setConsent(signal) — אמרו לווידג׳ט למה המבקר הסכים, כדי שיכבד את הבחירה שבאנר ההסכמה שלכם כבר אסף.
  • mapSite() / stopSiteWalk() ו-teach() / stopTeach() — התחילו ועצרו מהעמוד שלכם את שני סשני המיפוי שהמפעיל מריץ. כל אחד דורש אסימון חד-פעמי שנוצר בלוח הבקרה, ואף אחד לא יכול להתחיל בלעדיו.

דוגמה

// Open the chat programmatically
window.syncanix.open();

// Feed live host-app context into the next turn (bounded JSON, no secrets)
window.syncanix.setContext({ page: 'checkout', cartItems: 3 });

// Provide the signed-in user's token per turn (recommended for SSR apps)
window.syncanix.setTokenProvider(async () => await getAccessToken());

מה העוזר יכול להציג — ומה הוא לא יכול לראות

משטח התצוגה מפורש בתכנון: הפרימיטיבים המובנים, הרכיבים שאתם רושמים באמצעות registerComponent, והטמעות ממקורות שהמנהל שלכם אישר ברשימת ההיתרים. העוזר יכול להפעיל רק את מה שמסרתם לו במכוון.

מה שהווידג׳ט קורא מהעמוד שלכם היא שאלה נפרדת. הגילוי מופעל כברירת מחדל והוא קורא את המבנה של העמודים שלכם — אילו טפסים קיימים, איך נקראים השדות שלהם, לאן הקישורים מובילים — ומציע כל אחד כיכולת שתבדקו. הוא לעולם לא קורא מה שמישהו הקליד, וכל מה שהוא מוצא מגיע כבוי.

נטען פעם אחת

התקנת האובייקט הגלובלי היא אידמפוטנטית — אם הסקריפט נכלל פעמיים, הכפיל מתעלם עם אזהרה, כך שלעולם לא תקבלו שני רכיבים.

השלבים הבאים