البدء

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

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

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

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

المصادقة

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

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

Authorization: Bearer YOUR_API_KEY

تحديد المعدل: تحقق من رؤوس الاستجابة لاستخدامك الحالي: 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
}

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

# Get single rate
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/rate?from=USD&to=EUR"

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

# 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 حدث خطأ داخلي في الخادم. يرجى المحاولة مرة أخرى.