نظرة عامة
تتيح Buluthat API دمج برامجكم الحالية (CRM وERP والتجارة الإلكترونية ومكتب الدعم) مع سنترالكم السحابي: النقر للاتصال، التحكم بالمكالمات، إدارة الطوابير، القائمة السوداء، الملفات الصوتية، حملات الاتصال الآلي، مهام المساعد الصوتي، ورمز التحقق الصوتي.
كل نقاط النهاية على HTTP عادي؛ والردود JSON. تُستخدم من أي لغة بعميل HTTP.
العنوان الأساسي: https://api.buluthat.com/api/
المصادقة
كل نقاط النهاية متشابهة مفتاح API الخاص بك يستخدم. المفتاح في اللوحة الحساب والدعم > مفاتيح API من الصفحة، ينشئه مفوّض الحساب؛ bt_ يبدأ بـ ولا يظهر إلا مرة واحدة لحظة إنشائه.
يُرسَل المفتاح في كل طلب ضمن الترويسة:
Authorization: Bearer bt_xxxxxxxx
Authorization إذا تعذّر ضبط الترويسة X-Api-Key: bt_xxxxxxxx تُقبل أيضًا. المفتاح في الرابط (?key=) الإرسال مغلق في المفاتيح الجديدة.
كل مفتاح مرتبط بحساب عميل واحد ولا يصل إلا إلى بيانات ذلك الحساب. في المفتاح النطاق معرَّف:
| النطاق | نقاط النهاية |
|---|---|
call | إدارة المكالمات والطوابير وحالات الموظفين |
autocall | الاتصال الآلي (ويفتح أيضًا نقاط نهاية المساعد الصوتي وOTP الصوتي والمكالمات للتوافق مع التكاملات القديمة) |
voicebot | المساعد الصوتي |
voice_otp | رمز التحقق الصوتي |
sms | SMS API |
طلب خارج النطاق 403 scope_denied، وحدة مغلقة في حسابك 403 module_disabled يعود. للمفتاح قائمة IP المسموحة, تاريخ الانتهاء و توقيع الطلب HMAC الإلزامي يمكن تعريفها؛ كلها أمان API في الصفحة.
لا تستخدم مفتاحك في جانب المتصفح (JavaScript)؛ استدعِ دائمًا من خادمك. وإن ظننت أنه تسرّب فاختر من اللوحة "تجديد المفتاح > إغلاق القديم فورًا" ليصبح القديم غير صالح فورًا.
صيغة الطلب
- عمليات القراءة
GET، العمليات التي تغيّرPOST(في الملفات الصوتيةPUT/DELETE). - محتوى POST
application/jsonأوapplication/x-www-form-urlencodedقد يكون. - الإجراء في نقاط نهاية التكامل
actionيُختار بمعلمة (?action=create_campaign). - الطوابع الزمنية بتوقيت تركيا (
2026-09-18 10:12:03). - أرقام الهواتف
05xxxxxxxxx,5xxxxxxxxxأو905xxxxxxxxxتُقبل بالصيغة؛ وتعود في الردود موحّدة.
صيغة الرد
تُرجع نقاط نهاية التكامل (autocall وvoicebot وvoice_otp) دائمًا غلافًا:
{ "ok": true, "data": { } }
{ "ok": false, "error": "Kampanya bulunamadı.", "code": "campaign_not_found" }
تتحدث نقاط نهاية السنترال (begin_call وqueues وblocked_numbers…) برمز حالة HTTP: عند النجاح 200 OK والنتيجة في المحتوى (مصفوفة JSON أو نص عادي)، وعند الخطأ 4xx ورسالة الخطأ بالتركية في المحتوى.
رموز الأخطاء
| HTTP | code | المعنى |
|---|---|---|
| 400 | validation_failed | فشل التحقق من الحقل؛ توضح الرسالة السبب |
| 401 | missing_token / invalid_token / token_expired | المفتاح غير موجود أو غير صالح أو منتهي الصلاحية |
| 401 | query_key_disabled / signature_* | جاء المفتاح في الرابط أو تعذّر التحقق من التوقيع (أمان API) |
| 403 | module_disabled / scope_denied / ip_not_allowed | الوحدة مغلقة أو النطاق غير كافٍ أو عنوان IP غير مسموح |
| 404 | *_not_found | لا يوجد سجل أو أنه يخص عميلًا آخر |
| 405 | method_not_allowed | وصل GET إلى عملية تتطلب POST |
| 422 | (خاص بكل نقطة نهاية) | رفض بقاعدة عمل: حصة أو مدة أو عدم وجود خط وغير ذلك. |
| 413 | payload_too_large | محتوى الطلب يتجاوز 5 ميغابايت |
| 429 | rate_limited / ip_locked | تجاوز حد المعدل أو أن عنوان IP مقفل مؤقتًا بسبب كثرة المحاولات الخاطئة |
| 503 | db_unavailable | مشكلة مؤقتة في الخدمة؛ أعيدوا المحاولة بعد قليل |
حدود المعدل
| الحد | الافتراضي |
|---|---|
| لكل مفتاح | 120 طلبًا في الدقيقة (يمكن خفضها من إعدادات المفتاح) |
| مجموع جميع مفاتيح الحساب | 600 طلبًا في الدقيقة |
| حالات الموظفين | وأيضًا 2 طلبًا في الدقيقة (فضّلوا Webhook للحالة المباشرة) |
الاتصال الآلي add_leads | 5.000 سجلًا في الطلب الواحد |
في الردود X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset تأتي الترويسات. عند التجاوز 429 Too Many Requests و Retry-After تعود الترويسة. وفي كل رد X-Request-Id شاركوا القيمة في طلبات الدعم.
بيئة الاختبار
لا توجد بيئة sandbox منفصلة؛ جرّبوا برقم داخلي للاختبار وحملة صغيرة في حسابكم. حملات الاتصال الآلي status: "draft" تنشئونه بـ و results/summary يمكنكم استدعاء نقاط النهاية دون وصول بيانات. وفي رمز التحقق الصوتي أرسلوا إلى رقمكم الخاص؛ ويجري الاحتساب وفق قواعد باقتكم.
الإصدارات والتغييرات
تبقى نقاط النهاية متوافقة مع الإصدارات السابقة؛ تُضاف حقول جديدة، ولا يتغير اسم الحقول الحالية ولا نوعها. وأي حقل سيُزال يُعلَن عنه في اللوحة وفي هذه الصفحة قبل 90 أيام على الأقل.
مساعدة
إن تعثرتم أثناء التكامل ففي مركز الدعم داخل اللوحة افتحوا سجلًا بموضوع "التكامل / API"؛ وأرفقوا مثال الطلب/الرد لننظر معًا.
