نمای کلی
این Cloudflare Worker به عنوان یک پروکسی برای Navasan API عمل میکند و دسترسی سادهشده به نرخهای ارز، طلا و رمزارز را فراهم میکند. این سرویس به صورت خودکار احراز هویت، توکنهای CSRF و مدیریت نشست را انجام میدهد.
آدرس پایه
https://navasan.milaadfarzian.workers.dev
احراز هویت
نیازی به احراز هویت نیست - ورکر به صورت خودکار تمام مدیریت نشستهای لازم را انجام میدهد.
نقاط پایانی
۱. دریافت نگاشت ارزها
لیست کامل تمام ارزهای موجود را با کلیدهای API و نقاط پایانی آنها برمیگرداند.
نقطه پایانی
GET /key
پاسخ
یک شیء JSON با تمام ارزهای موجود و متادیتای آنها را برمیگرداند.
مثال درخواست
curl "https://navasan.milaadfarzian.workers.dev/key"
مثال پاسخ
{
"دلار آمریکا": {
"api_key": "usd",
"endpoint": "last_currencies"
},
"یورو": {
"api_key": "eur",
"endpoint": "last_currencies"
}
}
۲. دریافت اطلاعات ارز
دریافت اطلاعات ارز از طریق نقطه پایانی یا کلید API خاص.
گزینه الف: براساس نقطه پایانی
پارامترها:
- endpoint: یکی از موارد last_currencies, aed_based, mex, gold, mob
- q: (اختیاری) پارامتر فیلتر
مثالهای درخواست
# دریافت آخرین نرخ ارزها
curl "https://navasan.milaadfarzian.workers.dev/?endpoint=last_currencies"
# دریافت نرخ طلا با فیلتر
curl "https://navasan.milaadfarzian.workers.dev/?endpoint=gold&q=golf"
گزینه ب: براساس کلید API
پارامترها:
- api_key: کلید ارز خاص (از نقطه پایانی /key)
مثالهای درخواست
# دریافت نرخ دلار
curl "https://navasan.milaadfarzian.workers.dev/?api_key=usd"
# دریافت نرخ بیتکوین
curl "https://navasan.milaadfarzian.workers.dev/?api_key=usd_btc"
# دریافت نرخ طلا (۱۸ عیار)
curl "https://navasan.milaadfarzian.workers.dev/?api_key=18ayar"
مدیریت خطا
API خطاها را در قالب JSON با ساختار زیر برمیگرداند:
{
"error": "پیام خطا در اینجا",
"status": "error"
}
کدهای خطای رایج
- ۴۰۰: درخواست نامعتبر (پارامترهای نامعتبر)
- ۴۰۴: ارز یافت نشد
- ۵۰۰: خطای سرور
محدودیت درخواست
محدودیت درخواست صریحی پیادهسازی نشده است، اما لطفاً با مسئولیتپذیری استفاده کنید. نرخ درخواستهای بسیار بالا ممکن است توسط Cloudflare محدود شود.
مثالها
Python
import requests
BASE_URL = "https://navasan.milaadfarzian.workers.dev/"
# دریافت نرخ دلار
response = requests.get(f"{BASE_URL}?api_key=usd")
usd_data = response.json()
# دریافت تمام نرخهای طلا
response = requests.get(f"{BASE_URL}?endpoint=gold")
gold_data = response.json()
JavaScript
const BASE_URL = "https://navasan.milaadfarzian.workers.dev/";
// دریافت نرخ یورو
fetch(`${BASE_URL}?api_key=eur`)
.then(response => response.json())
.then(data => console.log(data));
// دریافت تمام نرخهای رمزارز
fetch(`${BASE_URL}?endpoint=aed_based`)
.then(response => response.json())
.then(data => console.log(data));