المقدمة

في البلدان التي تفرض لوائح على الإعلان عن الخدمات المالية، قد تطالب Meta المعلنين بالتحقق من هويتهم وترخيصهم المالي. ستزود الجهات التنظيمية Meta بمجموعة من البيانات من التراخيص المالية، والتي تستخدمها Meta للتحقق من التراخيص التي يقدمها المعلنون. يتناول هذا المستند كيفية مشاركة الجهات التنظيمية لبيانات الترخيص بشكل آمن مع Meta والمواصفات الفنية للدمج.

نظرة عامة

تعمل عملية الدمج على النحو التالي:

  1. توفِّر Meta بيانات اعتماد SFTP - ترسل Meta تفاصيل تسجيل الدخول إلى عنوان البريد الإلكتروني المؤكد للجهة التنظيمية.
  2. تقوم الجهة التنظيمية بتحميل ملفين - يتم تحميل config.json (بيانات التعريف) وملف CSV (بيانات الترخيص) إلى خادم SFTP الآمن من Meta. إرشادات تحميل الملفات.
  3. تستوعب Meta البيانات - تتم معالجة الملفات بشكل دوري.
  4. تقوم الجهة التنظيمية بتحميل - الجهات التنظيمية مسؤولة عن تحميل الملفات المحدثة بشكل روتيني أسبوعيًا.

ما هو config.json؟

الملف config.json هو ملف بياني يحتوي على بيانات التعريف المطلوبة للمعالجة. يجب تضمينه في كل عملية تحميل.

الحقول

الحقلالنوعمطلوبالوصفالقيم المسموح بها

version

سلسلة

نعم

إصدار المخطط المستخدم لملف CSV للترخيص.

"v1"

load_type

سلسلة

نعم

سواء أكانت هذه مجموعة بيانات كاملة أو تحديثًا تزايديًا (فقط البيانات التفاضلية).

"full", "incremental"

mode

سلسلة

نعم

  • التحقق: يتم التحقق من صحة ملف CSV وتكامله، ولكن لا يتم استيعابه.
  • الاستيعاب: يتم التحقق من صحة ملف CSV (باستخدام عمليات التحقق نفسها المستخدمة في وضع التحقق)، ثم يتم استيعابه في التدفق

"validation", "ingestion"

support_email_addresses

مصفوفة من السلاسل

نعم

عناوين البريد الإلكتروني التي يتم التحقق منها والتي يمكن أن تستخدمها Meta للتواصل بشأن استيعاب البيانات.

مثال

{
  "version": "v1",
  "load_type": "full",
  "mode": "ingestion",
  "support_email_addresses": [
    "support@domain.com",
    "support2@domain.com"
  ]
}

بيانات الترخيص (CSV)

يتم تقديم بيانات الترخيص كملف بتنسيق CSV. يمكن تسمية الملف بأي اسم. يوجد نوعان من التحميل:

  • تحميل كامل - يحتوي على المجموعة الكاملة لجميع بيانات الترخيص.
  • تحميل تزايدي - يتضمن فقط التغييرات (الفرق) منذ آخر عملية تحميل.

قواعد عامة

  • يجب أن تكون عناوين الأعمدة في الصف الأول.
  • يجب أن تكون كل عناوين الأعمدة فريدة.
  • يجب أن تكون جميع الأعمدة المطلوبة موجودة.
  • يجب أن يحتوي كل صف على Credential_Id فريد.
  • لا تحظر الأخطاء على مستوى الصف الملف بأكمله. لا يزال يتم استيعاب الصفوف الصالحة. على سبيل المثال، إذا كان 50 صفًا من 100000 صف يحتوي على أخطاء، فإن باقي الصفوف التي يبلغ عددها 99950 صفًا ستتم معالجتها بشكل طبيعي.

مخطط التحميل الكامل (الإصدار 1)

العمودمطلوبالنوعالوصفالتنسيق / القيم المسموح بهامثال

Credential_Id

نعم

سلسلة

المعرِّف الفريد للترخيص. يتم عرضه على إعلانات الخدمات المالية المنشورة.

200 حرف بحد أقصى

