نسخه ۱.۰

مستندات API اشعار فارسی

API رایگان و متن‌باز برای دسترسی به گنجینه‌ای از اشعار شاعران بزرگ فارسی

شروع سریع

برای دریافت یک شعر تصادفی:

curl https://pq.arsamadineh.ir/api/quotes?random=true&limit=1

احراز هویت

🎉 احراز هویت لازم نیست!

این API کاملاً عمومی است و نیازی به کلید API، توکن یا هر نوع احراز هویت ندارد. فقط کافی است درخواست‌های HTTP ارسال کنید.

نقاط پایانی API

دریافت اشعار
GET
دریافت اشعار با قابلیت فیلتر بر اساس شاعر، دسته‌بندی و انتخاب تصادفی

نقاط پایانی:

GET /api/quotes
GET /api/quotes/[poet]
GET /api/quotes/category/[category]

پارامترهای اختیاری:

پارامترنوعپیش‌فرضتوضیحات
limitعدد10تعداد اشعار (حداکثر 100)
randombooleanfalseانتخاب تصادفی اشعار
poetرشته-فیلتر بر اساس نام شاعر
categoryرشته-فیلتر بر اساس دسته‌بندی
# دریافت 5 شعر تصادفی GET /api/quotes?random=true&limit=5 # دریافت اشعار حافظ GET /api/quotes/حافظ شیرازی # دریافت اشعار عاشقانه GET /api/quotes/category/عشق
فهرست شاعران
GET
دریافت اطلاعات شاعران و آمار اشعار آن‌ها
GET /api/poets?stats=true

پارامتر stats=true برای دریافت تعداد اشعار هر شاعر

دسته‌بندی‌ها
GET
دریافت فهرست دسته‌بندی‌های موضوعی اشعار
GET /api/categories?stats=true

شامل دسته‌بندی‌هایی مثل: عشق، عرفان، حکمت، طبیعت، زندگی

مدیریت خطاها

API از کدهای استاندارد HTTP برای نشان دادن موفقیت یا شکست درخواست‌ها استفاده می‌کند:

200درخواست موفق
400درخواست نامعتبر (پارامترهای اشتباه)
404منبع یافت نشد
500خطای سرور

نمونه پاسخ خطا:

{ "error": "No quotes found for this poet", "poet": "شاعر نامعلوم" }

نمونه‌های کاربردی

JavaScript / Node.js
// دریافت شعر تصادفی async function getRandomQuote() { try { const response = await fetch('/api/quotes?random=true&limit=1'); const data = await response.json(); if (data.success) { console.log(data.data[0].text_persian); console.log('- ' + data.data[0].poet); } } catch (error) { console.error('خطا در دریافت شعر:', error); } } // جستجو در اشعار async function searchQuotes(query) { const response = await fetch(`/api/quotes/search?q=${encodeURIComponent(query)}`); const data = await response.json(); return data.data; }
محدودیت‌ها و نکات مهم
  • • حداکثر 100 شعر در هر درخواست
  • • حداکثر 50 نتیجه برای جستجو
  • • جستجو حداقل 2 کاراکتر نیاز دارد
  • • تمام پاسخ‌ها در قالب JSON
  • • پشتیبانی از CORS برای استفاده در مرورگر
  • • رمزگذاری UTF-8 برای متن‌های فارسی