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

تكوين نص النشر

تسجل هذه الصفحة معاملات تكوين نص post المستخدم في إنشاء المهام.

نظرة عامة

يُستخدم نص post لنشر المحتوى (الفيديوهات أو الصور) تلقائيًا على TikTok أو Instagram. يدعم طرق نشر متعددة ومصادر مواد وخيارات صوتية.

معاملات الطلب

عند إنشاء مهمة، يمكنك تحديد المعاملات التالية على المستوى الأعلى:

المعاملالنوعمطلوبالقيمة الافتراضيةالوصف
serialsstring[]مطلوب شرطيًا[]قائمة أرقام تسلسل الأجهزة (الوضع 1: على أساس الجهاز)
usernamesstring[]مطلوب شرطيًا[]قائمة أسماء المستخدمين لإنشاء المهام لها (الوضع 2: على أساس اسم المستخدم)
script_namestringنعم-اسم النص البرمجي المراد تنفيذه (على سبيل المثال، "post")
script_configobjectنعم-معاملات تكوين النص البرمجي (انظر أدناه)
enable_multi_accountbooleanلاfalseتمكين وضع الحسابات المتعددة (إنشاء مهمة لكل حساب على الجهاز)
start_timestringلا-وقت البدء الاختياري بتنسيق "HH:MM"
platformstringمطلوب شرطيًا*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_typeintegerلا0نوع المحتوى: 0 = فيديو، 1 = صورة
image_countintegerلا1عدد الصور المراد تحديدها (عندما content_type = 1)
captionsstringلا""نص عنوان المنشور. يدعم تنسيق spintax: {خيار1|خيار2|خيار3}
caption_formatstringلا"multiline"كيفية التعامل مع التعليقات التوضيحية متعددة الأسطر: multiline (إدراج سطور جديدة حقيقية) أو singleline (استبدال \n بمسافات)
ai_labelbooleanلاfalseسواء كان سيتم إضافة ملصق المحتوى الذي ينشئه الذكاء الاصطناعي إلى المنشور
save_draftbooleanلاfalseحفظ المنشور كمسودة بدلاً من النشر الفوري
post_waystringلا"addButton"طريقة النشر. راجع قسم طرق النشر أدناه للحصول على التفاصيل
material_sourcestringلا"materialLibrary"مصدر المواد: materialLibrary (مكتبة المواد) أو localFolder (مجلد محلي)، يتم تجاهل هذا المعامل إذا تم توفير material_list
material_pathstringمطلوب شرطيًا""مسار المجلد المحلي (مطلوب عندما material_source = "localFolder")
material_liststring[]لا[]تمرير مصفوفة مسارات ملفات المواد مباشرة. عند توفير هذا المعامل، سيتم تخطي منطق material_source و material_path. موصى به لسيناريوهات أتمتة API.
materials_tagsstringلا""علامات المواد مفصولة بفواصل، تُستخدم لتصفية من مكتبة المواد
upload_wait_timeintegerلا10الثواني للانتظار حتى اكتمال التحميل

ينطبق upload_wait_time على النشر العادي وعلى وضع save_draft أيضًا. حتى عند الحفظ كمسودة، لا يزال TikTok/Instagram بحاجة إلى وقت لإكمال رفع الفيديو في الخلفية. | sound_wait_time | integer | لا | 10 | الثواني للانتظار حتى تحميل الصوت | | 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) |

طرق النشر (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

المعاملالنوعمطلوبالقيمة الافتراضيةالوصف
placementstringلا""موضع النشر: "" (فيديو عادي، الافتراضي) أو "story" (TikTok Story). مع "story"، ينقر السكريبت على "Your Story" بعد إعداد الصوت، متجاوزاً خطوات العنوان/رابط المنتج/تسمية الذكاء الاصطناعي.
add_product_linkintegerلا0سواء كان سيتم إضافة رابط المنتج/التسوق: 0 = لا، 1 = نعم

معاملات خاصة بـ Instagram

المعاملالنوعمطلوبالقيمة الافتراضيةالوصف
placementstringلا"reel"موضع النشر: reel (Reels) أو story (Stories) أو post (منشور عادي في الخلاصة). ملاحظة: خيارات الصوت غير مدعومة عندما تكون placement هي post
enable_schedule_reelsbooleanلاfalseسواء كان سيتم جدولة الـ Reel لوقت مستقبلي
schedule_reels_timestringمطلوب شرطيًا""وقت النشر المجدول بتنسيق YYYY-MM-DD HH:MM (مطلوب عندما enable_schedule_reels = true)
story_linkstringلا""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
}
}

الوثائق ذات الصلة