البدء
تقدم واجهة برمجة التطبيقات Finexly أسعار صرف فورية وتاريخية لأكثر من 170 عملة. البدء سهل:
- سجل للحصول على حساب مجاني
- احصل على مفتاح الوصول لواجهة برمجة التطبيقات من لوحة التحكم
- قم بإجراء أول طلب 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
/v1/currencies
الحصول على قائمة بجميع رموز العملات المدعومة.
المعلمات
| الاسم | النوع | مطلوب | الوصف |
|---|
مثال
GET https://api.finexly.com/v1/currencies
// استجابة
[
"AED",
"ANG",
"AUD",
"EUR",
"GBP",
"USD"
]
/v1/rate
الحصول على سعر الصرف لزوج عملات محدد.
المعلمات
| الاسم | النوع | مطلوب | الوصف |
|---|---|---|---|
| from | string | نعم | رمز العملة الأساسية (أحرف كبيرة) |
| to | string | نعم | رمز عملة التسعير (أحرف كبيرة) |
مثال
GET https://api.finexly.com/v1/rate?from=USD&to=EUR
// استجابة
{
"pair": "USD_EUR",
"rate": 0.9215
}
/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
}
}
/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 | حدث خطأ داخلي في الخادم. يرجى المحاولة مرة أخرى. |