تكوين نص التسويق الفائق
تصف هذه الصفحة نقاط نهاية API لنص التسويق الفائق. على عكس النصوص الأخرى، لا يُنشأ التسويق الفائق عبر نقطة النهاية العامة POST /api/v1/task — إذ يعمل على مجموعة بيانات قابلة لإعادة الاستخدام من الأهداف، ولديه نقاط نهاية مخصصة.
نظرة عامة
تجمع حملة التسويق الفائق عدة إجراءات نمو (متابعة، إلغاء متابعة، إبلاغ، رسائل مباشرة، تعزيز، تعليق جماعي) في تشغيل واحد على مجموعة من الأهداف. تُخزَّن مجموعة الأهداف كـمجموعة بيانات:
- نوع البيانات — تحتوي مجموعة البيانات إما على
usernames(معرفات TikTok/Instagram) أوpost_links(روابط المنشورات). - الاستراتيجية — تتحكم في كيفية توزيع الأهداف عبر أجهزتك:
shared_pool— يعالج كل جهاز/حساب مختار جميع الأهداف.consume_once— يتم تقسيم الأهداف عبر الأجهزة وتُستهلك مرة واحدة.
التدفق المعتاد هو:
- استيراد الأهداف إلى مجموعة بيانات ← الحصول على
dataset_id. - تشغيل حملة تشير إلى
dataset_idعلى جهاز أو أكثر.
تُقرأ إبدالات الميزات (متابعة / رسائل مباشرة / تعليق، إلخ) وإعداداتها التفصيلية من التكوين المحفوظ في تطبيق سطح المكتب (super_marketing_settings.json). يمكنك تجاوز أي منها لكل تشغيل عن طريق تمرير script_config في طلب التشغيل.
تتطلب جميع نقاط نهاية التسويق الفائق خطة Pro أو Team أو Business، مثل بقية API المحلي.
استيراد مجموعة البيانات
إنشاء مجموعة بيانات جديدة أو إضافة أهداف إلى مجموعة موجودة.
- نقطة النهاية:
POST /api/v1/super-marketing/dataset
جسم الطلب
| الحقل | النوع | مطلوب | الافتراضي | الوصف |
|---|---|---|---|---|
| dataset_id | integer | No | — | معرف مجموعة البيانات الموجودة للإضافة إليها / استبدالها. احذف أو استخدم 0 لإنشاء مجموعة جديدة. |
| data_type | string | Yes | — | usernames أو post_links |
| strategy | string | Yes | — | shared_pool أو consume_once |
| entries | string[] | Yes* | [] | الأهداف كمصفوفة JSON. تأخذ الأولوية على raw_text. |
| raw_text | string | Yes* | — | الأهداف كسلسلة مفصولة بفواصل أسطر (بديل لـ entries). |
| mode | string | No | append | append يضيف إلى الإدخالات الموجودة؛ replace يمسح الإدخالات الموجودة أولاً. |
| label | string | No | — | تسمية بشرية اختيارية لمجموعة البيانات. |
وفِّر الأهداف إما عبر 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_type | string | — | مرشح اختياري: 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}
معاملات الاستعلام
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
| limit | integer | 50 | الإدخالات لكل صفحة (الحد الأقصى 500) |
| offset | integer | 0 | عدد الإدخالات المراد تخطيها |
مثال
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
جسم الطلب
| الحقل | النوع | مطلوب | الافتراضي | الوصف |
|---|---|---|---|---|
| serials | string[] | Yes | [] | أرقام تسلسل الأجهزة للتشغيل عليها |
| dataset_id | integer | Yes | — | مجموعة البيانات التي تُشغّل الحملة |
| enable_multi_account | boolean | No | false | إنشاء مهمة واحدة لكل حساب على كل جهاز |
| merge_same_username_tasks | boolean | No | false | تجميع جميع أهداف الجهاز في مهمة واحدة بدلاً من مهمة واحدة لكل هدف |
| platform | string | No | — | تجاوز المنصة (tiktok / instagram). يُطبَّق فقط على الإصدارات متعددة المنصات |
| min_interval | integer | No | 0 | الحد الأدنى للدقائق بين أوقات بدء المهام المتدرجة |
| max_interval | integer | No | 0 | الحد الأقصى للدقائق بين أوقات بدء المهام المتدرجة |
| start_time | string | No | — | وقت بدء أول مهمة بصيغة HH:MM |
| rotate_proxy | boolean | No | false | تدوير وكيل الجهاز قبل التشغيل |
| switch_account_method | string | No | — | كيفية التبديل بين الحسابات في وضع متعدد الحسابات |
| official_packages | string[] | No | [] | تقييد التنفيذ بهذه الحزم الرسمية (وضع متعدد الحسابات) |
| clone_package_prefix | string | No | — | تقييد التنفيذ على تطبيقات الاستنساخ التي يبدأ اسم حزمتها بهذا البادئة |
| script_config | object | No | — | إبدالات تفعيل الميزات / إعدادات لكل ميزة تتجاوز التكوين المحفوظ في سطح المكتب |
لا تمرر data_source_type في طلب التشغيل — تستخدم الحملة تلقائياً data_type من مجموعة البيانات (usernames أو post_links). مجموعات بيانات روابط المنشورات تدعم فقط ميزتي boost_posts وmass_comment.
إبدالات script_config
script_config اختياري. عند الحذف، تستخدم الحملة إبدالات الميزات والإعدادات التي قمت بتكوينها في تطبيق سطح المكتب. وفِّرها لتشغيل حملة مكتفية ذاتياً أو لتجاوز حقول محددة. تقبل المفاتيح كلاً من camelCase وsnake_case.
| الحقل | النوع | الوصف |
|---|---|---|
| access_method | string | كيفية الوصول إلى الأهداف: search أو direct |
| features.follow_users | boolean | متابعة كل هدف |
| features.unfollow_users | boolean | إلغاء متابعة كل هدف |
| features.report_account | boolean | الإبلاغ عن كل حساب هدف |
| features.send_dm | boolean | إرسال رسالة مباشرة لكل هدف |
| features.boost_posts | boolean | الإعجاب / المفضلة / إعادة النشر / المشاركة لمنشورات الهدف |
| features.mass_comment | boolean | التعليق على منشورات الهدف |
| follow_settings.boost_type | string | follow أو unfollow |
| dm_settings.message_contents | string | نص الرسالة المباشرة (مفصول بفواصل أسطر لمتغيرات متعددة) |
| dm_settings.message_order | string | random أو sequential |
| dm_settings.insert_emoji | boolean | إدراج رمز تعبيري عشوائي في الرسالة المباشرة |
| dm_settings.generate_by_chatgpt | boolean | توليد الرسالة المباشرة باستخدام ChatGPT |
| dm_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| post_settings.skip_posts_count | integer | المنشورات المراد تخطيها قبل الإجراء (0–8، مصدر أسماء المستخدمين فقط) |
| post_settings.max_posts_count | integer | الحد الأقصى لعدد المنشورات المعالجة لكل هدف |
| post_settings.enable_like | boolean | الإعجاب بالمنشورات |
| post_settings.enable_favorite | boolean | إضافة المنشورات إلى المفضلة |
| post_settings.enable_repost | boolean | إعادة نشر المنشورات |
| post_settings.enable_share | boolean | مشاركة المنشورات |
| post_settings.repeat_times | integer | عدد مرات تكرار إجراءات المنشور |
| post_settings.view_durations | integer[] | ثوانٍ [min, max] لمشاهدة كل منشور |
| comment_settings.comment_content | string | نص التعليق (مفصول بفواصل أسطر لمتغيرات متعددة) |
| comment_settings.comment_order | string | random أو sequential |
| comment_settings.insert_emoji | boolean | إدراج رمز تعبيري عشوائي في التعليق |
| comment_settings.generate_by_chatgpt | boolean | توليد التعليق باستخدام ChatGPT |
| comment_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| task_finish_wait_time | integer | ثوانٍ للانتظار قبل الانتهاء (يمنع فقدان البيانات) |
أمثلة
تشغيل بسيط (استخدام الإعدادات المحفوظة في سطح المكتب)
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
}
}
}'