حالة فيديو

انشر حالة فيديو (قصة) على واتساب.

POST
https://api.wawp.net/v2/status/video?access_token=YOUR_ACCESS_TOKEN&asNote=false&caption=Watch+this+clip&convert=true&file%5Bfilename%5D=video.mp4&file%5Bmimetype%5D=video%2Fmp4&file%5Burl%5D=https%3A%2F%2Fwawp.net%2Fsamples%2Ffile_example_MP4_480_1_5MG.mp4&instance_id=123456789

تسجيل الدخول مطلوب

سجل الدخول لاستبدال المعرفات (Instance ID) ورمز الوصول (Access Token) بمعلومات حسابك الحقيقي لاختبار ال API مباشرة.

تسجيل الدخول
اختبار /v2/status/video
POST
POST

لا توجد معاملات استعلام مطلوبة

هذه النهاية الطرفية لا تتوقع بيانات في الرابط.

توصيات

  • استخدم الفيديو العمودي (نسبة العرض إلى الارتفاع 9:16) للحصول على أفضل مشاهدة.

  • قم بقص مقاطع الفيديو إلى أكثر 30 ثانية جاذبية.

الحركة والعاطفة: حالة الفيديو

تسمح لك نقطة النهاية /v2/status/video بنشر مقاطع قصيرة وجذابة. الفيديو هو التنسيق الأكثر تفاعلاً على واتساب، وغالباً ما يحقق ثلاثة أضعاف معدل الاحتفاظ مقارنة بالصور الثابتة.


⏱️ حد الـ 30 ثانية الصارم

هذا هو القيد الأكثر حرجاً في بروتوكول حالة واتساب.

  • المدة القصوى: 30 ثانية.
  • السلوك: إذا رفعت فيديو مدته 60 ثانية، فسيقوم واتساب إما بفشل الرفع أو قصه بشكل حاد.
  • أفضل ممارسة: قم دائماً بقص مقاطعك مسبقاً إلى 29.5 ثانية باستخدام ffmpeg قبل إرسالها.

كيف تنشر فيديوهات أطول؟

يجب استخدام استراتيجية "التقطيع" (Slicing). إذا كان لديك مقطع مدته دقيقتان، قم بقطعه إلى أربعة أجزاء مدة كل منها 30 ثانية، وارفعها بالتتابع. سيقوم واتساب بتشغيلها تباعاً لتوفير تجربة تشغيل سلسة.


🎞️ المواصفات التقنية

لضمان التشغيل الفوري وتجنب "عجلة التخمين" (Buffering):

  • الحاوية: MP4 (حصرياً).
  • ترميز الفيديو: H.264 (AVC). لا تستخدم H.265 (HEVC).
  • ترميز الصوت: AAC.
  • الدقة: 720x1280 (720p عمودي) هي النقطة المثالية.
  • معدل البت (Bitrate): حافظ عليه أقل من 2.5 ميجابت في الثانية؛ أي معدل أعلى سيقوم واتساب بضغطه وتدميره.

🔄 علامة convert

تتضمن نقطة النهاية هذه أداة قوية: convert: true.

  • الوظيفة: إذا أرسلت ملف MOV أو AVI أو MKV، ستحاول الواجهة تحويله إلى MP4 متوافق مع واتساب أثناء المعالجة.
  • تحذير: التحويل يستهلك وقتاً من المعالج، مما سيزيد وقت استجابة الواجهة بمقدار 5-10 ثوانٍ.

🎬 استراتيجيات إبداعية

1. "سينيماغراف" (Cinemagraph)

بدلاً من فيديو كامل، انشر حلقة مكررة حيث يتحرك عنصر واحد فقط (مثل بخار يتصاعد من فنجان قهوة). يتميز هذا بجاذبية صورية عالية وحجم ملف صغير جداً.

2. نمط "ملاحظة الفيديو" (asNote)

هناك وضع سري يدعى asNote: true.

  • التأثير: ينسق الفيديو كملاحظة فيديو دائرية فورية. يشعر هذا النمط بأنه أقل "إنتاجية" وأكثر "واقعية".

3. الترجمة ضرورية

