تكوين نص النشر
تسجل هذه الصفحة معاملات تكوين نص post المستخدم في إنشاء المهام.
نظرة عامة
يُستخدم نص post لنشر المحتوى (الفيديوهات أو الصور) تلقائيًا على TikTok أو Instagram. يدعم طرق نشر متعددة ومصادر مواد وخيارات صوتية.
معاملات الطلب
عند إنشاء مهمة، يمكنك تحديد المعاملات التالية على المستوى الأعلى:
| المعامل | النوع | مطلوب | القيمة الافتراضية | الوصف |
|---|---|---|---|---|
| serials | string[] | مطلوب شرطيًا | [] | قائمة أرقام تسلسل الأجهزة (الوضع 1: على أساس الجهاز) |
| usernames | string[] | مطلوب شرطيًا | [] | قائمة أسماء المستخدمين لإنشاء المهام لها (الوضع 2: على أساس اسم المستخدم) |
| script_name | string | نعم | - | اسم النص البرمجي المراد تنفيذه (على سبيل المثال، "post") |
| script_config | object | نعم | - | معاملات تكوين النص البرمجي (انظر أدناه) |
| enable_multi_account | boolean | لا | false | تمكين وضع الحسابات المتعددة (إنشاء مهمة لكل حساب على الجهاز) |
| start_time | string | لا | - | وقت البدء الاختياري بتنسيق "HH:MM" |
| platform | string | مطلوب شرطيًا* | auto | المنصة المستهدفة: tiktok، instagram. انظر الملاحظة أدناه |
ملاحظة: يجب توفير إما serials أ و usernames.
*سلوك معامل Platform:
- TikMatrix و IgMatrix: يتم تجاهل معامل
platformإذا تم توفيره. يتم تحديد المنصة تلقائيًا من اسم التطبيق (TikMatrix → tiktok، IgMatrix → instagram). - TikMatrix Pro: معامل
platformمطلوب ويجب تحديده بشكل صريح كـtiktokأوinstagram.
تكوين النص البرمجي (script_config)
يحتوي كائن script_config على معاملات نص النشر. فيما يلي المعاملات المتاحة:
المعاملات العامة (TikTok و Instagram)
| المعامل | النوع | مطلوب | القيمة الافتراضية | الوصف |
|---|---|---|---|---|
| content_type | integer | لا | 0 | نوع المحتوى: 0 = فيديو، 1 = صورة |
| image_count | integer | لا | 1 | عدد الصور المراد تحديدها (عندما content_type = 1) |
| captions | string | لا | "" | نص عنوان المنشور. يدعم تنسيق spintax: {خيار1|خيار2|خيار3} |
| caption_format | string | لا | "multiline" | كيفية التعامل مع التعليقات التوضيحية متعددة الأسطر: multiline (إدراج سطور جديدة حقيقية) أو singleline (استبدال \n بمسافات) |
| ai_label | boolean | لا | false | سواء كان سيتم إضافة ملصق المحتوى الذي ينشئه الذكاء الاصطناعي إلى المنشور |
| save_draft | boolean | لا | false | حفظ المنشور كمسودة بدلاً من النشر الفوري |
| post_way | string | لا | "addButton" | طريقة النشر. راجع قسم طرق النشر أدناه للحصول على التفاصيل |
| material_source | string | لا | "materialLibrary" | مصدر المواد: materialLibrary (مكتبة المواد) أو localFolder (مجلد محلي)، يتم تجاهل هذا المعامل إذا تم توفير material_list |
| material_path | string | مطلوب شرطيًا | "" | مسار المجلد المحلي (مطلوب عندما material_source = "localFolder") |
| material_list | string[] | لا | [] | تمرير مصفوفة مسارات ملفات المواد مباشرة. عند توفير هذا المعامل، سيتم تخطي منطق material_source و material_path. موصى به لسيناريوهات أتم تة API. |
| materials_tags | string | لا | "" | علامات المواد مفصولة بفواصل، تُستخدم لتصفية من مكتبة المواد |
| upload_wait_time | integer | لا | 10 | الثواني للانتظار حتى اكتمال التحميل |
| upload_wait_time_min | integer | لا | - | الحد الأدنى لنطاق الانتظار. عند ضبط الحدين معًا يختار السكربت قيمة عشوائية داخل النطاق لكل مهمة |
| upload_wait_time_max | integer | لا | - | الحد الأقصى لنطاق الانتظار |
| sound_wait_time | integer | لا | 10 | الثواني للانتظار حتى تحميل الصوت |
| sound_wait_time_min | integer | لا | - | الحد الأدنى لنطاق الانتظار. عند ضبط الحدين معًا يختار السكربت قيمة عشوائية داخل النطاق لكل مهمة |
| sound_wait_time_max | integer | لا | - | الحد الأقصى لنطاق الانتظار |
| add_sound | string/integer | لا | "-1" | خيارات الصوت: -1 = افتراضي، 0 = تعطيل، 1 = تمكين، custom = استخدام صوت مخصص |
| sound_name | string | مطلوب شرطيًا | "" | اسم/URL الصوت (مطلوب عندما post_way = "useSound") |
| custom_sound_keyword | string | مطلوب شرطيًا | "" | كلمة مفتاحية للبحث عن صوت مخصص (مطلوب عندما add_sound = "custom") |
| origin_sound_volume | integer | لا | 100 | مستوى صوت الصوت الأصلي (0-100) |
| add_sound_volume | integer | لا | 100 | مستوى صوت الصوت المضاف (0-100) |
ينطبق
upload_wait_timeعلى النشر العادي وعلى وضعsave_draftأيضًا. حتى عند الحفظ كمسودة، لا يزال TikTok/Instagram بحاجة إلى وقت لإكمال رفع الفيديو في الخلفية.
يقبل
upload_wait_timeوsound_wait_timeأيضًا نطاقًا: أرسلupload_wait_time_min/upload_wait_time_max(أوsound_wait_time_min/sound_wait_time_max) وسيختار السكربت قيمة عشوائية جديدة داخل هذا النطاق لكل مهمة، حتى لا تنتظر جميع المهام العدد نفسه من الثواني. عند وجود الحدين معًا تكون الأولوية للنطاق، وإلا يُستخدم المفتاح ذو القيمة المفردة.
طرق النشر (post_way)
يتحكم المعامل post_way في كيفية فتح النص البرمجي لشاشة النشر:
| القيمة | الوصف |
|---|---|
addButton | (افتراضي) ينقر على زر الإنشاء "+" داخل التطبيق، ثم يحدد الوسائط من معرض الجهاز. يعمل مع جميع مواضع النشر (reel, story, post). موصى به لمعظم الحالات. |
share | يُشغّل Android share intent مباشرةً من ملف الوسائط إلى تطبيق Instagram/TikTok. هذه طريقة بديلة تتجاوز التنقل داخل التطبيق؛ وهي مفيدة عندما يكون تدفق addButton غير موثوق على جهاز أو إصدار تطبيق معيّن. |
useSound | ينتقل أولاً إلى مقطع صوتي محدد (عبر رابط URL أو كلمة مفتاحية في sound_name)، ثم يرفق الفيديو بذلك الصوت. لـ Reels / TikTok فقط. يتطلب تعيين sound_name. غير متوافق مع placement = "post" أو placement = "story". |
عندما تكون placement هي post (منشور خلاصة Instagram)، لا تكون أتمتة الصوت مدعومة بغض النظر عن post_way. سيتجاوز النص البرمجي خطوة الصوت تلقائيًا.
معاملات خاصة بـ TikTok
| المعامل | النوع | مطلوب | القيمة الافتراضية | الوصف |
|---|---|---|---|---|
| placement | string | لا | "" | موضع النشر: "" (فيديو عادي، الافتراضي) أو "story" (TikTok Story). مع "story"، ينقر السكريبت على "Your Story" بعد إعداد الصوت، متجاوزاً خطوات العنوان/رابط المنتج/تسمية الذكاء الاصطناعي. |
| add_product_link | integer | لا | 0 | سواء كان سيتم إضافة رابط المنتج/التسوق: 0 = لا، 1 = نعم |
معاملات خاصة بـ Instagram
| المعامل | النوع | مطلوب | القيمة الافتراضية | الوصف |
|---|---|---|---|---|
| placement | string | لا | "reel" | موضع النشر: reel (Reels) أو story (Stories) أو post (منشور عادي في الخلاصة). ملاحظة: خيارات الصوت غير مدعومة عندما تكون placement هي post |
| enable_schedule_reels | boolean | لا | false | سواء كان سيتم جدولة الـ Reel لوقت مستقبلي |
| schedule_reels_time | string | مطلوب شرطيًا | "" | وقت النشر المجدول بتنسيق YYYY-MM-DD HH:MM (مطلوب عندما enable_schedule_reels = true) |
| story_link | string | لا | "" | URL لإرفاقه كرابط ملصق في Story (ينطبق فقط عندما placement = "story") |
أمثلة
نشر TikTok Story
انشر مباشرة في TikTok Story. بعد إعداد الصوت، ينقر السكريبت على "Your Story" — بدون خطوات العنوان/رابط المنتج/تسمية الذكاء الاصطناعي :
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 0,
"placement": "story",
"post_way": "addButton",
"material_list": ["C:/Videos/story_video.mp4"],
"upload_wait_time": 30
}
}'
مهمة نشر أساسية - تمرير مسارات المواد مباشرة
هذه هي الطريقة الموصى بها لأتمتة API - تمرير مسارات ملفات المواد مباشرة، دون الاعتماد على مكتبة المواد أو مسح المجلدات:
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "شاهد الفيديو الجديد الخاص بي! #trending #fyp",
"material_list": [
"C:/Videos/video1.mp4"
],
"upload_wait_time": 60
}
}'
النشر باستخدام مكتبة المواد (TikTok)
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "شاهد الفيديو الجديد الخاص بي! #trending #fyp",
"post_way": "addButton",
"material_source": "materialLibrary",
"materials_tags": "trending, dance",
"upload_wait_time": 60,
"add_sound": "-1"
},
"enable_multi_account": false
}'
إنشاء مهام نشر عبر قائمة أسماء المستخدمين
يتيح لك هذا الوضع إنشاء مهام م باشرة لحسابات محددة، دون الحاجة إلى معرفة أرقامها التسلسلية:
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"usernames": ["@user1", "@user2", "@user3"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "شاهد الفيديو الجديد الخاص بي! #trending #fyp",
"material_list": [
"C:/Videos/video1.mp4"
],
"upload_wait_time": 60
}
}'
النشر من مجلد محلي (Instagram)
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "محتوى رائع! #instagram #reels",
"post_way": "addButton",
"placement": "reel",
"material_source": "localFolder",
"material_path": "C:/Videos/instagram",
"upload_wait_time": 45
},
"enable_multi_account": true
}'
منشور خلاصة Instagram (placement: post)
انشر في خلاصة Instagram العادية (وليس Reel). خيارات الصوت غير مدعومة لهذا الموضع:
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"platform": "instagram",
"script_config": {
"content_type": 0,
"captions": "New post! #instagram",
"placement": "post",
"post_way": "addButton",
"material_list": ["C:/Videos/my_video.mp4"],
"upload_wait_time": 45
}
}'
النشر باستخدام صوت مخصص
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "الرقص مع هذه الموسيقى الشعبية!",
"post_way": "addButton",
"add_sound": "custom",
"custom_sound_keyword": "موسيقى رقص شعبية 2024",
"origin_sound_volume": 30,
"add_sound_volume": 70,
"material_source": "materialLibrary",
"upload_wait_time": 60
}
}'
النشر باستخدام URL صوت محدد
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"post_way": "useSound",
"sound_name": "https://www.tiktok.com/music/original-sound-7123456789",
"captions": "استخدام هذه الموسيقى الرائعة!",
"material_source": "materialLibrary"
}
}'
نشر الصور (ألبوم دوار)
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 1,
"image_count": 5,
"captions": "شاهد هذه الصور! #photoset",
"material_source": "localFolder",
"material_path": "C:/Images/carousel",
"upload_wait_time": 45
}
}'
النشر مع تحديد الم نصة بشكل صريح
يمكنك تحديد المنصة المستهدفة بشكل صريح باستخدام معامل platform. يعد هذا مفيدًا عندما تريد تجاوز الإعداد الافتراضي للبيئة:
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"platform": "instagram",
"script_config": {
"content_type": 0,
"captions": "النشر على Instagram! #instagram #reels",
"placement": "reel",
"material_list": [
"C:/Videos/instagram_video.mp4"
],
"upload_wait_time": 60
}
}'
الاستجابة
{
"code": 0,
"message": "success",
"data": {
"task_ids": [101, 102],
"created_count": 2
}
}
الوثائق ذات الصلة
- API إدارة المهام - إنشاء وإدراج وإدارة المهام