توثيق API

ولّد أرقام IBAN تجريبية سليمة البنية (ISO 13616، MOD-97) وتحقق منها عبر HTTP. كل الاستجابات بصيغة JSON. أرقام IBAN الناتجة بيانات اختبار، ولم يُصدرها أي بنك.

عنوان URL الأساسي

https://generaterandomiban.com/api/v1

المصادقة

تتطلب كل نقاط النهاية، باستثناء فهرس الخدمة، مفتاح API. أرسله في ترويسة X-API-Key (وتعمل Authorization: Bearer أيضاً). احتفظ بالمفتاح على خادمك ولا تضعه أبداً في كود يعمل في جهة العميل.

curl -H "X-API-Key: YOUR_KEY" https://generaterandomiban.com/api/v1/countries

نُصدر المفاتيح يدوياً. أرسل إلينا وصفاً قصيراً لحالة استخدامك وسنرسل إليك مفتاحاً.

apis@generaterandomiban.com

حدود معدل الطلبات

تُطبَّق الحدود لكل مفتاح: 60 طلباً في الدقيقة افتراضياً، أو الحد المخصص المعيّن لمفتاحك. وعند تجاوز الحد تردّ الواجهة بالرمز HTTP 429 (Too Many Requests).

نقاط النهاية

GET /api/v1 عام

فهرس الخدمة مع البيانات الوصفية وقائمة نقاط النهاية. لا يحتاج إلى مفتاح API.

مثال على الطلب
curl https://generaterandomiban.com/api/v1
مثال على الاستجابة
{
  "name": "Generate Random IBAN API",
  "version": "v1",
  "documentation": "https://generaterandomiban.com/ar/apis/docs",
  "authentication": { "type": "api_key", "header": "X-API-Key" }
}

GET /api/v1/countries

كل الدول المدعومة مع صيغة IBAN لكل منها.

مثال على الطلب
curl -H "X-API-Key: YOUR_KEY" https://generaterandomiban.com/api/v1/countries
مثال على الاستجابة
{
  "count": 91,
  "countries": [
    {
      "code": "DE",
      "name": "Germany",
      "slug": "germany",
      "iban_length": 22,
      "bban_length": 18,
      "bban_format": "8n10n",
      "structure": "DEkk bbbb bbbb cccc cccc cc",
      "example": "DE89370400440532013000"
    }
  ]
}

GET /api/v1/countries/{code}

صيغة IBAN لدولة واحدة.

المعامل الموضع الوصف
code path رمز الدولة وفق ISO 3166-1 alpha-2، مثل DE أو FR أو IT.
مثال على الطلب
curl -H "X-API-Key: YOUR_KEY" https://generaterandomiban.com/api/v1/countries/DE
مثال على الاستجابة
{
  "country": {
    "code": "DE",
    "name": "Germany",
    "iban_length": 22,
    "bban_format": "8n10n",
    "example": "DE89370400440532013000"
  }
}

GET /api/v1/generate/{country}

يولّد رقماً واحداً أو أكثر من أرقام IBAN العشوائية الصالحة لدولة معيّنة.

تُحسب أرقام التحقق الوطنية (مثل clé RIB الفرنسي وCIN الإيطالي وDC الإسباني) في الوضعين. لم يصدر أي بنك أرقام IBAN الواقعية، لكن قد يطابق أحدها حساباً حقيقياً بالصدفة، لذا لا تستخدمها أبداً في الدفعات.

المعامل الموضع الوصف
country path رمز الدولة وفق ISO 3166-1 alpha-2.
count query عدد أرقام IBAN المطلوب إرجاعها، من 1 إلى 100. القيمة الافتراضية: 1.
realistic query اختياري. القيمة 1 أو true تعطي أرقام IBAN واقعية: أرقام فقط، ورمز حقيقي لبنك كبير حيثما توفّر، مع رقم حساب عشوائي. والقيمة 0 أو false تعطي أرقام IBAN عشوائية بالكامل، قد تظهر فيها حروف حيث تسمح الصيغة. القيمة الافتراضية: 1.
مثال على الطلب
curl -H "X-API-Key: YOUR_KEY" "https://generaterandomiban.com/api/v1/generate/DE?count=2"
مثال على الاستجابة
{
  "country": { "code": "DE", "name": "Germany", "iban_length": 22 },
  "count": 2,
  "realistic": true,
  "ibans": [
    {
      "iban": "DE89370400440532013000",
      "formatted": "DE89 3704 0044 0532 0130 00",
      "country": "DE",
      "check_digits": "89",
      "bban": "370400440532013000",
      "length": 22,
      "valid": true
    }
  ]
}

POST /api/v1/generate

يولّد أرقام IBAN بمعاملات مرسلة في جسم JSON.

المعامل الموضع الوصف
country body رمز الدولة وفق ISO 3166-1 alpha-2. إلزامي.
count body عدد أرقام IBAN المطلوب إرجاعها، من 1 إلى 100. القيمة الافتراضية: 1.
realistic body قيمة منطقية اختيارية، مثل المعامل realistic في الرابط. القيمة الافتراضية: true.
مثال على الطلب
curl -X POST -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country":"FR","count":3,"realistic":true}' https://generaterandomiban.com/api/v1/generate
مثال على الاستجابة
{
  "country": { "code": "FR", "name": "France", "iban_length": 27 },
  "count": 3,
  "realistic": true,
  "ibans": [ /* … */ ]
}