80% من المستخدمين يشاهدون حالات واتساب في وضع الصمت.

  • قاعدة: إذا كان الفيديو يعتمد على التعليق الصوتي، يجب عليك حرق الترجمة (Subtitles) داخل الفيديو. إذا لم تفعل، سيتخطى 80% من جمهورك الفيديو فوراً.

البارامترات

قم بتهيئة المعاملات المطلوبة للتفاعل مع نقطة النهاية هذه. جميع وسائط الاستعلام والبيانات مدرجة أدناه مع تفاصيلها.

محتوى الطلب

يرسل كـ JSON
string

WhatsApp Instance ID

مثال:
string

API Access Token

مثال:
string

رابط ملف الفيديو

مثال:
string

اسم الملف

مثال:
string

نوع MIME

مثال:
boolean

تمكين التحويل التلقائي

مثال:
boolean

إرسال كملاحظة فيديو دائرية

مثال:
string

تعليق نصي للفيديو

مثال:

أمثلة الكود

استخدم أمثلة الكود الجاهزة لدمج واجهة برمجة التطبيقات (API) في مشروعك بسرعة وكفاءة. اختر لغة البرمجة والمكتبة التي تفضلها.

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/status/video";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7const body = {
8 "file[url]": "https://wawp.net/samples/file_example_MP4_480_1_5MG.mp4",
9 "file[filename]": "video.mp4",
10 "file[mimetype]": "video/mp4",
11 "convert": "true",
12 "asNote": "false",
13 "caption": "Watch this clip"
14};
15
16fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
17 method: "POST",
18 headers: { "Content-Type": "application/json" },
19 body: JSON.stringify(body)
20})
21 .then(async (response) => {
22 if (response.ok) {
23 const data = await response.json();
24 console.log("Success:", data);
25 return data;
26 }
27
28 // Error Handling
29 if (response.status === 400) {
30 console.error("Error 400: طلب غير صالح - معاملات مطلوبة مفقودة");
31 }
32 if (response.status === 400) {
33 console.error("Error 400: طلب غير صالح (تنسيق XML)");
34 }
35 if (response.status === 400) {
36 console.error("Error 400: طلب غير صالح (نص عادي)");
37 }
38 if (response.status === 401) {
39 console.error("Error 401: غير مصرح - مفتاح الوصول غير صالح أو مفقود");
40 }
41 if (response.status === 401) {
42 console.error("Error 401: غير مصرح (تنسيق XML)");
43 }
44 if (response.status === 404) {
45 console.error("Error 404: غير موجود - الجلسة غير موجودة");
46 }
47 if (response.status === 404) {
48 console.error("Error 404: غير موجود (تنسيق XML)");
49 }
50 if (response.status === 500) {
51 console.error("Error 500: خطأ في الخادم الداخلي - فشل غير متوقع");
52 }
53 if (response.status === 500) {
54 console.error("Error 500: خطأ في الخادم الداخلي (HTML)");
55 }
56 if (response.status === 502) {
57 console.error("Error 502: بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي");
58 }
59 if (response.status === 502) {
60 console.error("Error 502: بوابة غير صالحة (تنسيق XML)");
61 }
62
63 const errorText = await response.text();
64 console.error(`Error ${response.status}: ${errorText}`);
65 })
66 .catch((error) => console.error("Network Error:", error));
عينات تفاعلية
Ln 66, Col 1javascript

الردود المتوقعة

استكشف كافة الردود والنتائج المحتملة من الخادم. قمنا بتوثيق كل كود حالة (Status Code) مع أمثلة للبيانات لتسهيل معالجة الأخطاء والنجاح.

ناجح - تم إكمال الطلب بنجاح
النوع:
application/json
boolean *
string *

Example

{
"success": true,
"message": "Operation completed successfully"
}
طلب غير صالح - معاملات مطلوبة مفقودة
غير مصرح - مفتاح الوصول غير صالح أو مفقود
غير موجود - الجلسة غير موجودة
خطأ في الخادم الداخلي - فشل غير متوقع
بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي
الموضوع السابقحالة صوتية
الموضوع التاليالحصول على معرف حالة جديد

Command Palette

Search for a command to run...