البدء

تقدم واجهة برمجة التطبيقات Finexly أسعار صرف فورية وتاريخية لأكثر من 170 عملة. البدء سهل:

  1. سجل للحصول على حساب مجاني
  2. احصل على مفتاح الوصول لواجهة برمجة التطبيقات من لوحة التحكم
  3. قم بإجراء أول طلب API الخاص بك

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

https://api.finexly.com/v1/

المصادقة

تتطلب جميع طلبات API المصادقة عبر رمز Bearer. قم بتضمين مفتاح API الخاص بك في ترويسة Authorization:

الخيار 1: ترويسة التفويض (موصى به)

رأس التفويض (مطلوب)

Authorization: Bearer YOUR_API_KEY

الخيار 2: معلمة الاستعلام

مرر مفتاح API الخاص بك كمعامل استعلام:

GET https://api.finexly.com/v1/rate?from=USD&to=EUR&api_key=YOUR_API_KEY

⚠ ملاحظة أمان: قد يتم تسجيل مفاتيح API في عناوين URL في سجلات الوصول للخادم ويمكن أن تتسرب عبر رؤوس HTTP Referrer. للاستخدام في الإنتاج، نوصي بطريقة رأس Authorization. يتم توفير معلمة الاستعلام كوسيلة للراحة للاختبار السريع والتكاملات البسيطة.

تحديد المعدل: تحقق من رؤوس الاستجابة لاستخدامك الحالي: X-RateLimit-Limit, X-RateLimit-Used, X-RateLimit-Units

نقاط نهاية API

GET /v1/currencies

الحصول على قائمة بجميع رموز العملات المدعومة.

المعلمات

الاسم النوع مطلوب الوصف

مثال

GET https://api.finexly.com/v1/currencies

// استجابة
[
    "AED",
    "ANG",
    "AUD",
    "EUR",
    "GBP",
    "USD"
]
GET /v1/rate

الحصول على سعر الصرف لزوج عملات محدد.

المعلمات

الاسم النوع مطلوب الوصف
from string نعم رمز العملة الأساسية (أحرف كبيرة)
to string نعم رمز عملة التسعير (أحرف كبيرة)

مثال

GET https://api.finexly.com/v1/rate?from=USD&to=EUR

// استجابة
{
    "pair": "USD_EUR",
    "rate": 0.9215
}
GET /v1/convert

الحصول على أسعار الصرف لعدة أزواج عملات في طلب واحد.

المعلمات

الاسم النوع مطلوب الوصف
q string نعم أزواج مفصولة بفواصل بتنسيق BASE_QUOTE

مثال

GET https://api.finexly.com/v1/convert?q=USD_EUR,USD_GBP

// استجابة
{
    "USD_EUR": {
        "rate": 0.9215
    },
    "USD_GBP": {
        "rate": 0.7892
    }
}
GET /v1/convert-amount

تحويل مبلغ محدد من عملة إلى أخرى.

المعلمات

الاسم النوع مطلوب الوصف
from string نعم رمز العملة المصدر (أحرف كبيرة)
to string نعم رمز العملة الهدف (أحرف كبيرة)
amount number نعم المبلغ المراد تحويله

مثال

GET https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100

// استجابة
{
    "pair": "USD_EUR",
    "rate": 0.9215,
    "amount": 100,
    "result": 92.15
}

أمثلة التعليمات البرمجية

# Using Authorization header (recommended)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/rate?from=USD&to=EUR"

# Using query parameter
curl "https://api.finexly.com/v1/rate?from=USD&to=EUR&api_key=YOUR_API_KEY"

# Get multiple rates
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/convert?q=USD_EUR,USD_GBP"

# Convert amount
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100"
<?php
$apiKey = 'YOUR_API_KEY';

// Using cURL
$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'https://api.finexly.com/v1/rate?from=USD&to=EUR',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
echo "USD/EUR Rate: " . $data['rate'];
const apiKey = 'YOUR_API_KEY';

// Get single rate
const response = await fetch('https://api.finexly.com/v1/rate?from=USD&to=EUR', {
  headers: {
    'Authorization': `Bearer ${apiKey}`
  }
});

const data = await response.json();
console.log(`USD/EUR Rate: ${data.rate}`);

// Convert amount
const convertResponse = await fetch(
  'https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100',
  { headers: { 'Authorization': `Bearer ${apiKey}` } }
);
const result = await convertResponse.json();
console.log(`100 USD = ${result.result} EUR`);
import requests

api_key = 'YOUR_API_KEY'
headers = {'Authorization': f'Bearer {api_key}'}

# Get single rate
response = requests.get(
    'https://api.finexly.com/v1/rate',
    params={'from': 'USD', 'to': 'EUR'},
    headers=headers
)
data = response.json()
print(f"USD/EUR Rate: {data['rate']}")

# Convert amount
response = requests.get(
    'https://api.finexly.com/v1/convert-amount',
    params={'from': 'USD', 'to': 'EUR', 'amount': 100},
    headers=headers
)
result = response.json()
print(f"100 USD = {result['result']} EUR")

رموز الأخطاء

رمز النوع الوصف
400 BAD_REQUEST معلمات طلب غير صالحة أو حقول مطلوبة مفقودة.
401 UNAUTHORIZED رمز API مفقود أو غير صالح.
403 FORBIDDEN تم رفض الوصول. قد يكون حسابك غير نشط.
413 PAYLOAD_TOO_LARGE حجم الطلب يتجاوز الحد الأقصى المسموح به.
429 RATE_LIMIT_EXCEEDED لقد تجاوزت حد معدل الطلبات. تحقق من رؤوس X-RateLimit.
500 INTERNAL_ERROR حدث خطأ داخلي في الخادم. يرجى المحاولة مرة أخرى.

موصلات الذكاء الاصطناعي (MCP)

فينكسلي يتحدث بروتوكول سياق النموذج، لذا يمكن لمساعد الذكاء الاصطناعي قراءة الأسعار مباشرة بدلاً من تسليمها له. هذه قناة منفصلة عن واجهة برمجة التطبيقات REST أدناه: حيث يتم المصادقة باستخدام OAuth بدلاً من مفتاح API، وهي للقراءة فقط.

عنوان الخادم

https://mcp.finexly.com

الأدوات التي يكشف عنها

الاسم الوصف
get_exchange_rate سعر الصرف الحالي بين عملتين.
convert_amount قم بتحويل مبلغ، مع تحويل عبر الدولار الأمريكي عند الحاجة.
list_currencies كل عملة نغطيها.
get_historical_rates أسعار يومية على مدى فترة، للأزواج المجمعة مباشرة.

تفويض

يعمل الموصل على تدفق رمز تفويض OAuth 2.1 مع PKCE. يتم اكتشافه على الروابط أدناه؛ النطاق الوحيد هو fx:read، ولا يوجد نطاق يمنح الوصول إلى الحساب.

  • https://finexly.com/.well-known/oauth-authorization-server
  • https://finexly.com/oauth/authorize
  • https://finexly.com/oauth/token
  • https://finexly.com/oauth/jwks
دليل الإعداد وتخطيط المخصصات →

Tutorials & Guides

Learn how to integrate Finexly with your favorite programming languages and frameworks.