تخطّ إلى المحتوى الرئيسي

الاستيراد المجمع (CSV / JSON)

يتيح لك الاستيراد المجمع تحميل البيانات إلى Joryio من ملف: ملفات المستخدمين الشخصية أو الأحداث التاريخية أو صفوف الكيانات المخصصة. افتح البيانات → الاستيراد المجمع (/users/import) في لوحة التحكم، وأسقط ملف CSV أو JSON، واربط أعمدته، وتعالجه Joryio في الخلفية بينما تتابع التقدم.

ليس هو نفسه استيراد البيانات

تغطي هذه الصفحة رفع الملفات. يسحب موصل استيراد البيانات المنفصل ضمن البيانات → استيراد البيانات بيانات المستخدمين من مستودعات البيانات (Snowflake وBigQuery) عبر اتصال تضبطه مرة واحدة. استخدم الاستيراد المجمع للملفات لمرة واحدة، مثل تصدير CRM أو قائمة قديمة أو إعادة ملء الأحداث؛ واستخدم استيراد البيانات عندما يكون مصدر الحقيقة في مستودع بيانات.

متطلبات الملف

التنسيقات.csv (الصف الأول = رؤوس الأعمدة) أو .json (مصفوفة من الكائنات؛ يُرفض أي تنسيق آخر).
حجم الرفعحتى 100 MB لكل ملف من لوحة التحكم.
الصفوفحتى 1,000,000 صف لكل عملية استيراد (على الخادم؛ ولا تُعالج الصفوف بعد الحد).
التزامنعملية استيراد واحدة في كل مرة لكل مساحة عمل؛ يُرفض بدء أخرى أثناء معالجة واحدة.

تُرفع الملفات مباشرة إلى التخزين عبر URL موقع مسبقًا، ثم يعالج عامل في الخلفية المهمة. تُحذف الملفات المرفوعة بعد المعالجة وتنتهي بعد 24 ساعة في جميع الحالات.

أنواع الاستيراد

اختر النوع قبل الرفع؛ إذ يغير أهداف الربط المتاحة:

  • المستخدمون - أنشئ ملفات جهات الاتصال أو حدّثها.
  • الأحداث - أعد ملء أحداث تاريخية في مخزن التحليلات.
  • الكيانات - حمّل صفوفًا إلى أحد كياناتك المخصصة (تختار أيها).

ربط الأعمدة

بعد اختيار ملف، يمكنك إضافة ربط حقول: يربط كل صف عمود مصدر (مكتوبًا كما يظهر في ملفك تمامًا) بـ حقل مستهدف (تختاره من قائمة منسدلة).

إذا لم تضف أي ربط، تكتشف عمليات استيراد المستخدمين تلقائيًا: تصبح externalId / external_id / userId / user_id المعرّف الخارجي، ويُربط email وphone بنفسيهما، وتضبط الأعمدة التي تبدو كأعمدة لحالة الاشتراك (بادئة قناة مع لاحقة حالة، مثل email_subscription_status أو sms_opt_in) موافقة القناة، ويصبح كل عمود آخر سمة مخصصة باسمه.

مع الربط الصريح، لا تُستورد إلا الأعمدة المربوطة. حقول الهدف لاستيراد المستخدمين:

الهدفالمعنى
externalIdمعرّف المستخدم الثابت لديك؛ وهو المعرّف المفضل.
email / phoneمعرّفات جهة الاتصال. يتحول Email إلى أحرف صغيرة وتزال مسافاته؛ ويطبع الهاتف بتنسيق E.164.
attributes.firstName, attributes.lastName, attributes.<anything>سمات الملف الشخصي (اختر سمة مخصصة... واكتب المفتاح).
subscriptions.email / sms / whatsapp / pushحالة الموافقة على مستوى القناة.
Group: <name> (<channel>)موافقة لكل مجموعة: يضبط حالة جهة الاتصال في مجموعة اشتراك/فئة موافقة محددة (تخزن كـ subscriptions.list.<listId>.<channel>). راجع إدارة الاشتراكات.

كيفية مطابقة المستخدمين (إزالة التكرار / التعريف)

يجب أن يحمل كل صف مستخدم externalId أو email؛ تُتخطى الصفوف التي لا تحمل أيًا منهما وتُدرج في تقرير الأخطاء.

  • إذا كان للصف externalId، تطابق Joryio عليه (ضمن مساحة العمل).
  • وإلا تطابق على email المطبع.
  • يؤدي التطابق إلى تحديث الملف الحالي (تُكتب الحقول الموجودة في الصف فقط؛ وتبقى السمات غير الموجودة في الملف دون تغيير)؛ ويؤدي عدم التطابق إلى إنشاء جهة اتصال جديدة.