123456789

License_Status

نعم

سلسلة

حالة الترخيص.

ACTIVE‏، INACTIVE‏، LEGALLY_EXEMPT

نشط

Licensee_Name

نعم

سلسلة

الاسم المُسجَّل به الترخيص.

200 حرف بحد أقصى

Jane Doe

Licensee_Type

نعم

سلسلة

نوع الكيان الذي يحمل الترخيص.

فرد، شركة، غير معروف*

فرد

License_Expiration_Date

لا

number

تاريخ انتهاء صلاحية الترخيص.

طابع Unix الزمني

946684800

Address_Line_1

لا

سلسلة

عنوان الشارع الرئيسي.

200 حرف بحد أقصى

‎123 Main St

Address_Line_2

لا

سلسلة

عنوان الشارع الثانوي.

200 حرف بحد أقصى

Suite 100

المدينة

لا

سلسلة

المدينة أو المنطقة أو البلدة أو البلدية.

200 حرف بحد أقصى

سان فرانسيسكو

الولاية

لا

سلسلة

الولاية أو المقاطعة أو المحافظة أو المقاطعة أو المنطقة.

200 حرف بحد أقصى

كندا

Country_Code

لا

سلسلة

بلد صاحب الترخيص.

ISO 3166-1 alpha-2 (حرفان بحد أقصى)

الولايات المتحدة

Postal_Code

لا

سلسلة

الرمز البريدي.

بحد أقصى 12 حرفًا

94016

Phone_Numbers

يجب توفير قيمة واحدة على الأقل: Phone_NUMBERS أو Email_Addresses أو Website_URLs.

سلسلة

أرقام الهواتف المسجلة في الترخيص.

مفصول بفاصلة منقوطة؛ تنسيق E.164؛ 16 حرفًا بحد أقصى لكل رقم (بما في ذلك البادئة +)

+15551234567؛+15559876543

Email_Addresses

يجب توفير قيمة واحدة على الأقل: Phone_NUMBERS أو Email_Addresses أو Website_URLs.

سلسلة

عناوين البريد الإلكتروني المسجلة في الترخيص.

مفصول بفاصلة منقوطة؛ الحد الأقصى 254 حرفًا لكل منها

jane.doe@gmail.com؛info@firm.com

Website_URLs

يجب توفير قيمة واحدة على الأقل: Phone_NUMBERS أو Email_Addresses أو Website_URLs.

سلسلة

مواقع الويب المسجلة في الترخيص. يجب أن يكون مسبوقًا بـ "http://" أو "https://".

مفصول بفاصلة منقوطة؛ الحد الأقصى 2000 حرف لكل منها

https://www.example.com؛https://www.example2.com

يُعَد التحقق من الاتصال إجراءً ضروريًا لمنع انتحال الشخصية والاحتيال وسوء الاستخدام على منصات Meta الإعلانية. يجب أن توفر بيانات الترخيص المالي التي تم تحميلها ما لا يقل عن أحد العناصر التالية لكل ترخيص: أرقام الهواتف أو عناوين البريد الإلكتروني أو عناوين URL لمواقع الويب لإجراء هذا التحقق. يضمن ذلك أن المعلن الذي يحاول الإعلان يستخدم ترخيصًا مرتبطًا بالكيان الموجود في التحقق.

المخطط التزايدي (الإصدار 1)

يستخدم المخطط التزايدي نفس الأعمدة كمخطط التحميل الكامل، بالإضافة إلى عمود إضافي مطلوب واحد:

العمودمطلوبالنوعالوصفالقيم المسموح بها

العملية

نعم

سلسلة

العملية المطلوب إجراؤها على هذا الصف.

UPSERT‏، DELETE

قواعد التشغيل

  • UPSERT - تُضيف ترخيصًا جديدًا أو تُحدِّث ترخيصًا موجودًا. تتَّبِع نفس قواعد الحقول المطلوبة/الاختيارية الخاصة بمخطط التحميل الكامل.
  • DELETE - يزيل الترخيص. مطلوب Credential_Id فقط؛ جميع الحقول الأخرى اختيارية.

