🚀 عنوان الـ API للربط مع تطبيقك الخارجي (Base URL):

يمكنك استدعاء هذا الرابط من أي تطبيق آخر (React / Vue / Mobile) على نفس الشبكة مع دعم CORS كامل:

http://127.0.0.1:5000/api

🔎 استعلام بالاسم من قواعد البيانات

GET

/api/status

فحص حالة اتصال البوابة مع جهاز الـ RDP والسيرفر الداخلي.

Response Example (JSON)
{
  "status": "connected",
  "bridge": "PONG - Multi-Method API Bridge Ready!"
}
POST

/api/search/name

تنفيذ استعلام بحث بالاسم، استخراج توكنات ASP.NET تلقائياً في الخلفية، وإرجاع مصفوفة نتائج نظيفة بتنسيق JSON.

طريقة الاستدعاء في تطبيقك الخارجي:

JavaScript (Fetch / React / Next.js / Vue)
const API_URL = "http://127.0.0.1:5000/api/search/name";

async function queryPerson(name) {
  const response = await fetch(API_URL, {
    method: "POST",
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      name: name,
      gov_id: "0",              // 0 = كل المحافظات
      databases: [1, 2, 3, 4, 5], // معرّفات قواعد البيانات
      search_type: "radio_name_tshabhat" // تشابهات
    })
  });

  const data = await response.json();
  console.log(`تم العثور على: ${data.count} نتيجة`);
  console.log(data.records);
  return data.records;
}
Python (requests)
import requests

url = "http://127.0.0.1:5000/api/search/name"
payload = {
    "name": "أحمد محمود علي",
    "gov_id": "0",
    "databases": [1, 2, 3, 4, 5],
    "search_type": "radio_name_tshabhat"
}

res = requests.post(url, json=payload)
data = res.json()
print("Total found:", data["count"])
for record in data["records"]:
    print(record)
cURL
curl -X POST "http://127.0.0.1:5000/api/search/name" \
     -H "Content-Type: application/json" \
     -d '{
       "name": "أحمد محمود علي",
       "gov_id": "0",
       "databases": [1, 2, 3, 4, 5]
     }'
مثال الرد العائد لتطبيقك (Response JSON Structure)
{
  "query": {
    "name": "أحمد محمود علي",
    "gov_id": "0",
    "databases": [1, 2, 3, 4, 5]
  },
  "count": 1,
  "records": [
    {
      "الاسم": "أحمد محمود علي إبراهيم",
      "الرقم القومي": "2850101...",
      "رقم القضية": "1234 / 2022",
      "التهمة": "شيك بدون رصيد",
      "الحكم": "حبس 6 أشهر كفالة 1000",
      "المحكمة": "جنح مستأنف قصر النيل"
    }
  ]
}

🌐 الربط عبر الشبكة المحلية (Network Integration)

إذا كان تطبيق الفرونت إند سيعمل من جهاز آخر على نفس الشبكة أو الـ Wi-Fi، استبدل 127.0.0.1 بعنوان IP هذا الجهاز:

// من لابتوبك الآخر على نفس الشبكة:
const BASE_API = "http://2.214.2.180:5000/api";
// أو عنوان الشبكة المحلية العادية:
// const BASE_API = "http://192.168.238.19:5000/api";