حالة نصية

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

POST
https://api.wawp.net/v2/status/text?access_token=YOUR_ACCESS_TOKEN&backgroundColor=%2338b42f&contacts=null&font=0&instance_id=123456789&linkPreview=true&linkPreviewHighQuality=false&text=Have+a+look%21+https%3A%2F%2Fgithub.com%2F

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

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

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

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

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

توصيات

  • استخدم هذا للإعلانات القصيرة (مثل، 'نحن مفتوحون!').

  • اجعل النص قصيرًا ومقروءًا.

فن الحالة النصية

تسمح لك نقطة النهاية /v2/status/text بنشر تحديثات نصية ملونة تمثل حوالي 40% من إجمالي التفاعل مع الحالات على واتساب. على عكس حالات الوسائط، يتم عرض الحالات النصية محلياً على جهاز المستخدم، مما يضمن خطوطاً واضحة وتحميلاً فورياً حتى على الشبكات الضعيفة.


🎨 التنسيق والجماليات

ألوان الخلفية (backgroundColor)

يجب تقديم كود لون سداسي عشري (Hex). ومع ذلك، لا يدعم واتساب كل كود عشوائي.

  • أفضل ممارسة: التزم بلوحة ألوان واتساب الرسمية أو ألوان التصميم المادي (Material Design) الآمنة.
  • قاعدة "الوضع الداكن": تجنب الخلفيات البيضاء النقية (#FFFFFF) أو السوداء النقية (#000000) لأنها ترهق العين. استخدم نغمات هادئة مثل الأخضر (#38b42f) أو التيل (#008069) أو الأرجواني (#6f4c9c).
  • التباين: النص دائماً باللون الأبيض. تأكد من أن خلفيتك توفر تبايناً جيداً.

الخطوط (font)

يوفر واتساب 5 أنواع خطوط مدمجة:

  • 0: Monitor (Sans Serif قياسي) - نظيف واحترافي.
  • 1: Script (متصل) - جيد للرسائل الشخصية والتحيات.
  • 2: Bold (نمط Impact) - جيد للعناوين العريضة أو التنزيلات.
  • 3: Typewriter (Monospace) - جيد للأكواد التقنية.
  • 4: Norican (مزخرف) - مشابه للخط المتصل ولكنه أعرض.

🔗 قوة معاينات الروابط

هذه هي الميزة الأقوى في الحالة النصية. إذا قمت بتضمين رابط URL في نص الحالة، فلديك خياران:

1. رابط بسيط

  • النتيجة: الرابط قابل للنقر، لكنه يظهر كنص عادي.
  • معدل النقر (CTR): منخفض (~2-3%).

2. معاينة غنية (linkPreview: true)

  • النتيجة: تقوم الواجهة بجلب معلومات OpenGraph من الموقع المستهدف.
    • الصورة: تعرض الصورة البارزة للموقع.
    • العنوان: يظهر عنوان الصفحة بخط عريض.
    • الوصف: يظهر الوصف التعريفي (Meta Description).
  • معدل النقر (CTR): مرتفع (~15-20%).

⚠️ القيود المعروفة

حد الحروف

على الرغم من أن الحد النظري مرتفع، إلا أن واتساب يقتطع الحالات الطويلة جداً.

  • منطقة الأمان: حافظ على نصك أقل من 700 حرف.
  • الاقتطاع: إذا كتبت نصاً طويلاً جداً، سيرى المستخدمون زر "قراءة المزيد"، مما قد يقلل من جاذبية القصة.

معاينة الرابط "الشبح"

أحياناً، حتى مع تفعيل المعاينة، لا تظهر.

  • السبب: الموقع الهدف بطيء (>5 ثوانٍ) أو يفتقر إلى وسوم og:image.
  • التراجع: ستراجع الواجهة تلقائياً إلى رابط نصي عادي إذا فشل إنشاء المعاينة.

البارامترات

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

محتوى الطلب

يرسل كـ JSON
string

WhatsApp Instance ID

مثال:
string

API Access Token

مثال:
string

المحتوى النصي للحالة

مثال:
string

لون الخلفية بتنسيق #RRGGBB

مثال:
number

معرف الخط (0-5 غالباً)

مثال:
boolean

تمكين معاينة الرابط

مثال:
boolean

معاينة رابط عالية الجودة

مثال:
string

جهات اتصال اختيارية للإشارة إليها

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/status/text";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7const body = {
8 "text": "Have a look! https://github.com/",
9 "backgroundColor": "#38b42f",
10 "font": "0",
11 "linkPreview": "true",
12 "linkPreviewHighQuality": "false",
13 "contacts": "null"
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...