مرجع API · إشعارات Webhook
عرض تسليم الإشعارات
GET
/v1/webhook-eventsاعرض إشعارات تطبيقك، ومنها الإشعارات التي فشل تسليمها ويمكن طلب إرسالها مجددًا.
الصلاحيةلا شيء
المصادقةقراءة موقَّعة
ردّ أنيسغير موقَّع
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات
حزمة SDK لـ .NET
anis.WebhookEvents.GetWebhookEventsAsync(query)المعاملات
| الاسم | الموضع | النوع | ملاحظات |
|---|---|---|---|
statusاختياري | query | WebhookDeliveryStatus | حالة تسليم اختيارية: pending أو delivering أو delivered أو retrying أو failed أو waitingForProjection أو waitingForEndpoint أو cancelled. احذفها لعرض كل الحالات. |
sinceاختياري | query | string | بداية اختيارية مشمولة لوقت حدوث الإشعار بتوقيت UTC. |
cursorاختياري | query | string | قيمة nextCursor من الصفحة السابقة، تُعاد كما استُلمت بالضبط. اتركها للصفحة الأولى. |
الاستدعاء
موقَّعة بمفتاحك. بلا محتوى وبلا رقم استخدام لمرة واحدة (nonce).
الترويسات: Signature-Input، Signature، X-Anis-Date، Accept-Language (اختياري). تضبطها حزم SDK كلها نيابةً عنك.
المحتوى: لا يوجد.
الردود
| الحالة | المعنى | المحتوى |
|---|---|---|
| 200 | نجاح. | WebhookEventCollection |
| 400 | مرفوض: الاستدعاء الموقّع غير سليم البنية. | مشكلة |
| 401 | مرفوض: لم تتم المصادقة. | مشكلة |
| 403 | مرفوض: غير مسموح. | مشكلة |
| 404 | مرفوض: غير موجود، أو ليس لك. | مشكلة |
| 422 | مرفوض: الاستدعاء يخالف قاعدة. | مشكلة |
| 429 | مرفوض: بلغتَ حدًا. | مشكلة |
| 503 | لا قرار: خدمة مطلوبة غير متاحة. | مشكلة |
ردود هذا الاستدعاء غير موقَّعة — لا ترويسة Signature ولا Signature-Input، سواء في النجاح أو الرفض. لا شيء تتحقق منه؛ فحماية TLS تكفيها. وتبقى Content-Digest و X-Request-Id موجودتين.
حالات الرفض
رفض هذا الاستدعاء مشكلةٌ بلا توقيع. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.
| الخطأ | الرمز | الحالة |
|---|---|---|
| بيانات اعتماد غير صالحة | invalid_credentials | 401 |
| استدعاء موقّع غير سليم البنية | malformed_signed_request | 400 |
| صلاحية غير كافية | insufficient_scope | 403 |
| عنوان المصدر غير مسموح | source_ip_not_allowed | 403 |
| تجاوزت حدّ الاستدعاءات | rate_limited | 429 |
| فشل التحقق | validation_failed | 422 |
| الخدمة غير متاحة | dependency_unavailable | 503 |
| انتهت مهلة الاستدعاء | request_timeout | 504 |
| خطأ داخلي | internal_error | 500 |
| غير موجود | resource_not_found | 404 |
الأنواع
WebhookEventCollection
| الحقل | النوع | ملاحظات |
|---|---|---|
itemsموجود دائمًا | list of WebhookEvent | السجلات الواردة في هذه الصفحة. |
nextCursorموجود دائمًا | string | أعد هذه القيمة كما هي في cursor؛ وتعني null أنك وصلت إلى الصفحة الأخيرة. |
WebhookEvent
| الحقل | النوع | ملاحظات |
|---|---|---|
idموجود دائمًا | UUID | المعرّف الذي أُعيد لهذا السجل. احتفظ به كما هو عند قراءته مجددًا. |
typeموجود دائمًا | string | نوع الإشعار الذي يصف ما حدث. |
statusموجود دائمًا | WebhookDeliveryStatus | حالة تسليم الإشعار، وليست حالة الشراء. |
attemptsموجود دائمًا | integer | عدد محاولات التسليم المسجّلة. |
lastAttemptAtموجود دائمًا | string (date-time) | وقت المحاولة السابقة أو التالية المجدولة؛ ويكون null إن لم يُعرف وقت. |
nextAttemptAtموجود دائمًا | string (date-time) | وقت المحاولة السابقة أو التالية المجدولة؛ ويكون null إن لم يُعرف وقت. |
lastResponseCodeموجود دائمًا | integer | حالة HTTP الأخيرة من الوجهة؛ وتكون null قبل تلقي ردّ. |
lastFailureKindموجود دائمًا | string | تصنيف فشل التسليم المسجّل؛ ويكون null قبل حدوث فشل. القيم: httpStatus, timeout, connect, tls, targetRefused, responseTooLarge, challengeMismatch, projectionUnavailable, endpointDisabled, signingUnavailable |