الأخطاء والحدود
رموز الحالة، وحدود المعدّل، والحصة الشهرية لطلبات التوقيع في كل خطة.
استجابات الأخطاء
تستخدم الأخطاء رموز حالة HTTP المعتادة مع جسم JSON يصف المشكلة. وإلى جانب الرسالة
المقروءة message، يحمل معظمها رمزًا ثابتًا code — اعتمد على code في التفريع، لا
على نص الرسالة:
| الحالة | code | متى تحدث |
|---|---|---|
400 | invalid_values | قيمة مُرسَلة مفقودة أو بصيغة خاطئة. ويسمّي details كل مفتاح مخالف في values. |
400 | — | فشل جسم الطلب في التحقّق — دور مفقود، أو بريد إلكتروني بصيغة خاطئة. وتسرد الرسالة ما ينبغي إصلاحه. |
401 | — | لا يوجد مفتاح واجهة، أو المفتاح غير معروف أو مُبطَل أو منتهي الصلاحية. |
403 | plan_missing_feature | خطة مساحة العمل لم تعد تشمل التوقيع الإلكتروني. |
403 | key_creator_left_organization | غادر منشئ المفتاح مساحة العمل. أنشئ مفتاحًا بديلًا — راجع المصادقة. |
403 | limit_reached | استُنفدت الحصة الشهرية لطلبات التوقيع. ويحمل resource وlimit وused. |
404 | — | معرّف غير معروف، أو قالب موجود لكنه غير منشور. |
429 | — | تجاوز حدّ المعدّل. |
الخطأ 400 الناتج عن خريطة values خاطئة يخبرك بالضبط أي مفتاح تصلحه — إذ تقتبس
الرسالة التسمية المقروءة التي يعرضها القالب، ويعطي details المفتاح الذي يستخدمه
جسم طلبك:
{
"statusCode": 400,
"error": "Bad Request",
"message": "\"Client Name\" is required",
"code": "invalid_values",
"details": [{ "key": "client_name", "label": "Client Name", "reason": "is required" }]
}حدّ المعدّل
يسري حدّان، ويُطبَّق الأضيق منهما:
- 120 طلبًا في الدقيقة لكل عنوان IP — يتقاسمه كل ما يتصل من ذلك العنوان، بما في ذلك بقية حركة الشبكة لديك.
- 600 طلب في الدقيقة لكل مفتاح واجهة — ميزانية تكاملك وحده.
ويُبلَّغ عن كليهما عبر الترويسات x-ratelimit-limit وx-ratelimit-remaining
وx-ratelimit-reset (الثواني المتبقية حتى تُجدَّد النافذة)، كما يحمل الرد 429 ترويسة
retry-after. وإن كنت تستطلع حالة عدد كبير من طلبات التوقيع، فوزّع الاستطلاعات بدل
إرسالها دفعةً واحدة — أو اسردها في نداء واحد عبر
GET /esign/submissions.
الحصة الشهرية لطلبات التوقيع
إرسال طلب توقيع — من التطبيق أو عبر الواجهة — يُحتسَب من الحصة الشهرية لمساحة عملك، وهي تُجدَّد في بداية كل شهر ميلادي (بتوقيت UTC):
| الخطة | طلبات التوقيع / الشهر |
|---|---|
| المبتدئة | 1 |
| الاحترافية | 10 |
| ماكس | 25 |
| فريق قياسية | 50 (لمساحة العمل كاملة) |
| فريق مميّزة | 100 (لمساحة العمل كاملة) |
| المؤسسات | غير محدودة |
وحين تُستنفَد الحصة، يعيد POST /esign/submissions رمز 403 مع code: limit_reached
(والرسالة limit_reached:signatureRequests)، حاملًا الحد limit والمقدار المستهلك
used. أما سرد القوالب واستطلاع الحالة وقراءة الاستهلاك وتنزيل المستندات الموقّعة فلا
تُحتسَب أبدًا، والطلب المعاد بمفتاح idempotencyKey مستخدَم سابقًا لا يُحتسَب مرة أخرى.
وبدل أن تكتشف السقف عبر إرسال فاشل، اقرأ
GET /esign/usage قبل أي دفعة.
توليد مستند مملوء دون إرساله للتوقيع (وهو متاح في التطبيق) لا يُحتسَب من الحصة كذلك — فطلبات التوقيع وحدها هي التي تُحتسَب.