يعرض ملخص المهمة النتيجتين منفصلتين بوصفهما أُنشئت وحُدثت. إعادة استيراد الملف نفسه آمنة: تتحول الصفوف ببساطة إلى تحديثات.

حالات الاشتراك وسلامة الموافقة

تُحلل خلايا الحالة بمرونة: تعني subscribed / true / yes / 1 مشترك؛ وتعني unsubscribed / false / no / 0 / opt_out غير مشترك؛ وتعني opted_in / double_opt_in / confirmed اشتراكًا مؤكدًا. القيم الفارغة أو غير المعروفة تترك القناة دون تغيير.

افتراضيًا (مربع الاختيار غير محدد)، تنطبق قواعد حماية الموافقة على كل قناة ومجموعة:

  • تُطبق حالات إلغاء الاشتراك في الملف دائمًا.
  • لا يعيد الاستيراد اشتراك مستخدم ألغى الاشتراك سابقًا بصمت أبدًا.
  • لا يخفض اشتراك مؤكد إلى اشتراك عادي أبدًا.

تحديد «تطبيق حالة الاشتراك على جميع الصفوف...» يعامل الملف بوصفه مصدر الحقيقة؛ فيمكنه إعادة اشتراك من ألغوا سابقًا وخفض الاشتراكات المؤكدة. أنت تؤكد امتلاكك موافقة للتواصل مع هؤلاء المستخدمين. في كلتا الحالتين، يُكتب كل تغيير يجريه الاستيراد في سجل اشتراكات جهة الاتصال بالمصدر import.

استيراد الأحداث

الحقول المستهدفة: userId (يطابق externalId) وemail وeventName وtimestamp وproperties.<key> لخصائص الحدث. القواعد التي يطبقها العامل:

  • يحتاج كل صف إلى eventName و**userId أو email**؛ ويجب أن يكون المستخدم موجودًا بالفعل في مساحة العمل، وإلا يُتخطى الصف (استورد المستخدمين أولًا).
  • timestamp اختياري؛ تفشل قيمة لا يمكن تحليلها الصف، وتُثبت القيم غير المعقولة (أكثر من نحو سنتين ماضيتين أو ساعة مستقبلية) إلى الآن؛ وهي القاعدة نفسها لتتبع الأحداث الحية.
  • تحصل الخصائص على حدود الحماية نفسها لمسار /track الحي: حدود الحجم وعدد المفاتيح والعمق وإخفاء معلومات التعريف الشخصية.
  • عمليات الاستيراد آمنة لإعادة المحاولة؛ لا يمكن لإعادة تشغيل المهمة نفسها أن تدرج الأحداث مرتين.

تصل الأحداث المستوردة إلى تدفق الأحداث نفسه للأحداث الحية، ولذلك تكون مرئية للشرائح والتحليلات.

استيراد الكيانات

اختر الكيان المستهدف أولًا؛ تصبح حقوله أهداف الربط. من دون ربط، تطابق الأعمدة أسماء حقول الكيان مباشرة. تُتخطى الصفوف التي تفتقد حقل كيان مطلوبًا مع خطأ. إذا حمل الصف عمود _id / id فإنه يحدّث أو ينشئ (يحدّث السجل الحالي أو ينشئه)؛ وإلا فيدرج سجلًا جديدًا. يتبع التحكم بالإصدارات والحذف الناعم إعدادات الكيان نفسه.

مراقبة عملية استيراد

يعرض جدول عمليات الاستيراد الأخيرة كل مهمة مع نوعها وتنسيقها وشريط التقدم والحالة ومن بدأها، ويتحدث تلقائيًا أثناء تشغيل أي مهمة. الحالات:

الحالةالمعنى
معلق / قيد المعالجةفي الطابور، ثم يعالج الملف على دفعات.
مكتملانتهى؛ راجع عدادات كل صف.
فشلفشلت المهمة ذاتها (مثل عدم العثور على الملف المرفوع)؛ وتظهر رسالة الخطأ. تُعاد محاولة المهام الفاشلة مرة تلقائيًا قبل أن تصل إلى هنا.
منتهية الصلاحيةمهمة مكتملة قديمة نُظف ملفها وتقرير أخطائها (24 ساعة).

انقر عرض في مهمة لفتح نافذة التفاصيل: إجمالي الصفوف وعدادات أُنشئت / حُدثت / متخطاة / فاشلة، وعند وجود صفوف فيها مشكلات يظهر رابط تنزيل الأخطاء مع رقم كل صف فاشل وسببه (تُحجب قيم المعرّفات). يبقى رابط تقرير الأخطاء متاحًا 24 ساعة بعد الاكتمال.

يكون الصف متخطى عند فشل التحقق (معرّف مفقود أو مستخدم غير معروف في استيراد حدث أو حقل كيان مطلوب مفقود)؛ بينما يحسب فاشل أخطاء الكتابة الفعلية.

صفحات ذات صلة