نمای کلی

این 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));