إنتقل إلى المحتوى الرئيسي

تكوين نص التسويق الفائق

تصف هذه الصفحة نقاط نهاية API لنص التسويق الفائق. على عكس النصوص الأخرى، لا يُنشأ التسويق الفائق عبر نقطة النهاية العامة POST /api/v1/task — إذ يعمل على مجموعة بيانات قابلة لإعادة الاستخدام من الأهداف، ولديه نقاط نهاية مخصصة.

نظرة عامة

تجمع حملة التسويق الفائق عدة إجراءات نمو (متابعة، إلغاء متابعة، إبلاغ، رسائل مباشرة، تعزيز، تعليق جماعي) في تشغيل واحد على مجموعة من الأهداف. تُخزَّن مجموعة الأهداف كـمجموعة بيانات:

  • نوع البيانات — تحتوي مجموعة البيانات إما على usernames (معرفات TikTok/Instagram) أو post_links (روابط المنشورات).
  • الاستراتيجية — تتحكم في كيفية توزيع الأهداف عبر أجهزتك:
    • shared_pool — يعالج كل جهاز/حساب مختار جميع الأهداف.
    • consume_once — يتم تقسيم الأهداف عبر الأجهزة وتُستهلك مرة واحدة.

التدفق المعتاد هو:

  1. استيراد الأهداف إلى مجموعة بيانات ← الحصول على dataset_id.
  2. تشغيل حملة تشير إلى dataset_id على جهاز أو أكثر.

تُقرأ إبدالات الميزات (متابعة / رسائل مباشرة / تعليق، إلخ) وإعداداتها التفصيلية من التكوين المحفوظ في تطبيق سطح المكتب (super_marketing_settings.json). يمكنك تجاوز أي منها لكل تشغيل عن طريق تمرير script_config في طلب التشغيل.

متطلبات الترخيص

تتطلب جميع نقاط نهاية التسويق الفائق خطة Pro أو Team أو Business، مثل بقية API المحلي.


استيراد مجموعة البيانات

إنشاء مجموعة بيانات جديدة أو إضافة أهداف إلى مجموعة موجودة.

  • نقطة النهاية: POST /api/v1/super-marketing/dataset

جسم الطلب

الحقلالنوعمطلوبالافتراضيالوصف
dataset_idintegerNoمعرف مجموعة البيانات الموجودة للإضافة إليها / استبدالها. احذف أو استخدم 0 لإنشاء مجموعة جديدة.
data_typestringYesusernames أو post_links
strategystringYesshared_pool أو consume_once
entriesstring[]Yes*[]الأهداف كمصفوفة JSON. تأخذ الأولوية على raw_text.
raw_textstringYes*الأهداف كسلسلة مفصولة بفواصل أسطر (بديل لـ entries).
modestringNoappendappend يضيف إلى الإدخالات الموجودة؛ replace يمسح الإدخالات الموجودة أولاً.
labelstringNoتسمية بشرية اختيارية لمجموعة البيانات.
ملاحظة

وفِّر الأهداف إما عبر entries أو raw_text. يتم تجاهل الإدخالات المكررة والفارغة. يُحدَّد استيراد واحد بـ 100,000 إدخال.

مثال

curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Campaign A targets",
"entries": ["@user_one", "@user_two", "@user_three"]
}'

إضافة المزيد من الأهداف إلى مجموعة بيانات موجودة باستخدام نص مفصول بفواصل أسطر:

curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"dataset_id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"mode": "append",
"raw_text": "@user_four\n@user_five\n@user_six"
}'

استجابة نموذجية

{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Campaign A targets",
"total": 3,
"consumed": 0,
"remaining": 3,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:00:00"
},
"entries": [
{ "id": 1, "value": "@user_one", "consumed": false, "consumed_by": null, "consumed_at": null, "created_at": "2026-06-22 09:00:00", "updated_at": "2026-06-22 09:00:00" }
]
},
"summary": {
"inserted": 3,
"duplicates": 0,
"skipped_empty": 0,
"removed": 0,
"truncated": 0
}
}
}

قائمة مجموعات البيانات

