عنوان URL الأساسي
https://api.flowella.io/v1/messages.
كانت واجهة API سابقًا على مضيف التطبيق عند
https://app.flowella.io/api/v1/.... تُعاد توجيه الطلبات إلى هذا المسار القديم بشكل دائم (308) إلى https://api.flowella.io/v1/...، مع الحفاظ على الطريقة والجسم — لذا تستمر عمليات الدمج القائمة في العمل. حدّث عنوان URL الأساسي عندما تتمكن من ذلك لتفادي القفزة الإضافية.المصادقة
يحتاج كل طلب إلى مفتاح API في رأسAuthorization
:
إنشاء مفتاح
تحتاج إلى دور المالك أو المسؤول لإدارة مفاتيح API.- انتقل إلى الإعدادات → مفاتيح API في تطبيق Flowella .
- انقر على إنشاء مفتاح وأعطه اسمًا يسهل تذكره.
- انسخ المفتاح مرة واحدة — فهو يظهر فقط عند إنشائه.
التحقق من المفتاح
اضغط على نقطة نهاية ping لتأكيد صحة المفتاح:200 OK
مع{ "ok": true, "organizationId": "…" }
أنك قد تمت مصادقتك.
الأخطاء
تظهر جميع الأخطاء في غلاف ثابت:
حقل
error.code
ثابت وآمن للتشغيل برمجياً. أماerror.message
فهو قابل للقراءة البشرية وقد يتغير.
حدود المعدل
مفاتيح API محدودة السرعة لكل مؤسسة. إذا تجاوزت الحد، فستحصل على خطأ “429
” مع الرمز “RATE_LIMITED
” والرسالة “Too many requests
”. عند وجود رأس الاستجابة Retry-After، فإنه يخبرك بعدد الثواني التي يجب انتظارها. تراجع وحاول مرة أخرى مع تأخير أسي.
إذا كنت تقوم بإرسال كميات كبيرة، فافضل **POST /v1/templates/send
** مع المعلمة “throttlePerHour
” — حيث يفرض “Flowella
” التقييد من جانب الخادم، لذا لا تحتاج إلى تنظيم الطلبات بنفسك.
مفاتيح idempotency
عمليات الإرسال الجماعي للقوالب غير متزامنة. تتحققPOST /v1/templates/send من صحة الطلب، وتضعه في قائمة انتظار دائمة، وتعيد 202 Accepted فورًا:
Idempotency-Key
(حتى 200 حرف) يحدد كل دفعة بشكل فريد:
id
المهمة الأصلية بدلاً من إنشاء إرسال جديد. يمكنك إعادة محاولة الطلب بأمان بعد انتهاء المهلة أو حدوث خطأ في الشبكة دون مراسلة أي شخص مرتين.
إذا حذفت الرأس، فسيشتق Flowella
مفتاحًا من نص الطلب. وبالتالي، فإن الدفعة المتطابقة المُرسلة مرتين في تتابع سريع لا يتم إرسالها مرتين. ومع ذلك، يظل المفتاح الصريح أكثر أمانًا، لأن أي تغيير في النص (حتى إعادة ترتيب المستلمين) ينتج مفتاحًا مشتقًا جديدًا.
ترقيم الصفحات
تستخدم نقاط نهاية القائمة (/conversations
،/contacts
،/templates
) ترقيم الصفحات بالمؤشر:
- مرر
limit(1–100، الافتراضي 25) وcursorاختياري. - تحتوي الاستجابة على
items، وعندما يكون هناك المزيد من النتائج،nextCursor. - مرر
nextCursorمرة أخرى كمعلمةcursorلجلب الصفحة التالية. - عندما يكون
nextCursorمفقودًا، فهذا يعني أنك وصلت إلى النهاية.
التاريخ والوقت
جميع الطوابع الزمنية هي سلاسل ISO 8601 بتوقيت UTC (على سبيل المثال2025-01-15T14:30:00.000Z
). عندما تقبل واجهة برمجة التطبيقات (API) التواريخ، يتم تحويل كل من التواريخ فقط (2025-01-15
) و ISO 8601 الكاملة إلى صيغة محددة من جانب الخادم.
أرقام الهواتف
قم بتمرير أرقام الهواتف بتنسيق E.164 (+15551234567
) حيثما أمكن ذلك. سيقوم Flowella
بتوحيد الاختلافات الشائعة من جانب الخادم، ولكن تنسيق E.164 هو الأكثر أمانًا.
القنوات
تقبل العديد من نقاط النهاية معرف القناة (whatsappChannelId
). إذا كان لدى مؤسستك قناة واحدة وقمت بحذفها، فسيستخدم Flowella
قناتك الافتراضية. إذا كان لديك عدة قنوات، فقم بتمرير المعرف بشكل صريح لتجنب الإرسال من المرسل الخاطئ.
للاطلاع على نمط URL الكامل وتبديل القنوات، انظر القنوات المتعددة.

