مرجع API · شحن العدادات
عرض عمليات شحن العدادات الخاصة بي
GET
/v1/wallets/{walletId}/meter-chargesابحث عن عمليات تطبيقك في محفظة مصرّح بها حسب الحالة والتاريخ.
الصلاحية
meter_charges:readالمصادقةقراءة موقَّعة
ردّ أنيسغير موقَّع
حدود الموظفين التي يُحتسب ضمنهاكل الاستدعاءات
حزمة SDK لـ .NET
anis.MeterCharges.GetMeterChargesAsync(walletId, query)- تظهر عمليات تطبيقك وحده في هذه المحفظة المصرّح بها، من الأحدث إلى الأقدم. تُطبّق المرشّحات معًا:
statusبالقيمprocessing|succeeded|failedوmeterNumberالمطابق تمامًا (من 1 إلى 64 رقمًا لاتينيًا) وfromوtoبتوقيت UTC، وcursorبحد أقصى2048حرفًا، وpageSizeالاختياري بقيمة افتراضية50وحدود1–100. اطلب فترة لا تتجاوز31يومًا؛ وترك التاريخين يعرض آخر31يومًا. أعدnextCursorكما هو مع المرشّحات وحجم الصفحة نفسيهما حتى يصبحnull. صحّح المرشّحات أو المؤشّر عندvalidation_failedبالحالة422؛ ولا تكرر الشراء لاستعادة القائمة. - الإيصال ورموز الشحن متاحة في القراءة التفصيلية الموقّعة فقط؛ ولا تعيد القائمة ردّ معالجة بالحالة
202.
المعاملات
| الاسم | الموضع | النوع | ملاحظات |
|---|---|---|---|
walletIdإلزامي | path | UUID | معرّف UUID بأحرف صغيرة مع الشرطات. |
statusاختياري | query | MeterChargeStatus | حالة شحن اختيارية: processing أو succeeded أو failed. |
meterNumberاختياري | query | string | مرشّح اختياري مطابق تمامًا لرقم العداد: من 1 إلى 64 رقمًا لاتينيًا (ASCII)؛ احتفظ بأصفاره الأولى. |
fromاختياري | query | string | حدّ اختياري مشمول للفترة بتوقيت UTC؛ اطلب مدة لا تتجاوز 31 يومًا. ترك الحدّين يعرض آخر 31 يومًا. |
toاختياري | query | string | حدّ اختياري مشمول للفترة بتوقيت UTC؛ اطلب مدة لا تتجاوز 31 يومًا. ترك الحدّين يعرض آخر 31 يومًا. |
cursorاختياري | query | string | قيمة nextCursor من الصفحة السابقة، تُعاد كما استُلمت بالضبط. اتركها للصفحة الأولى. |
pageSizeاختياري | query | integer | حجم صفحة اختياري من 1 إلى 100؛ والقيمة الافتراضية 50. |
الاستدعاء
موقَّعة بمفتاحك. بلا محتوى وبلا رقم استخدام لمرة واحدة (nonce).
الترويسات: Signature-Input، Signature، X-Anis-Date، Accept-Language (اختياري). تضبطها حزم SDK كلها نيابةً عنك.
المحتوى: لا يوجد.
الردود
| الحالة | المعنى | المحتوى |
|---|---|---|
| 200 | نجاح. | MeterChargeCollection |
| 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 |
| الحساب غير مخوَّل | binding_not_authorized | 403 |
| الحساب غير فعّال | account_inactive | 403 |
| المحفظة غير ممنوحة | wallet_not_granted | 404 |
| غير موجود | resource_not_found | 404 |
| العملة غير مدعومة | currency_not_supported | 422 |
الأنواع
MeterChargeCollection
| الحقل | النوع | ملاحظات |
|---|---|---|
itemsموجود دائمًا | list of MeterChargeSummary | السجلات الواردة في هذه الصفحة. |
nextCursorموجود دائمًا | string | أعد هذه القيمة كما هي في cursor؛ وتعني null أنك وصلت إلى الصفحة الأخيرة. |
MeterChargeSummary
| الحقل | النوع | ملاحظات |
|---|---|---|
operationIdموجود دائمًا | UUID | قيمة UUID نفسها المرسلة في Idempotency-Key لهذا الشراء. |
statusموجود دائمًا | MeterChargeStatus | تكون processing أو succeeded أو failed؛ ويعرض الردّ التفصيلي الموقّع الإيصال والرموز وتفاصيل الفشل والإعادة. |
meterNumberموجود دائمًا | string | رقم العداد كنص؛ احتفظ بأصفاره الأولى. |
packageموجود دائمًا | MeterChargePackage | الباقة المسجّلة لهذا الشحن. |
totalموجود دائمًا | Money | إجمالي تكلفة المحفظة المثبّت في كل حالة بصيغة Money وعملة LYD. |
externalReference | string | مرجعك الخاص؛ يظهر إن أرسلته. |
createdAtموجود دائمًا | string (date-time) | وقت تسجيل الشحن بتوقيت UTC. |
completedAt | string (date-time) | وقت نجاح الشحن؛ ويُحذف في حالتي المعالجة والفشل. |
MeterChargeStatus
MeterChargePackage
| الحقل | النوع | ملاحظات |
|---|---|---|
idموجود دائمًا | UUID | معرّف باقة شحن العداد. |
nameموجود دائمًا | string | اسم واحد محفوظ للباقة، وليس كائن نص بلغتين. |
gecolPackageNameموجود دائمًا | string | اسم الباقة لدى شركة الكهرباء. |
Money
| الحقل | النوع | ملاحظات |
|---|---|---|
amountموجود دائمًا | string | نص عشري، وليس عدد JSON. قد يكون رصيد المحفظة سالبًا عند استخدام الدين المسموح. تتبع الأسعار والإجماليات قواعد المبلغ لكل مسار. |
currencyموجود دائمًا | string | رمز عملة من ثلاثة أحرف كبيرة، مثل LYD. اقرأ عملة المحفظة من balance.currency. |
asOf | string (date-time) | وقت قراءة هذا السعر أو الرصيد. |