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

ייבוא מרוכז (CSV / JSON)

ייבוא מרוכז מאפשר לטעון אל Joryio נתונים מקובץ: פרופילי משתמשים, אירועים היסטוריים או רשומות של הישויות המותאמות שלכם. פתחו את Data → Bulk Import ‏(/users/import) בלוח הבקרה, גררו קובץ CSV או JSON ומפו את העמודות. Joryio תעבד את הקובץ ברקע בזמן שתעקבו אחר ההתקדמות.

לא אותו דבר כמו Data Import

דף זה עוסק בהעלאת קבצים. מחבר Data Import הנפרד תחת Data → Data Import מושך נתוני משתמשים ממחסני נתונים (Snowflake, BigQuery) דרך חיבור שמגדירים פעם אחת. השתמשו ב-Bulk Import לקבצים חד-פעמיים - ייצוא CRM, רשימה ישנה או השלמת אירועי עבר; השתמשו ב-Data Import כשמקור האמת נמצא במחסן נתונים.

דרישות קובץ

פורמטים.csv (השורה הראשונה = כותרות עמודות) או .json (מערך של אובייקטים - כל מבנה אחר נדחה).
גודל העלאהעד 100 MB לקובץ דרך לוח הבקרה.
שורותעד 1,000,000 שורות לייבוא (בצד השרת; שורות מעבר לתקרה לא מעובדות).
מקביליותייבוא אחד בכל רגע לכל סביבת עבודה - התחלת ייבוא שני בזמן שאחד מעובד נדחית.

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

סוגי ייבוא

בחרו את הסוג לפני ההעלאה - הבחירה קובעת אילו יעדי מיפוי יהיו זמינים:

  • Users - יצירה או עדכון של פרופילי אנשי קשר.
  • Events - טעינת אירועים היסטוריים למאגר האנליטיקה.
  • Entities - טעינת רשומות לאחת מהישויות המותאמות שלכם (בחרו את הישות הרצויה).

מיפוי עמודות

לאחר בחירת קובץ אפשר להוסיף מיפויי שדות: כל שורה ממפה עמודת מקור (מוקלדת בדיוק כפי שהיא בקובץ) אל שדה יעד (נבחר מרשימה).

בלי מיפויים, ייבוא המשתמשים מזהה שדות אוטומטית: ‏externalId / external_id / userId / user_id הופכים למזהה החיצוני, ‏email ו־phone ממופים לעצמם, עמודות שנראות כמו עמודות של סטטוס הרשמה (קידומת ערוץ וסיומת שמציינת סטטוס, למשל email_subscription_status או sms_opt_in) קובעות את ההסכמה לערוץ, וכל עמודה אחרת הופכת למאפיין מותאם בשם המקורי שלה.

עם מיפויים מפורשים, רק עמודות ממופות מיובאות. שדות היעד בייבוא משתמשים:

יעדמשמעות
externalIdמזהה המשתמש היציב שלכם - המזהה המועדף.
email / phoneמזהי קשר. אימייל עובר לאותיות קטנות וניקוי רווחים; טלפון מנורמל ל-E.164.
attributes.firstName, ‏attributes.lastName, ‏attributes.<anything>מאפייני פרופיל (בחרו Custom Attribute... והקלידו את המפתח).
subscriptions.email / sms / whatsapp / pushסטטוס הסכמה ברמת הערוץ.
Group: <name> (<channel>)הסכמה לפי קבוצה - קובעת את הסטטוס של איש הקשר בקבוצת הרשמה או בקטגוריית הסכמה מסוימת (נשמר כ־subscriptions.list.<listId>.<channel>). ראו ניהול הרשמות.

כיצד מותאמות רשומות משתמשים (מניעת כפילויות / זיהוי)

כל שורת משתמש חייבת לשאת externalId או email - שורות בלי אף אחד מהם מדולגות ומופיעות בדוח השגיאות.

  • אם לשורה יש externalId, ‏Joryio מתאימה לפיו (בתוך סביבת העבודה).
  • אחרת ההתאמה היא לפי ה-email המנורמל.
  • התאמה מעדכנת את הפרופיל הקיים (נכתבים רק השדות שקיימים בשורה - מאפיינים שאינם בקובץ נשארים כפי שהם); ללא התאמה - נוצר איש קשר חדש.

סיכום הייבוא מדווח על שתי התוצאות בנפרד: Created ו־Updated. אפשר לייבא שוב את אותו קובץ בבטחה: הרשומות הקיימות פשוט מתעדכנות.

