API

این وب سایت سرویسی را برای برنامه نویسان در نظر گرفته است که میتوانند از خدمات این نرم افزار در وب سایت های خود با استفاده از سرویس Restful استفاده کنند.

شما میتوانید توسط فرم زیر ثبت نام نموده و در ابتدا تعداد 100 درخواست رایگان هدیه بگیرید تا بتوانید قابلیت های این سرویس را مشاهده بفرمایید.


از صحت آدرس ایمیل اطمینان حاصل کنید، اطلاعات حساب به این ایمیل ارسال خواهد شد
اگر میخواهید Token شما فقط برای دامنه خاصی کارکند آن را وارد فرمایید، در غیر اینصورت مقدار را خالی بگذارید
اگر میخواهید Token شما فقط برای دامنه خاصی توانایی عبور از CORS را داشته باشد، آن را وارد فرمایید، در غیر اینصورت مقدار را خالی بگذارید


آدرس پایه

https://hafezapi.emrani.net

احراز هویت کاربر

شما میتوانید Token خود را به یکی از دو صورت استفاده کنید:

  1. ارسال به عنوان پارامتر به اسم token.
  2. ارسال در header به اسم token.

خدمات اشعار

  1. لیست تمامی اشعار

    آدرس: api/list

    خروجی: لیستی از مدل JSON شامل تمامی غزلیات برگشت داده خواهد شد.

    پارامترهای ورودی:

    • Start: شماره عدد شروع کننده Pagination.

    • Count: شماره عدد تعداد رکورد در لیست برای Pagination.

  2. دریافت یک غزل خاص

    آدرس: api/get

    خروجی: مدل JSON شامل غزل مربوطه برگشت داده خواهد شد.

    پارامترهای ورودی:

    • id: شماره عدد غزل. (اجباری)
    • audio: اگر مقدار True داشته باشد خروجی شامل صوت متن غزل با صدای دکتر موسوی گرمارودی به صورت Base64 String را خواهد داشت.

  3. دریافت فال

    آدرس: api/fal

    خروجی: مدل JSON شامل یک غزل اتفاقی برگشت داده خواهد شد.

    پارامترهای ورودی:

    • audio: اگر مقدار True داشته باشد خروجی شامل صوت متن غزل با صدای دکتر موسوی گرمارودی به صورت Base64 String را خواهد داشت.

  4. جستجو

    آدرس: api/search

    خروجی: لیستی از مدل JSON برگشت داده خواهد شد که عبارت مورد نظر در آنها استفاده شده است

    پارامترهای ورودی:

    • search: کلید واژه برای جستجوی آن.

خدمات کاربری

  1. مشاهده موجودی

    آدرس: api/balance

    خروجی: میزان باقیمانده اعتبار به همراه تاریخ انقضاء برگشت داده خواهد شد.

    پارامترهای ورودی:

    • token: مقدار token که برای احراز هویت استفاده میکنید.

    • email: آدرس ایمیل که سرویس با آن خریداری شده.

مدل بازگشتی توابع از نوع JSON بوده و شامل فیلدهای زیر میباشد:

id
شماره غزل
poem
در تابع list شامل بیت اول غزل، در تابع search شامل مصراع اول غزل، در توابع fal و get شامل کل متن غزل می باشد. لازم به ذکر است که مصراع ها در غزلیات با کاراکتر new line از هم جدا شده اند
mp3
شامل صوت متن غزل با صدای دکتر موسوی گرمارودی به صورت Base64 String
interpretation
تفسیر غزل

نمونه کد:

لطفا کد احراز هویت یا توکن خود را که در ایمیل دریافت کرده اید جایگزین مقدار YOUR_TOKEN کنید


روش اول با استفاده از Header

import requests
api_url = "https://hafezapi.emrani.net/api/Fal"
response = requests.get(api_url, headers={"token":"YOUR_TOKEN"})
print(response.json())
                                        

روش دوم با استفاده از Query parameter

import requests
api_url = "https://hafezapi.emrani.net/api/Fal?token=YOUR_TOKEN"
response = requests.get(api_url)
print(response.json())

                                        

روش اول با استفاده از Header

curl --header "token:YOUR_TOKEN" https://hafezapi.emrani.net/api/Fal
                                        

روش دوم با استفاده از Query parameter

curl https://hafezapi.emrani.net/api/Fal?token=YOUR_TOKEN

                                        

روش اول با استفاده از Header

HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("https://hafezapi.emrani.net");
httpClient.DefaultRequestHeaders.Add("token","YOUR_TOKEN");
var result = httpClient.GetStringAsync("api/fal").Result;
// Cast the result to you object or JSON
Console.WriteLine(result);
                                        

روش دوم با استفاده از Query parameter

HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("https://hafezapi.emrani.net?token=YOUR_TOKEN");
var result = httpClient.GetStringAsync("api/fal").Result;
// Cast the result to you object or JSON
Console.WriteLine(result);
                                        

پاسخ

{
"id": 259,
"poem": "\r\nمنم که ديده به ديدار دوست کردم باز\r\nچه شکر گويمت اي کارساز بنده نواز\r\nنيازمند بلا گو رخ از غبار مشوي\r\nکه کيمياي مراد است خاک کوي نياز\r\nز مشکلات طريقت عنان متاب اي دل\r\nکه مرد راه نينديشد از نشيب و فراز\r\nطهارت ار نه به خون جگر کند عاشق\r\nبه قول مفتي عشقش درست نيست نماز\r\nدر اين مقام مجازي بجز پياله مگير\r\nدر اين سراچه بازيچه غير عشق مباز\r\nبه نيم بوسه دعايي بخر ز اهل دلي\r\nکه کيد دشمنت از جان و جسم دارد باز\r\nفکند زمزمه عشق در حجاز و عراق\r\nنواي بانگ غزل‌هاي حافظ از شيراز\r\n",
"mp3": null,
"interpretation": "خداوند نعمات بسیاری در اختیارت قرار داده که باید شکرگزار او باشی و هرگز او را فراموش نکنی و بدان که همیشه حوادث بد و ناگوار و خطراتی در کمین انسان است که جز خدا کسی قادر به حفاظت انسان در مقابل آنها نیست. پس از مشکلات نترس و از راه خدا بازنگرد و با عشق و محبت زندگی کن."
}