استرداد جميع مجموعات البيانات مع إحصائيات الاستهلاك.

  • نقطة النهاية: GET /api/v1/super-marketing/datasets

معاملات الاستعلام

المعاملالنوعالافتراضيالوصف
data_typestringمرشح اختياري: usernames أو post_links

مثال

curl "http://localhost:50809/api/v1/super-marketing/datasets?data_type=usernames"

استجابة نموذجية

{
"code": 0,
"message": "success",
"data": [
{
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Campaign A targets",
"total": 6,
"consumed": 0,
"remaining": 6,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:05:00"
}
]
}

الحصول على مجموعة البيانات

جلب إحصائيات مجموعة البيانات وصفحة من إدخالاتها.

  • نقطة النهاية: GET /api/v1/super-marketing/dataset/{id}

معاملات الاستعلام

المعاملالنوعالافتراضيالوصف
limitinteger50الإدخالات لكل صفحة (الحد الأقصى 500)
offsetinteger0عدد الإدخالات المراد تخطيها

مثال

curl "http://localhost:50809/api/v1/super-marketing/dataset/7?limit=100&offset=0"

مسح مجموعة البيانات

إزالة جميع الإدخالات من مجموعة البيانات. يتم الاحتفاظ بسجل مجموعة البيانات نفسه (ويبقى dataset_id صالحاً للاستيرادات المستقبلية).

  • نقطة النهاية: DELETE /api/v1/super-marketing/dataset/{id}

مثال

curl -X DELETE http://localhost:50809/api/v1/super-marketing/dataset/7

استجابة نموذجية

{
"code": 0,
"message": "success",
"data": { "cleared": true, "dataset_id": 7 }
}

تشغيل الحملة

إطلاق حملة تسويق فائق على الأجهزة المحددة، باستخدام أهداف مجموعة البيانات.

  • نقطة النهاية: POST /api/v1/super-marketing/run

جسم الطلب

الحقلالنوعمطلوبالافتراضيالوصف
serialsstring[]Yes[]أرقام تسلسل الأجهزة للتشغيل عليها
dataset_idintegerYesمجموعة البيانات التي تُشغّل الحملة
enable_multi_accountbooleanNofalseإنشاء مهمة واحدة لكل حساب على كل جهاز
merge_same_username_tasksbooleanNofalseتجميع جميع أهداف الجهاز في مهمة واحدة بدلاً من مهمة واحدة لكل هدف
platformstringNoتجاوز المنصة (tiktok / instagram). يُطبَّق فقط على الإصدارات متعددة المنصات
min_intervalintegerNo0الحد الأدنى للدقائق بين أوقات بدء المهام المتدرجة
max_intervalintegerNo0الحد الأقصى للدقائق بين أوقات بدء المهام المتدرجة
start_timestringNoوقت بدء أول مهمة بصيغة HH:MM
rotate_proxybooleanNofalseتدوير وكيل الجهاز قبل التشغيل
switch_account_methodstringNoكيفية التبديل بين الحسابات في وضع متعدد الحسابات
official_packagesstring[]No[]تقييد التنفيذ بهذه الحزم الرسمية (وضع متعدد الحسابات)
clone_package_prefixstringNoتقييد التنفيذ على تطبيقات الاستنساخ التي يبدأ اسم حزمتها بهذا البادئة
script_configobjectNoإبدالات تفعيل الميزات / إعدادات لكل ميزة تتجاوز التكوين المحفوظ في سطح المكتب
نوع البيانات يُؤخذ من مجموعة البيانات

لا تمرر data_source_type في طلب التشغيل — تستخدم الحملة تلقائياً data_type من مجموعة البيانات (usernames أو post_links). مجموعات بيانات روابط المنشورات تدعم فقط ميزتي boost_posts وmass_comment.

إبدالات script_config

script_config اختياري. عند الحذف، تستخدم الحملة إبدالات الميزات والإعدادات التي قمت بتكوينها في تطبيق سطح المكتب. وفِّرها لتشغيل حملة مكتفية ذاتياً أو لتجاوز حقول محددة. تقبل المفاتيح كلاً من camelCase وsnake_case.