סטטוסי הרשמה והגנה על הסכמה

תאי הסטטוס מקבלים כמה צורות כתיבה: ‏subscribed / true / yes / 1 פירושם רשום; ‏unsubscribed / false / no / 0 / opt_out פירושם ביטול הרשמה; ‏opted_in / double_opt_in / confirmed פירושם הצטרפות מאושרת. ערכים ריקים או לא מזוהים אינם משנים את הערוץ.

כברירת מחדל (תיבת הסימון כבויה) חלים כללי הגנה על הסכמה, פר ערוץ ופר קבוצה:

  • ביטולי הרשמה בקובץ תמיד חלים.
  • מי שביטל הרשמה בעבר לעולם לא נרשם מחדש באמצעות ייבוא ללא פעולה מפורשת.
  • הצטרפות מאושרת (opt-in) לעולם אינה מוחלשת להרשמה רגילה.

סימון "Apply subscription status to all rows..." מגדיר את הקובץ כמקור האמת - הוא יכול לרשום מחדש מי שביטלו בעבר ולהחליש הצטרפות מאושרת להרשמה רגילה. בכך אתם מאשרים שקיבלתם הסכמה לפנות לאותם משתמשים. בכל מצב, כל שינוי שמבצע הייבוא נרשם בהיסטוריית ההרשמות של איש הקשר עם המקור import.

ייבוא אירועים

שדות היעד הם ‏userId (מותאם מול externalId), ‏email, ‏eventName, ‏timestamp ו־properties.<key> למאפייני האירוע. תהליך הרקע אוכף את הכללים הבאים:

  • כל שורה צריכה eventName וגם userId או email - והמשתמש חייב להתקיים כבר בסביבת העבודה, אחרת השורה מדולגת (ייבאו משתמשים קודם).
  • timestamp הוא אופציונלי; ערך שאי אפשר לפענח מכשיל את השורה, וערכים לא סבירים (לפני יותר משנתיים בקירוב או יותר משעה בעתיד) מוחלפים בזמן הנוכחי - כמו במעקב אחר אירועים בזמן אמת.
  • על המאפיינים חלות אותן מגבלות הגנה של נתיב ה־/track הפעיל: מגבלות על גודל, מספר מפתחות ועומק, וכן הסתרת PII.
  • אפשר להריץ את הייבוא שוב בבטחה: הרצה חוזרת של אותה משימה אינה יכולה להוסיף את אותם אירועים פעמיים.

אירועים מיובאים נכנסים לאותו זרם אירועים כמו אירועים בזמן אמת, ולכן זמינים לסגמנטים ולאנליטיקה.

ייבוא ישויות

בחרו תחילה את ישות היעד; השדות שלה יהפכו ליעדי המיפוי. בלי מיפויים, העמודות מותאמות ישירות לשמות השדות של הישות. המערכת מדלגת עם שגיאה על שורות שחסר בהן שדה חובה. שורה שכוללת עמודת _id או id מבצעת upsert (מעדכנת רשומה קיימת או יוצרת אותה); אחרת נוספת רשומה חדשה. ניהול הגרסאות והמחיקה הרכה פועלים לפי הגדרות הישות.

מעקב אחר ייבוא

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

סטטוסמשמעות
Pending / Processingהמשימה נכנסת לתור ולאחר מכן מעבדת את הקובץ באצוות.
Completedהסתיים - בדקו את המונים פר-שורה.
Failedהמשימה עצמה נכשלה (למשל הקובץ שהועלה לא נמצא); הודעת השגיאה מוצגת. המערכת מנסה משימות שנכשלו פעם נוספת באופן אוטומטי לפני שהן מגיעות לכאן.
Expiredמשימה ישנה שהושלמה ושהקובץ ודוח השגיאות שלה נוקו (24 שעות).

לחצו View על משימה לחלון הפרטים: סך השורות, המונים Created / Updated / Skipped / Failed, וכשהיו שורות בעייתיות - קישור Download errors עם מספר כל שורה כושלת והסיבה (ערכי מזהים מוסתרים). קישור דוח השגיאות זמין 24 שעות מההשלמה.

שורה נחשבת Skipped כשהיא נכשלת באימות (מזהה חסר, משתמש לא מוכר בייבוא אירועים או שדה חובה חסר בישות); ‏Failed מציין שגיאות כתיבה בפועל.

דפים קשורים