الوصول إلى الحساب والمشروع
استخدم حساب API مفعّلا عبر HTTPS من عنوان بروتوكول إنترنت مسموح به. يجب أن يكون المشروع تابعا لهذا الحساب وألا يكون محذوفا. استخدم المعرّف الفريد للمشروع الوارد في سير عمل طلب نقل الأرقام، وليس معرّفه الرقمي في قاعدة البيانات أو رقم هاتف. طبّق ترميز عناوين الويب على معرّف المشروع عند إنشاء الطلب.
الطلب
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID"تعامل مع هذه الاستجابة بسرية
تتضمن الاستجابة الكاملة معلومات الفوترة لدى المشغّل المنقول منه، بما فيها القيمة المخزنة للحقل billing_pin، وحساب الفوترة، ورقم الهاتف، والعنوان، والشركة، وبيانات جهة الاتصال المفوّضة. لا تحجب API هذه الحقول. اطلب الحالة أو قائمة الأرقام فقط عندما يكون ذلك كافيا لسير عملك. لا تحفظ استجابة التفاصيل الكاملة في مساحة تخزين المتصفح أو أدوات التحليلات أو السجلات العامة أو لقطات الشاشة المرسلة إلى الدعم، ولا تعرض إلا الحقول التي يحتاج إليها العميل المخوّل.
بنية الاستجابة
مثال افتراضي لحقول مختارة؛ قد تتضمن الاستجابة حقولا إضافية.
{
"status": {
"code": 200,
"msg": "Project Detail"
},
"response": {
"project": {
"id": 11,
"uniqueid": "PROJECT_EXAMPLE",
"project_name": "Example transfer",
"location": "US",
"status": 0,
"status_str": "Pending"
},
"counts": {
"total": 0,
"pending": 0,
"in_progress": 0,
"completed": 0,
"rejected": 0
},
"numbers": [],
"events": [],
"uploads": []
}
}يحذف هذا المثال الجزئي عمدا جميع بيانات اعتماد الفوترة وقيم بيانات الاتصال الشخصية. ولا يعني غيابها عن المثال أن الاستجابة الفعلية تحجبها.
| القسم | المحتويات |
|---|---|
| project | المعرّف الرقمي للصف، والمعرّف الفريد للمشروع، واسم المشروع، والموقع، وبيانات الفوترة والاتصال والعنوان المخزنة، ووقت الإنشاء، والحالة المشتقة. تُكتب تسمية الحقل القديم للمشغّل المنقول منه بالشكل loosing_carrier. |
| counts | إجمالي صفوف الأرقام وعدادات Pending وIn Progress وCompleted وRejected. |
| numbers | إسقاط بيانات الأرقام نفسه الذي تعرضه نقطة نهاية قائمة أرقام المشروع، بما في ذلك تعليقات العميل وقيم الجدولة المخزنة. |
| events | صفوف الأحداث المخزنة وحقول حمولة البيانات الخام والمحلّلة، مع مراعاة حدود إتاحة البيانات وتنسيقها في نقطة نهاية الأحداث. |
| uploads | البيانات الوصفية للمستندات: المعرّف الرقمي، وupload_type، وfile_name، وfile_extension، وdate_created، وdownload_url بصيغة عنوان نسبي. ولا يزال الوصول إلى هذا العنوان يتطلب مصادقة الحساب. |
تفسير الملخص والبيانات الوصفية
تعطي الحالة المشتقة الأولوية إلى In Progress، ثم Pending، ثم Completed، ثم Rejected، مع استخدام Pending كقيمة احتياطية. وقد تكون حالة الملخص Completed مع وجود أرقام مرفوضة. افحص العدادات وحالات الأرقام بدلا من افتراض اكتمال نقل كل رقم.
تحتوي الاستجابة على البيانات الوصفية للمستندات، وليس على بايتات الملفات. ولا تتضمن تقسيما إلى صفحات أو مؤشرا تزايديا. استعلاما التفاصيل والقائمة عمليتا قراءة منفصلتان، وليسا لقطة واحدة مضمونة الاتساق على مستوى المعاملات. تبقى التواريخ كما هي مخزنة، دون تحويل موثّق للمنطقة الزمنية. استخدم uniqueid لمسارات المشروع؛ ولا يمكن استخدام المعرّف الرقمي للمشروع بدلا منه.
الأخطاء والحدود
تحقق من استجابة HTTP وكذلك من status.code/status.msg. إذا كان المشروع غير موجود أو محذوفا أو غير تابع للحساب، فستُرجع API الرمز 404 مع رسالة تفيد بعدم العثور على المشروع. وتُطبّق أيضا قيود المصادقة وعنوان بروتوكول الإنترنت المصدر. لا تنفّذ الأمثلة طلبا فعليا، ولا تُعد الاستجابة الناجحة دليلا على أن مشغّلا قد قبل عملية نقل أو أكملها.
التأثيرات وسير العمل
هذا هو مسار التفاصيل المعتمد الذي تستخدمه واجهة عرض طلبات نقل الأرقام في البوابة الحالية. تربط البوابة الحقول بواجهة المستخدم وتطبّق إسقاطها الخاص للبيانات المعروضة للعميل؛ فلا تفترض أن استجابة API الخام مطابقة لبيانات JSON الخاصة بالبوابة أو لطريقة عرضها. لا يعدّل معالج التفاصيل الذي تمت مراجعته المشروع، ولا يبدأ مباشرة طلبا إلى مشغّل أو عملية تحصيل رسوم.