استعادة جماعية v3
الغرض من وظيفة API هذه هو استعادة أرقام الهواتف بكميات كبيرة. POST: https://api.multitel.net/v3/bulk_restore - المصادقة: HTTP basic مع بيانات اعتماد API الخاصة بالمستخدم. - جسم الطلب (application/json): {
"numbers":
[
"15551230111",
"15551230112",
"15551230113"
],
"webhook_url": "https://client.example.com/restore-hook"
} - يقبل سلاسل مكونة من أرقام فقط؛ كما يعمل numbers_text (مفصول بأسطر جديدة). - 10 أرقام أو أقل → تتم المعالجة بشكل متزامن؛ وأكثر من 10 → تتم الإضافة إلى قائمة الانتظار والمعالجة بواسطة عملية خدمة في الخلفية. - الاستجابة المتزامنة (ممكنة فقط إذا تم تقديم 10 أرقام أو أقل): {
"job_uuid": "8f6c1f0e-23d2-4717-8c8e-1a518e5738f0",
"status": "completed",
"total_numbers": 3,
"success_count": 1,
"failure_count": 2,
"webhook_url": "https://client.example.com/restore-hook",
"created_at": "2025-10-28 12:31:45",
"started_at": "2025-10-28 12:31:45",
"completed_at": "2025-10-28 12:31:48",
"results": [
{
"number": "15551230111",
"status": "success",
"message": "Number restored",
"status_code": 200,
"requires_identity_update": 0
},
{
"number": "15551230112",
"status": "failed",
"message": "Error: 'restore failed, please contact support'",
"status_code": 500,
"requires_identity_update": 0
},
{
"number": "15551230113",
"status": "success",
"message": "Number restored",
"status_code": 200,
"requires_identity_update": 1,
"needs_registration": 1
}
]
} في حال وجود أخطاء في معالجة الحمولة (انتهاء مهلة الانتظار، أو تعذر حل النطاق في DNS، وما إلى ذلك)، سيتم إرجاع الأخطاء بعد مصفوفة 'results': "webhook_error":"Could not resolve host: asidhaiufsd0uf.multitel.net" أو، إذا تم تقديم أكثر من 10 أرقام: - في الانتظار (202 Accepted): {
"job_uuid": "c5bc4f3a-7b0a-4d5d-9f7e-d3fd87f41a00",
"status": "pending",
"total_numbers": 25,
"webhook_url": "https://client.example.com/restore-hook",
"message": "Restore job queued. Results will be POSTed to https://client.example.com/restore-hook"
} - حمولة Webhook مطابقة للبنية المتزامنة النهائية (بما في ذلك رموز/رسائل الحالة لكل رقم). استطلاع الحالة - GET https://api.multitel.net/v3/bulk_restore_status - مطلوب job_uuid، ورقم اختياري (أرقام فقط). - تعكس الاستجابة ملخص المهمة مع الحالة الحالية لكل رقم بالإضافة إلى المحاولات والطوابع الزمنية؛ ويعيد مرشح الرقم ذلك الإدخال فقط. - مثال: GET …/bulk_restore_status?job_uuid=8f6c1f0e-23d2-4717-8c8e-1a518e5738f0 - بعد التصفية: GET …/bulk_restore_status?job_uuid=…&number=15551230113 - GET https://api.multitel.net/v3/bulk_restore_status - المصادقة: نفس HTTP Basic المستخدم في استدعاءات v3 الأخرى. - معلمات الاستعلام: - job_uuid (مطلوب) – مُرجع من استجابة POST. - number (اختياري) – أرقام فقط؛ يضيّق النتائج إلى DID واحد. - تعكس الاستجابة حمولة webhook وتتضمن الآن requires_identity_update (1/0) بالإضافة إلى needs_registration عند الاقتضاء. مثال: {
"job_uuid": "8f6c1f0e-23d2-4717-8c8e-1a518e5738f0",
"status": "processing",
"total_numbers": 25,
"success_count": 10,
"failure_count": 0,
"webhook_url": "https://client.example.com/restore-hook",
"created_at": "2025-10-28 12:31:45",
"started_at": "2025-10-28 12:31:45",
"completed_at": null,
"results": [
{
"number": "15551230111",
"status": "success",
"message": "Number restored",
"status_code": 200,
"attempts": 1,
"started_at": "2025-03-28 12:31:45",
"completed_at": "2025-03-28 12:31:47",
"requires_identity_update": 0
},
{
"number": "15551230112",
"status": "failed",
"message": "Error: 'restore failed, please contact support'",
"status_code": 500,
"attempts": 1,
"started_at": "2025-03-28 12:31:45",
"completed_at": "2025-03-28 12:31:46",
"requires_identity_update": 0
},
{
"number": "15551230113",
"status": "success",
"message": "Number restored",
"status_code": 200,
"attempts": 1,
"started_at": "2025-03-28 12:31:45",
"completed_at": "2025-03-28 12:31:48",
"requires_identity_update": 1,
"needs_registration": 1
}
]
} - مع number=15551230113، ستحتوي مصفوفة النتائج على ذلك الإدخال فقط بالإضافة إلى filtered_number في الحمولة. إذا كنت ترغب في إنشاء وظيفة الاستعادة الجماعية الخاصة بك، يمكنك استخدام نقطة نهاية API للرقم الواحد أدناه، واستدعائها بشكل متكرر، لكل رقم ترغب في استعادته. curl -u 'USERNAME:PASSWORD' \
-H 'Accept: application/json' \
https://api.multitel.net/v3/restore/447000123456