مرجع API · التشخيص
فحص توقيعك
POST
/v1/diagnostics/signatureالفحص الذاتي للتوقيع: يمرّر استدعاءك عبر كل فحوص أنيس ويعرض بالضبط ما رأته أنيس — الطريقة والعنوان والمسار والاستعلام التي وقّعت عليها، والمفتاح الذي وجدته، والصلاحيات السارية. لا يغيّر شيئًا. يرسل {} بالضبط.
الصلاحية
diagnostics:useالمصادقةتغيير موقَّع
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات
حزمة SDK لـ .NET
anis.Diagnostics.CheckSignatureAsync()- هو الاستدعاء الأول الصحيح حين لا يُتحقق من توقيع.
الاستدعاء
موقَّع بمفتاحك، مع رقم استخدام لمرة واحدة (nonce) وبصمة للمحتوى.
الترويسات: Signature-Input، Signature، Content-Digest، Nonce، X-Anis-Date. تضبطها حزم SDK كلها نيابةً عنك.
المحتوى: البايتان {} بالضبط — لا شيء غيرهما.
الردود
| الحالة | المعنى | المحتوى |
|---|---|---|
| 200 | نجاح. | SignatureDiagnostic |
| 401 | مرفوض: لم تتم المصادقة. | مشكلة |
| 403 | مرفوض: غير مسموح. | مشكلة |
| 409 | مرفوض: يتعارض مع الحالة الحالية. | مشكلة |
| 422 | مرفوض: الاستدعاء يخالف قاعدة. | مشكلة |
| 429 | مرفوض: بلغتَ حدًا. | مشكلة |
كل ردّ موقَّع من أنيس؛ وتتحقق منه حزم SDK قبل أن يصلك.
حالات الرفض
كل رفض مشكلةٌ موقَّعة. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.
| الخطأ | الرمز | الحالة |
|---|---|---|
| بيانات اعتماد غير صالحة | invalid_credentials | 401 |
| صلاحية غير كافية | insufficient_scope | 403 |
| عنوان المصدر غير مسموح | source_ip_not_allowed | 403 |
| تجاوزت حدّ الاستدعاءات | rate_limited | 429 |
| اكتُشف تكرار | replay_detected | 409 |
| فشل التحقق | validation_failed | 422 |
| خطأ داخلي | internal_error | 500 |
| انتهت مهلة الاستدعاء | request_timeout | 504 |
الأنواع
SignatureDiagnostic
| الحقل | النوع | ملاحظات |
|---|---|---|
routeIdموجود دائمًا | string | المسار الذي طابقت أنيس استدعاءك معه. |
methodموجود دائمًا | string | الطريقة (method) كما رأتها أنيس. |
authorityموجود دائمًا | string | المضيف (والمنفذ إن لم يكن الافتراضي) كما رأته أنيس — بأحرف صغيرة. |
pathموجود دائمًا | string | المسار كما رأته أنيس. |
canonicalQueryموجود دائمًا | string | الاستعلام كما رأته أنيس، دون علامة ? في أوله. |
requestKindموجود دائمًا | string | كيف تتوقع أنيس أن يُوقَّع هذا المسار. القيم: safeRead, bodylessNonceMutation, orderMutation, enrollmentToken, public |
requiredScopeموجود دائمًا | string | الصلاحية التي يحتاجها هذا المسار. |
coveredComponentsموجود دائمًا | list of string | الأجزاء الموقَّعة التي يتطلبها هذا المسار، بالترتيب. |
keyIdموجود دائمًا | UUID | معرّف المفتاح الذي وجدت أنيس توقيعك تحته. |
partnerIdموجود دائمًا | UUID | الشريك الذي يتبع له ذلك المفتاح. |
applicationIdموجود دائمًا | UUID | التطبيق الذي يتبع له ذلك المفتاح. |
policyVersionموجود دائمًا | integer | إصدار صلاحيات تطبيقك الذي طُبِّق. يزيد كلما غيّرها موظفو أنيس. |
effectiveScopesموجود دائمًا | list of string | الصلاحيات السارية على هذا الاستدعاء. |
receivedAtموجود دائمًا | string (date-time) | وقت تلقّي أنيس للاستدعاء. |