تستخدم الأرقام الصيغة الدولية (8–15 رقمًا) مع علامة + اختيارية. تتطلب واجهات JSON نوع application/json؛ ويستخدم إرسال الوسائط multipart/form-data ويدعم JPEG وPNG وWebP وMP4 حتى 10 ميجابايت.
الحدود: 60 طلبًا في الدقيقة لكل مفتاح API (أو لكل عنوان IP دون مفتاح). إصدار رمز التحقق محدود أيضًا بخمسة طلبات لكل رقم خلال عشر دقائق و30 طلبًا لكل جهاز خلال ساعة. تستهلك رسائل الحملة الحصة عند إرسالها لكل مستلم.
حالات الرسالة هي pending وaccepted وsent وdelivered وread وfailed وunknown. قد يتجاوز المزوّد الحالات الوسيطة ولا تعود الحالة إلى الوراء. قد تصل الرسالة حتى إن كانت النتيجة غير معروفة.
استخدم Idempotency-Key للإرسال وإصدار الرمز والحملات والمحادثة. تكرار الحمولة نفسها يعيد النتيجة الأصلية لمدة 24 ساعة. الحمولة المختلفة أو الطلب قيد التنفيذ يعيدان 409. قد يعني انتهاء المهلة قبول المزوّد للإرسال، فلا تعاود تلقائيًا بمفتاح جديد.
رمز التحقق مرتبط بالجهاز والرقم، صالح لخمس دقائق ولمرة واحدة، مع خمس محاولات تحقق كحد أقصى. لا يسجّل الدخول إلى SmarticBot.
ويب هوكس العملاء
متاحة لخطط الهواتف المدفوعة. فعّل عنوان الويب هوك في إعدادات الهاتف، ثم أنشئ سر التوقيع من وصول المطورين. تتضمن الطلبات معرّف الحدث والطابع الزمني وإصدار المفتاح والتوقيع. تحقق من HMAC-SHA256 على الطابع الزمني ثم نقطة ثم نص JSON الأصلي. أزل التكرار باستخدام معرّف الحدث. تحتفظ المحاولات المتكررة بنفس الحمولة والإصدار.
تشمل الأحداث device_status_updated وmessage_status_updated. طلبات المزوّد خاصة؛ ولا توجد واجهة عامة لتحديث الحالة.
الاستجابات والحدود والانتقال
تحتوي استجابة النجاح على success=true وكائن data، ويحتوي الخطأ على success=false مع code وmessage وdetails. التحقق 422؛ المفاتيح الخاطئة 401؛ نفاد رصيد المساعد 402؛ الخطط غير الفعالة 403؛ انقطاع الجهاز أو تضارب التكرار 409؛ حدود المعدل أو الحصة 429؛ رفض المزوّد 502؛ النتائج غير المؤكدة 503.
تُقبل المفاتيح القديمة المرتبطة بهوية المزوّد لمدة لا تتجاوز 30 يومًا بعد الترحيل، ويمكن إلغاؤها مبكرًا. أنشئ مفاتيح عامة منفصلة الآن. أزيلت واجهات تحديث حالة الجهاز والرسالة العامة. المستلمون الآن مصفوفة JSON ووقت الحملة يتطلب منطقة زمنية. لا يُستخدم request_id.
فحص الحالة التشغيلية متاح منفصلًا على /api/health؛ وليس واجهة v1 موثقة بمفتاح العميل.
لكل مساعد مفتاح API خاص به. يحدد المفتاح في x-api-key المساعد. أعد استخدام session_id للمتابعة؛ تُرسل آخر 10 جولات ناجحة لهذا المساعد وهذه الجلسة خلال 30 يومًا كسياق. استخدم قيمة جديدة لمحادثة جديدة، وأرسل طلبات الجلسة الواحدة بالتسلسل. يستهلك السياق السابق رموز إدخال وقد يزيد الرصيد المستخدم. لا يمكن استخدام مفتاح الهاتف مع هذه الواجهة.
حقول الطلب
الحقل
النوع
مطلوب
session_id
string · max 128
نعم
message
string · max 4096
نعم
حالات HTTP المحتملة
200401402403409422503
حقول بيانات الاستجابة
الحقل
النوع
مطلوب
reply
string
نعم
tokens
integer
نعم
credits_used
integer
نعم
الطلب
curl -X POST https://smarticbot.com/api/v1/chat \
-H 'x-api-key: YOUR_PUBLIC_ASSISTANT_KEY' \
-H 'Content-Type: application/json' \
-d '{
"session_id": "customer-42",
"message": "What are your opening hours?"
}'
استجابة النجاح
{
"success": true,
"data": {
"reply": "We are open 9–5.",
"tokens": 120,
"credits_used": 2
}
}