المطورون / الوكلاء
بدء جلسة مباشرة مع وكيل
https://api.echonova.ai/v1/agents/{agentId}/sessionsتبدأ جلسة صوتية أو نصية، كما يفعل زر الاختبار في البوابة، وتعيد رمز الغرفة وعنوانها. يُرسل الرمز في هذه الإجابة فقط: انضم به إلى الغرفة من عميلك، وأنهِ الجلسة عبر `POST /v1/agents/{agentId}/sessions/{sessionId}/end`. تستهلك الجلسة أرصدة مساحة العمل، ولا تُحتسب على حد الرصيد لهذا المفتاح، وتنطبق حدود المحادثات والمكالمات الخاصة بالوكيل. إعادة محاولة البدء تفتح جلسة ثانية. يحتاج المفتاح إلى النطاق `agents:talk`.
Headers
كلمة Bearer ثم مسافة ثم مفتاح API الذي يبدأ بـ ek_. أنشئ المفاتيح في البوابة من المطورون، ثم مفاتيح واجهة برمجة التطبيقات.
معاملات المسار
معرّف الوكيل كما أعادته `GET /v1/agents`.
متن الطلب
application/json
`voice` يفتح غرفة تنضم إليها بالرمز المُعاد، و`chat` يفتح جلسة نصية. الافتراضي `voice`.
الاستجابة
200 application/json كل استجابة تستخدم هذا الغلاف.
النتيجة.
معرّف الجلسة، وهو معرّف المحادثة أيضًا بعد انتهائها.
معرّف الوكيل.
`voice` للغرفة التي تتحدث فيها، و`chat` للجلسة النصية.
`active` ما دامت مفتوحة؛ و`ended` بعد أن تنهيها أو تنتهي؛ و`failed` أو `out_of_credits` إذا توقفت مبكرًا.
وقت البدء، بصيغة ISO 8601 للتاريخ والوقت.
وقت الانتهاء؛ يكون `null` ما دامت الجلسة مفتوحة.
رمز الغرفة. يُرسل مرة واحدة هنا ولا يُعاد أبدًا: احفظه سرًا، وسلّمه فقط للعميل الذي ينضم.
عنوان الغرفة الذي يتصل به العميل بالرمز.
أول رسالة للوكيل في الجلسة النصية، لتُعرض قبل أن يتكلم الوكيل؛ وتكون `null` في الجلسة الصوتية.
قيمته true عند نجاح الطلب.
يكرر رمز حالة HTTP.
قيمته null عند النجاح.
الأخطاء
الغلاف نفسه، مع success بقيمة false و data بقيمة null. كل الأخطاء
متى يحدث. قيمة `agentId` أو `sessionId` ليست معرّفًا سداسي عشريًا من 24 حرفًا.
الحل. استخدم المعرّف كما أعادته `GET /v1/agents` تمامًا.
متى يحدث. أُرسل `channel` وليس `voice` ولا `chat`.
الحل. أرسل `voice` أو `chat`، أو اترك `channel` فارغًا لجلسة صوتية.
متى يحدث. الجسم أو معاملات الاستعلام تحمل حقلًا لا تعرّفه نقطة النهاية.
الحل. احذف الحقل.
متى يحدث. header `Authorization` مفقود، أو قيمته لا تبدأ بـ `Bearer ek_...`، أو أن الرمز لا يطابق أي مفتاح، أو أن المفتاح محذوف أو معطّل، أو أن حسابه مغلق.
الحل. أرسل `Authorization: Bearer ek_...` بمفتاح API مفعّل من هذه البيئة.
متى يحدث. لا يبقى في مساحة العمل رصيد لبدء جلسة صوتية؛ ولم يُخصم شيء.
الحل. أضف أرصدة إلى مساحة العمل.
متى يحدث. لا يبقى في مساحة العمل رصيد لبدء جلسة نصية؛ ولم يُخصم شيء.
الحل. أضف أرصدة إلى مساحة العمل.
متى يحدث. مساحة العمل في فترة تجريبية واستُنفد رصيد الذكاء الاصطناعي التجريبي؛ لم يعمل شيء ولم يُخصم شيء.
الحل. رقّ الخطة.
متى يحدث. مساحة العمل المالكة للمفتاح ليس لها اشتراك.
الحل. راجع خطة مساحة العمل في البوابة.
متى يحدث. حالة الاشتراك ليست نشطة أو تجريبية.
الحل. جدّد الاشتراك.
متى يحدث. لا يملك المفتاح النطاق `agents:talk`.
الحل. عدّل المفتاح وامنحه النطاق `agents:talk`، أو استخدم مفتاحًا آخر.
متى يحدث. غادر العضو الذي أنشأ المفتاح مساحة العمل، أو لم يعد يملك صلاحيتي عرض الوكلاء وإدارة واجهة المطورين البرمجية معًا. يُفحص ذلك في كل طلب.
الحل. امنح ذلك العضو الصلاحيتين من جديد، أو أنشئ المفتاح بعضو يملكهما.
متى يحدث. مساحة العمل مغلقة؛ لم يعمل شيء ولم يُخصم شيء.
الحل. تواصل مع الدعم لإعادة فتح مساحة العمل.
متى يحدث. انتهى الاشتراك ولم يبقَ رصيد مشترى؛ لم يعمل شيء ولم يُخصم شيء.
الحل. جدّد الاشتراك أو اشترِ أرصدة.
متى يحدث. معرّف الوكيل غير معروف، أو أن الوكيل يخص مساحة عمل أخرى.
الحل. استخدم معرّفًا من `GET /v1/agents` بمفتاح من مساحة عمل الوكيل.
متى يحدث. الوكيل مؤرشف.
الحل. استعده بـ `POST /v1/agents/{agentId}/restore`، ثم ابدأ الجلسة.
متى يحدث. عند بدء جلسة صوتية، وجد الوكيل أنه بلغ أكبر عدد من المكالمات المفتوحة يسمح به، أو أن خطة مساحة العمل بلغت أكبر عدد من المكالمات المفتوحة معًا تسمح به، أو أن الوكيل بلغ أكبر عدد من المكالمات اليوم يسمح به.
الحل. حاول مرة أخرى لاحقًا.
متى يحدث. بلغ الوكيل عدد المحادثات المفتوحة الذي يسمح به، أو بلغت خطة مساحة العمل عدد المحادثات المفتوحة في وقت واحد الذي تسمح به، أو بلغ الوكيل عدد المحادثات اليوم الذي يسمح به.
الحل. حاول مرة أخرى لاحقًا.
متى يحدث. جسم JSON أكبر من 100 كيلوبايت؛ يُرفض الطلب قبل فحص مفتاح API، فلا يحصل على صف في النشاط.
الحل. أرسل جسمًا أصغر؛ النص الطويل مكانه عدة طلبات.
متى يحدث. للطلب جسم، و`Content-Type` ليس application/json.
الحل. أرسل `Content-Type: application/json`.
متى يحدث. أرسل المفتاح أكثر من 10 طلبات إلى نقطة النهاية هذه خلال 60 ثانية؛ وترويسة `Retry-After` تحمل عدد الثواني للانتظار.
الحل. انتظر عدد ثواني `Retry-After`، ثم أعد المحاولة.
متى يحدث. خطأ لم تصنّفه الواجهة.
الحل. راجع الطلب، ثم أعد المحاولة بعد انتظار قصير، وتواصل مع الدعم إن استمر الخطأ.
متى يحدث. لم يقبل وقت تشغيل الوكيل الجلسة، ولا تبقى جلسة مفتوحة.
الحل. حاول مرة أخرى لاحقًا.
متى يحدث. انقطاع مؤقت داخل الواجهة.
الحل. أعد المحاولة بعد انتظار قصير.
متى يحدث. انتهاء مهلة مؤقت داخل الواجهة.
الحل. أعد المحاولة بعد انتظار قصير.
curl -X POST "https://api.echonova.ai/v1/agents/{agentId}/sessions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'{
"data": {
"id": "6651a1b2c3d4e5f6a7b8c9d0",
"agentId": "6650a1b2c3d4e5f6a7b8c9d0",
"channel": "voice",
"status": "active",
"startedAt": "2026-11-07T10:00:00.000Z",
"endedAt": null,
"token": "eyJhbGciOi...",
"wsUrl": "wss://rooms.echonova.ai",
"greeting": "Hello! How can I help?"
},
"success": true,
"statusCode": 200,
"errorMessage": null
}