الحقلالنوعالوصف
access_methodstringكيفية الوصول إلى الأهداف: search أو direct
features.follow_usersbooleanمتابعة كل هدف
features.unfollow_usersbooleanإلغاء متابعة كل هدف
features.report_accountbooleanالإبلاغ عن كل حساب هدف
features.send_dmbooleanإرسال رسالة مباشرة لكل هدف
features.boost_postsbooleanالإعجاب / المفضلة / إعادة النشر / المشاركة لمنشورات الهدف
features.mass_commentbooleanالتعليق على منشورات الهدف
follow_settings.boost_typestringfollow أو unfollow
dm_settings.message_contentsstringنص الرسالة المباشرة (مفصول بفواصل أسطر لمتغيرات متعددة)
dm_settings.message_orderstringrandom أو sequential
dm_settings.insert_emojibooleanإدراج رمز تعبيري عشوائي في الرسالة المباشرة
dm_settings.generate_by_chatgptbooleanتوليد الرسالة المباشرة باستخدام ChatGPT
dm_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
post_settings.skip_posts_countintegerالمنشورات المراد تخطيها قبل الإجراء (0–8، مصدر أسماء المستخدمين فقط)
post_settings.max_posts_countintegerالحد الأقصى لعدد المنشورات المعالجة لكل هدف
post_settings.enable_likebooleanالإعجاب بالمنشورات
post_settings.enable_favoritebooleanإضافة المنشورات إلى المفضلة
post_settings.enable_repostbooleanإعادة نشر المنشورات
post_settings.enable_sharebooleanمشاركة المنشورات
post_settings.repeat_timesintegerعدد مرات تكرار إجراءات المنشور
post_settings.view_durationsinteger[]ثوانٍ [min, max] لمشاهدة كل منشور
comment_settings.comment_contentstringنص التعليق (مفصول بفواصل أسطر لمتغيرات متعددة)
comment_settings.comment_orderstringrandom أو sequential
comment_settings.insert_emojibooleanإدراج رمز تعبيري عشوائي في التعليق
comment_settings.generate_by_chatgptbooleanتوليد التعليق باستخدام ChatGPT
comment_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
task_finish_wait_timeintegerثوانٍ للانتظار قبل الانتهاء (يمنع فقدان البيانات)

أمثلة

تشغيل بسيط (استخدام الإعدادات المحفوظة في سطح المكتب)

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"dataset_id": 7
}'

حملة متابعة + رسائل مباشرة مكتفية ذاتياً

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 7,
"enable_multi_account": true,
"min_interval": 1,
"max_interval": 3,
"script_config": {
"access_method": "search",
"features": {
"follow_users": true,
"send_dm": true
},
"follow_settings": { "boost_type": "follow" },
"dm_settings": {
"message_contents": "Hey! Love your content 🙌\nGreat posts, keep it up!",
"message_order": "random",
"insert_emoji": true
}
}
}'

تعليق جماعي على مجموعة بيانات روابط المنشورات

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 9,
"merge_same_username_tasks": true,
"script_config": {
"features": { "mass_comment": true },
"comment_settings": {
"comment_content": "🔥🔥🔥\nAmazing!\nLove this",
"comment_order": "random"
}
}
}'

استجابة نموذجية

{
"code": 0,
"message": "success",
"data": { "created_count": 6 }
}

created_count هو عدد المهام التي تم إنشاؤها. تعمل المهام المعلقة بعد ذلك على أجهزتها المخصصة مثل أي مهمة أخرى — تابعها عبر API إدارة المهام.


ردود الخطأ

HTTP StatusCodeالوصف
40040001معاملات غير صالحة (data_type/strategy غير صالح، serials فارغ، dataset_id غير موجب، script_config ليس كائناً، أو لم يتم إنشاء مهام)
40340301محظور — يتطلب الوصول إلى API خطة Pro+
40440401مجموعة البيانات غير موجودة
50050001خطأ داخلي في الخادم
لم يتم إنشاء مهام

إذا أعاد التشغيل الرمز 40001 مع رسالة "No tasks created"، تحقق من أن مجموعة البيانات لا تزال تحتوي على أهداف متبقية (لاستراتيجية consume_once) وأن الأجهزة المختارة متصلة.

انظر أيضاً