مرجع API · التشخيص

فحص توقيعك

POST/v1/diagnostics/signature

الفحص الذاتي للتوقيع: يمرّر استدعاءك عبر كل فحوص أنيس ويعرض بالضبط ما رأته أنيس — الطريقة والعنوان والمسار والاستعلام التي وقّعت عليها، والمفتاح الذي وجدته، والصلاحيات السارية. لا يغيّر شيئًا. يرسل {} بالضبط.

الصلاحيةdiagnostics:use
المصادقةتغيير موقَّع
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات
حزمة SDK لـ ‎.NETanis.Diagnostics.CheckSignatureAsync()
  • هو الاستدعاء الأول الصحيح حين لا يُتحقق من توقيع.

الاستدعاء

موقَّع بمفتاحك، مع رقم استخدام لمرة واحدة (nonce) وبصمة للمحتوى.

الترويسات: Signature-Input، Signature، Content-Digest، Nonce، X-Anis-Date. تضبطها حزم SDK كلها نيابةً عنك.

المحتوى: البايتان {} بالضبط — لا شيء غيرهما.

الردود

الحالةالمعنىالمحتوى
200نجاح.SignatureDiagnostic
401مرفوض: لم تتم المصادقة.مشكلة
403مرفوض: غير مسموح.مشكلة
409مرفوض: يتعارض مع الحالة الحالية.مشكلة
422مرفوض: الاستدعاء يخالف قاعدة.مشكلة
429مرفوض: بلغتَ حدًا.مشكلة

كل ردّ موقَّع من أنيس؛ وتتحقق منه حزم SDK قبل أن يصلك.

حالات الرفض

كل رفض مشكلةٌ موقَّعة. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.

الخطأالرمزالحالة
بيانات اعتماد غير صالحةinvalid_credentials401
صلاحية غير كافيةinsufficient_scope403
عنوان المصدر غير مسموحsource_ip_not_allowed403
تجاوزت حدّ الاستدعاءاتrate_limited429
اكتُشف تكرارreplay_detected409
فشل التحققvalidation_failed422
خطأ داخليinternal_error500
انتهت مهلة الاستدعاءrequest_timeout504

الأنواع

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)وقت تلقّي أنيس للاستدعاء.