GET /api/v1/validate/{iban}

يتحقق من رقم IBAN مُمرَّر في عنوان URL، دون مسافات.

المعامل الموضع الوصف
iban path رقم IBAN المراد التحقق منه، بالحروف والأرقام فقط.
مثال على الطلب
curl -H "X-API-Key: YOUR_KEY" https://generaterandomiban.com/api/v1/validate/DE89370400440532013000
مثال على الاستجابة
{
  "iban": "DE89370400440532013000",
  "valid": true,
  "country_code": "DE",
  "country_supported": true,
  "check_digits": "89",
  "bban": "370400440532013000",
  "length": 22,
  "expected_length": 22,
  "checks": { "mod97": true, "length": true, "format": true, "country_supported": true }
}

POST /api/v1/validate

يتحقق من رقم IBAN مرسل في جسم JSON. المسافات مسموح بها.

المعامل الموضع الوصف
iban body رقم IBAN المراد التحقق منه. إلزامي.
مثال على الطلب
curl -X POST -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"iban":"DE89 3704 0044 0532 0130 00"}' https://generaterandomiban.com/api/v1/validate
مثال على الاستجابة
{
  "iban": "DE89370400440532013000",
  "valid": true,
  "country_code": "DE",
  "checks": { "mod97": true, "length": true, "format": true, "country_supported": true }
}

الأخطاء ورموز الحالة

تستخدم الأخطاء رموز حالة HTTP القياسية وجسم JSON فيه كائن error يحمل رمزاً (code) ورسالة (message). أكثرها شيوعاً: 401 (مفتاح مفقود أو غير صالح)، و404 (دولة أو نقطة نهاية غير معروفة)، و422 (معاملات غير صالحة)، و429 (تجاوز حد معدل الطلبات).

{
  "error": {
    "code": "invalid_request",
    "message": "The \"count\" parameter must be an integer between 1 and 100."
  }
}

تنزيل قائمة (دون مفتاح)

يوفّر المولّد أيضاً ملفاً: حتى 100 رقم IBAN لدولة واحدة بصيغة CSV أو JSON أو SQL (أوامر INSERT) أو نص عادي، مع عمود لكل جزء من أجزاء BBAN. لا يحتاج إلى مفتاح API، والحد الأقصى 30 تنزيلاً في الدقيقة.

المعامل الموضع الوصف
countrypathرمز الدولة وفق ISO 3166-1 alpha-2.
formatquerycsv أو json أو sql أو txt. القيمة الافتراضية: csv.
countqueryعدد أرقام IBAN، من 1 إلى 100. القيمة الافتراضية: 10.
realisticqueryالقيمة 1 لأرقام IBAN واقعية، و0 لأرقام عشوائية بالكامل. القيمة الافتراضية: 1.
مثال على الطلب
curl -OJ "https://generaterandomiban.com/export/de?format=csv&count=50"
مثال على الاستجابة
iban,iban_print,country,check_digits,bank,account
DE89370400440532013000,DE89 3704 0044 0532 0130 00,DE,89,37040044,0532013000

خادم MCP

يمكن لوكلاء الذكاء الاصطناعي استخدام الميزات نفسها عبر خادم Model Context Protocol على المسار /mcp (Streamable HTTP، JSON-RPC 2.0). الخادم عام، ولا يحتاج إلى مفتاح API، ويقبل حتى 120 طلباً في الدقيقة.

الأداة الوصف
list_countriesيعرض الدول المدعومة مع طول IBAN في كل منها.
generate_ibanيولّد من 1 إلى 100 رقم IBAN تجريبي لدولة معيّنة.
validate_ibanيفحص رقم IBAN: تحقق MOD-97، والطول المتوقع، وما إذا كانت الدولة مدعومة.
مثال على الطلب
curl -X POST https://generaterandomiban.com/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"generate_iban","arguments":{"country":"IT","count":2}}}'

تقبل الأداة generate_iban أيضاً المعامل "realistic"، وقيمته الافتراضية true. مرّر "realistic": false لتوليد أرقام IBAN عشوائية بالكامل.

بطاقة الخادم للاكتشاف: /.well-known/mcp/server-card.json

مواصفة OpenAPI

وصف لواجهة REST API بصيغة OpenAPI 3.1 قابل للقراءة آلياً، لأدوات توليد كود العميل وأدوات API: /api/v1/openapi.json

مكتبة JavaScript

للتحقق من أرقام IBAN في المتصفح أو دون اتصال، دون استدعاء الـ API، استخدم حزمتنا مفتوحة المصدر iban-check لـ JavaScript وTypeScript (بلا تبعيات، برخصة MIT): GitHub · npm

Terminal
npm install iban-check

احصل على مفتاح API

نُصدر المفاتيح يدوياً. أرسل إلينا وصفاً قصيراً لحالة استخدامك وسنرسل إليك مفتاحاً.

اطلب مفتاح API