نظرة عامة على API المحلي
يوفر TikMatrix واجهة برمجة تطبيقات RESTful محلية تسمح لك بإدارة المهام برمجيًا. هذا مفيد لدمج TikMatrix في أنظمة الأتمتة الخاصة بك، أو بناء سير عمل مخصص، أو إنشاء عمليات دفعية.
المتطلبات
API المحلي متاح فقط لمستخدمي خطط Pro و Team و Business. لا توفر خطة Starter وصولاً إلى API.
عنوان URL الأساسي
يعمل API محليًا على:
http://localhost:50809/api/v1/
المنفذ 50809 هو المنفذ الافتراضي. يرجى التأكد من أن TikMatrix قيد التشغيل قبل إجراء الطلبات.
تنسيق الاستجابة
تتبع جميع استجابات API التنسيق التالي:
{
"code": 0,
"message": "success",
"data": { ... }
}
توضيح رموز الاستجابة
| الرمز | الوصف |
|---|---|
| 0 | نجح |
| 40001 | طلب غير صالح - معاملات غير صحيحة، بما في ذلك script_config لا يجتاز التحقق |
| 40002 | خطأ في المعاملات - script_name مفقود |
| 40003 | طلب غير صالح - السكربت غير مدعوم في هذه النسخة أو على هذه المنصة، أو ليس له تنفيذ، أو حالة المهمة غير صالحة |
| 40004 | خطأ في المعاملات - يمكن إيقاف المهام المتوقفة فقط |
| 40005 | خطأ في المعاملات - لا يمكن أن تكون task_ids فارغة |
| 40301 | محظور - يتطلب الوصول إلى API خطة Pro+ |
| 40401 | غير موجود - المورد غير موجود |
| 50001 | خطأ داخلي في الخادم |
البدء السريع
1. التحقق من الوصول إلى API
أولاً، تأكد من أن ترخيصك يدعم API:
curl http://localhost:50809/api/v1/license/check
مثال على الاستجابة:
{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}
2. استكشاف السكربتات ومعاملاتها
يصف GET /api/v1/schema كل سكربت تستطيع هذه النسخة تشغيله، وحقول script_config التي يقبلها بدقة: الأسماء والأنواع والقيم الافتراضية والقيم المسموح بها وأيها مطلوب. يُولَّد من الفهرس نفسه الذي يتحقق الخادم بمقتضاه، لذا لا يمكن أن يختلف عمّا يقبله إنشاء المهام فعليًا.
curl http://localhost:50809/api/v1/schema
معاملان اختياريان في الاستعلام:
| المعامل | الأثر |
|---|---|
platform | يقصر القائمة على tiktok أو instagram. المنصة غير المتوفرة في هذه النسخة تُرفض بالرمز 40001. الافتراضي هو كل ما توفره النسخة. |
include_unavailable | عند ضبطه على true تُدرج أيضًا أسماء السكربتات التي تقبلها الواجهة لكن لا تنفيذ فعليًا لها. يحمل كل منها unavailable_reason. |
الاستجابة (مختصرة):
{
"code": 0,
"message": "success",
"data": {
"build": { "platforms": ["tiktok"] },
"scripts": [
{
"name": "follow",
"internal_name": "follow",
"summary": "Follow the given users. One task per target.",
"platforms": ["tiktok", "instagram"],
"available": true,
"fan_out": { "kind": "per_item", "key": "target_users", "alt_key": "target_user" },
"any_of": [["target_users", "target_user"]],
"fields": [
{
"key": "access_method",
"type": "string",
"required": false,
"default": "direct",
"choices": ["direct", "search"],
"description": "How to reach the profile: direct (via URL) or search."
}
]
}
]
}
}
يوضح fan_out عدد المهام التي سينتجها الطلب: ينشئ per_device مهمة لكل جهاز (أو لكل حساب في وضع الحسابات المتعددة)، بينما ينشئ per_item مهمة لكل عنصر من الحقل المذكور، لكل جهاز.
3. إنشاء مهمة
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": 1,
"captions": "شاهد الفيديو الجديد الخاص بي! #trending"
},
"enable_multi_account": false,
"start_time": "14:30"
}'
4. الاستعلام عن قائمة المهام
curl http://localhost:50809/api/v1/task?status=0&page=1&page_size=20
النصوص البرمجية المتاحة
يمكن أن تقبل معاملة script_name القيم التالية:
| اسم النص البرمجي | الوصف | دعم API |
|---|---|---|
post | نشر المحتوى | ✅ مدعوم |
follow | متابعة المستخدمين | ✅ مدعوم |
unfollow | إلغاء المتابعة | ✅ مدعوم |
account_warmup | تسخين الحساب | ✅ مدعوم |
comment | نشر تعليق جديد على المنشورات | ✅ مدعوم |
boost_comment | الإعجاب بالتعليقات الموجودة / الرد عليها | ✅ مدعوم |
login | تسجيل الدخول إلى الحساب | ✅ مدعوم |
profile | تحديث الملف الشخصي | ✅ مدعوم |
match_account | مطابقة الحسابات على الجهاز | ✅ مدعوم |
like | الإعجاب | ✅ مدعوم |
view | مشاهدة منشور لمدة محددة | ✅ مدعوم |
favorite | حفظ منشور في المفضلة | ✅ مدعوم |
repost | إعادة نشر مقاطع TikTok | ✅ مدعوم — TikTok فقط |
message | الرسائل الخاصة | ❌ غير متاح § |
follow_suggested | متابعة الحسابات المقترحة | ✅ مدعوم — TikTok فقط |
super_marketing | حملة التسويق الفائق | ✅ مدعوم † |
scrape_user | استخراج بيانات المستخدم | 🔜 قريبًا |
حملة التسويق الفائق لا تُنشأ عبر POST /api/v1/task. تعمل على مجموعة بيانات مستهدفة قابلة لإعادة الاستخدام ولها نقاط نهاية مخصصة — راجع تكوين نص التسويق الفائق.
messageكان message مقبولًا عند إنشاء المهمة، لكن ملف السكربتات التنفيذي لا يملك معالجًا له على أي من المنصتين، فكانت كل مهمة من هذا النوع تفشل على الجهاز برسالة "Unknown script". أما الآن فتُرفض عند الإنشاء مع ذكر السبب. لإرسال الرسائل المباشرة اليوم، استخدم super_marketing الذي يدير الرسائل عبر مجموعة أهداف.
repost وfollow_suggested منفَّذان على TikTok فقط. إنشاء أي منهما مقابل هدف على Instagram يُرفض بدل أن يُدرج في قائمة الانتظار — سابقًا كانت المهمة تُنشأ ثم تفشل على الجهاز.
التحقق من script_config
يتحقق إنشاء المهمة من script_config وفق المخطط أعلاه قبل كتابة أي شيء، فيعود المعامل الخاطئ على هيئة 400 يذكر اسم الحقل بدلًا من مهمة تفشل لاحقًا على الهاتف. تُرفض ثلاثة أمور:
- حقل مطلوب مفقود أو فارغ،
- مجموعة «أحدها» لم يُضبط أي عضو فيها (مثلًا يحتاج
followإلى أحدtarget_users/target_user)، - قيمة خارج نطاق
choicesالموثّقة للحقل.
المفاتيح غير المدرجة في المخطط تُتجاهل ولا تُرفض — فتطبيق سطح المكتب نفسه يمرر مفاتيحه عبر الكائن ذاته، ورفض المفاتيح المجهولة سيكسر التكاملات القائمة. تُسجَّل على الخادم لتتمكن من ملاحظة أي خطأ مطبعي في سجل التطبيق.
يمكن إرسال الأرقام كسلاسل نصية ("20" كما 20)، بما يطابق ما تقبله السكربتات أصلًا.
حالة المهمة
| رمز الحالة | نص الحالة | الوصف |
|---|---|---|
| 0 | pending | المهمة في انتظار التنفيذ |
| 1 | running | المهمة قيد التنفيذ |
| 2 | completed | تم تنفيذ المهمة بنجاح |
| 3 | failed | فشل تنفيذ المهمة |
الخطوات التالية
- API إدارة المهام - إنشاء والاستعلام وإدارة المهام
- واجهة برمجة التطبيقات لسجل النشاط - تتبع وإدارة سجلات النشاط
- تكوين نص النشر - تكوين معاملات نص النشر
- تكوين نص المتابعة - تكوين معاملات نص المتابعة
- تكوين سكريبت متابعة المقترحين - تكوين معاملات سكريبت متابعة المقترحين
- تكوين نص إلغاء المتابعة - تكوين معاملات نص إلغاء المتابعة
- تكوين نص تسخين الحساب - تكوين معاملات نص تسخين الحساب
- تكوين نص التعليق - نشر تعليق جديد على المنشورات
- تكوين نص Boost Comment - الإعجاب بالتعليقات الموجودة / الرد عليها
- تكوين نص الإعجاب - تكوين معاملات نص الإعجاب
- تكوين نص المشاهدة - مشاهدة المنشورات لمدة محددة
- تكوين نص المفضلة - حفظ المنشورات في المفضلة
- تكوين نص الرسائل - تكوين معاملات نص الرسائل الخاصة
- تكوين نص تسجيل الدخول - تكوين معاملات نص تسجيل الدخول
- تكوين نص الملف الشخصي - تكوين معاملات نص الملف الشخصي
- تكوين نص مطابقة الحسابات - تكوين معاملات نص مطابقة الحسابات
- تكوين نص التسويق الفائق - استيراد مجموعات البيانات وإطلاق حملات التسويق الفائق
- واجهة برمجة تطبيقات TCP Scan - فحص وتوصيل أجهزة Android عبر TCP/IP
- واجهة برمجة تطبيقات حالة الحسابات - الاستعلام عن حالة الحسابات واتصال الجهاز وحالة تسجيل الدخول
- أمثلة API - أمثلة أكواد بلغات مختلفة