مثال على سيناريو التحميل التزايدي

تحتوي مجموعة البيانات الأولية على ثلاثة تراخيص: أ، ب، ج.

تحدث التغييرات التالية بعد ذلك:

  • تم تحديث الترخيص "ب".
  • تم حذف الترخيص "ج".
  • تمت إضافة الترخيص "د".

سيتضمن ملف CSV التزايدي ما يلي:

Credential_Idالعملية...

ب

UPSERT

(حقول أخرى)

ج

DELETE

D

UPSERT

(حقول أخرى)

الترخيص أ غير مضمَّن لأنه لم يكن به أي تغييرات.

يتوفر الطابع الزمني لآخر مجموعة بيانات تم استيعابها عبر مجلد ingestion_history/ على SFTP (انظر أدناه).

عملية تحميل واستيعاب SFTP

كيفية التحميل

  1. قم بتسجيل الدخول إلى خادم SFTP باستخدام بيانات الاعتماد التي قدمتها Meta.
  2. قم بتحميل كل من config.json وملف بيانات CSV الخاص بك إلى الدليل الافتراضي.
  3. انتظر حتى يتم إكمال المعالجة. يمكن التحقق من صحة الملفات عدة مرات في اليوم باستخدام وضع validation في config.json ولكن لا يمكن استيعاب البيانات إلا مرة واحدة يوميًا.

ماذا يحدث بعد التحميل

  • بعد المعالجة، يتم نقل كلا الملفين تلقائيًا إلى الدليل validation_history/ أو ingestion_history/، استنادًا إلى الوضع المحدد في config.json. إذا كان ملف CSV الذي تم تحميله يحتوي على أي أخطاء على مستوى الصفوف، مثل القيم المطلوبة غير الموجودة أو القيم غير الصالحة، فسيتم إنشاء ملف CSV منفصل يوضح تلك الأخطاء. قبل إجراء عملية استيعاب، استخدم وضع validation لتأكيد معالجة ملفاتك بشكل صحيح.
  • مع كل تشغيل، يتم إنشاء مجلد يتضمن طابعًا زمنيًا (على سبيل المثال، 2026-03-11T12-23-56Z/) يحتوي على الملفات الفعلية المستخدمة في دليل السجل.
  • إذا كانت ملفاتك لا تزال في الدليل الافتراضي (وليس في ingestion_history/ أو validation_history/)، فهذا يعني أن المعالجة لم تتم بعد.
  • الاحتفاظ: يحتفظ خادم SFTP بالملفات لمدة 30 يومًا فقط.

مثال: مقارنة "قبل وبعد"

فيما يلي توضيح لبنية الملف قبل وبعد عملية استيعاب جديدة بتاريخ 3/11/26 والتي اشتملت على data1.csv وconfig.json بالوضع ingestion.

قبل الاستيعاب

config.json
data1.csv
ingestion_history/
  └── 2026-03-06T04-20-17Z/
       ├── config.json
       ├── license_data.csv
       ├── csv_errors.csv
validation_history/
  └── 2026-03-11T05-18-14Z/
       ├── config.json
       ├── data1.csv
       ├── csv_errors.csv
  └── 2026-03-06T01-15-24Z/
       ├── config.json
       ├── license_data.csv
       ├── csv_errors.csv

بعد الاستيعاب

ingestion_history/
  └── 2026-03-11T12-23-56Z/
       ├── config.json
       ├── data1.csv
  └── 2026-03-06T04-20-17Z/
       ├── config.json
       ├── license_data.csv
       ├── csv_errors.csv
validation_history/
  └── 2026-03-11T05-18-14Z/
       ├── config.json
       ├── data1.csv
       ├── csv_errors.csv
  └── 2026-03-06T01-15-24Z/
       ├── config.json
       ├── license_data.csv
       ├── csv_errors.csv

لبدء استيعاب آخر، حمّل الملفات الجديدة إلى الدليل الافتراضي مرة أخرى.

ملاحظات مهمة

  • وقت المعالجة: قد يستغرق ظهور البيانات في نظام Meta يومًا واحدًا بعد استيعابها.