Semoga damai, berkah, dan rahmat Tuhan menyertai Anda
Beberapa waktu yang lalu saya mencoba menggunakan API
dental pearls
Namun saya menghadapi beberapa kesulitan, termasuk API
hanya menangani JSONP, dan Anda tidak akan dapat menanganinya dengan cara normal karena CORS.
Jika Anda berhasil menghindari CORS
dengan menggunakan JSONP
Anda akan mendapatkan output dalam format HTML
. Selain itu, tidak ada documentation
atau dokumen yang menjelaskan detail API
ini dan cara mengatasinya.
Saya memutuskan untuk membuat API
perantara yang menghindari masalah CORS
dan memberi Anda data dalam format JSON
beserta penjelasan detail tentang API
dan cara menggunakannya
Selain berisi beberapa fitur tambahan yang tidak ditemukan di API
resmi
cache
selama 5
detik100
pencarian per hari per IP
Anda dapat mengeditnya dari file config.js
fork
atau clone
proyek inidependencies
npm install
API
npm start
API
akan tersedia di tautan berikut http://localhost:5000
localhost
sesuai keinginan, atau upload ke hosting atau server Anda sendiri Tautan: Tukang pos
Postman
untuk mempelajari cara bekerja dengan API
dan melihat contohnyafork
collection
untuk menggunakannya sesuai keinginanenvironment
menjadi dev
dan anda dapat mengubah link variabel {{url}}
jika anda sudah mengubahnya atau mengganti port
Untuk melihat dokumentasi API interaktif:
Jalankan servernya:
npm run dev
Buka browser Anda dan buka:
http://localhost:5000/api-docs
Di sini Anda akan menemukan UI Swagger yang memungkinkan Anda menjelajahi semua titik akhir yang tersedia dan menguji API langsung dari browser.
API
berisi sekumpulan endpoint
endpoint
dimulai dengan /api
, ia mencari melalui API
Durar Al-Suniya resmiendpoint
diawali dengan /site
, beginilah cara pencariannya melalui halaman pencarian Durar Al-Sunniyya Pencarian hadis memberikan 15
hasil
Format respons sebagai JSON
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"page" : " رقم الصفحة " ,
"removeHTML" : " هل عناصر الـ HTML ممسوحة أم لا " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة "
}
]
}
Pencarian hadits memberikan 30
hasil
Format respons sebagai JSON
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"page" : " رقم الصفحة " ,
"removeHTML" : " هل عناصر الـ HTML ممسوحة أم لا " ,
"specialist" : " نوع الاحاديث هل هي للمتخصصين أم لا " ,
"numberOfNonSpecialist" : " عدد الأحاديث لغير المتخصصين " ,
"numberOfSpecialist" : " عدد الأحاديث للمتخصصين " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"book" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"explainGrade" : " توضيح درجة الصحة " ,
"takhrij" : " تخريج الحديث في كتب أخرى " ,
"hadithId" : " رقم الحديث لاستخدامه في البحث عن الأحاديث البديلة أو الحديث البديل الصحيح " ,
"hasSimilarHadith" : " هل الحديث له أحاديث مشابهة أم لا " ,
"hasAlternateHadithSahih" : " هل الحديث له حديث صحيح بديل أم لا " ,
"similarHadithDorar" : " رابط الأحاديث المشابهة في موقع الدرر " ,
"alternateHadithSahihDorar" : " رابط الحديث الصحيح في موقع الدرر " ,
"urlToGetSimilarHadith" : " رابط لكي تبحث عن الأحاديث المشابهة " ,
"urlToGetAlternateHadithSahih" : " رابط لكي تبحث عن الحديث الصحيح " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث "
}
}
]
}
Ini memberi Anda percakapan serupa yang sesuai dengan id
Format respons sebagai JSON
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"book" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"explainGrade" : " توضيح درجة الصحة " ,
"hadithId" : " رقم الحديث لاستخدامه في البحث عن الأحاديث البديلة أو الحديث البديل الصحيح " ,
"hasSimilarHadith" : " هل الحديث له أحاديث مشابهة أم لا " ,
"hasAlternateHadithSahih" : " هل الحديث له حديث صحيح بديل أم لا " ,
"similarHadithDorar" : " رابط الأحاديث المشابهة في موقع الدرر " ,
"alternateHadithSahihDorar" : " رابط الحديث الصحيح في موقع الدرر " ,
"urlToGetSimilarHadith" : " رابط لكي تبحث عن الأحاديث المشابهة " ,
"urlToGetAlternateHadithSahih" : " رابط لكي تبحث عن الحديث الصحيح " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث "
}
}
]
}
Ini memberi Anda percakapan yang sesuai dengan id
Format respons sebagai JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"book" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"explainGrade" : " توضيح درجة الصحة " ,
"hadithId" : " رقم الحديث لاستخدامه في البحث عن الأحاديث البديلة أو الحديث البديل الصحيح " ,
"hasSimilarHadith" : " هل الحديث له أحاديث مشابهة أم لا " ,
"hasAlternateHadithSahih" : " هل الحديث له حديث صحيح بديل أم لا " ,
"similarHadithDorar" : " رابط الأحاديث المشابهة في موقع الدرر " ,
"alternateHadithSahihDorar" : " رابط الحديث الصحيح في موقع الدرر " ,
"urlToGetSimilarHadith" : " رابط لكي تبحث عن الأحاديث المشابهة " ,
"urlToGetAlternateHadithSahih" : " رابط لكي تبحث عن الحديث الصحيح " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث "
}
}
}
Ini memberi Anda hadis yang benar sesuai dengan id
Format respons sebagai JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"book" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"hadithId" : " رقم الحديث لاستخدامه في البحث عن الأحاديث البديلة أو الحديث البديل الصحيح " ,
"hasSimilarHadith" : " هل الحديث له أحاديث مشابهة أم لا " ,
"hasAlternateHadithSahih" : " هل الحديث له حديث صحيح بديل أم لا " ,
"similarHadithDorar" : " رابط الأحاديث المشابهة في موقع الدرر " ,
"urlToGetSimilarHadith" : " رابط لكي تبحث عن الأحاديث المشابهة " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث "
}
}
}
Untuk mencari penjelasan suatu hadits menggunakan id
Format respons sebagai JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"takhrij" : " تخريج الحديث في كتب أخرى " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث " ,
"sharh" : " شرح الحديث "
}
}
}
Untuk mencari penjelasan suatu hadis berdasarkan metode teks yang diberikan
Format respons sebagai JSON
{
"metadata" : {
"specialist" : " نوع الاحاديث هل هي للمتخصصين أم لا " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"takhrij" : " تخريج الحديث في كتب أخرى " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث " ,
"sharh" : " شرح الحديث "
}
}
}
Pencarian penjelasan hadis memberikan 30
hasil
Format respons sebagai JSON
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"page" : " رقم الصفحة " ,
"removeHTML" : " هل عناصر الـ HTML ممسوحة أم لا " ,
"specialist" : " نوع الاحاديث هل هي للمتخصصين أم لا " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"takhrij" : " تخريج الحديث في كتب أخرى " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث " ,
"sharh" : " شرح الحديث "
}
}
]
}
Untuk mencari informasi tentang pembicara menggunakan id
Format respons sebagai JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"name" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"info" : " معلومات عن المحدث "
}
}
Untuk mencari informasi tentang buku menggunakan id
Format respons sebagai JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"name" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"author" : " المؤلف " ,
"reviewer" : " المراجع " ,
"publisher" : " دار النشر " ,
"edition" : " رقم الطبعة " ,
"editionYear" : " سنة الطبعة "
}
}
Elemen query
yang dapat Anda gunakan
Dengan penjelasan detail di bawah tabel
kunci | Keterangan |
---|---|
value | Isi teks hadis itulah yang ingin dicari |
page | Untuk memilih halaman yang Anda inginkan |
removehtml | Hapus elemen HTML dalam pidato |
specialist | Digunakan untuk mengetahui jenis hadisnya, apakah untuk ahli atau tidak |
xclude | Kata atau frasa yang ingin Anda kecualikan dari pencarian |
st | Tentukan metode pencarian |
t | Tentukan cakupan pencarian |
d[] | Tentukan derajat hadis tersebut apakah shahih atau lemah |
m[] | Tentukan nama pembaruan yang Anda inginkan |
s[] | Pilih buku yang ingin Anda cari |
rawi[] | Tentukan nama narator yang Anda inginkan |
[]
ini menunjukkan bahwa elemen ini menerima lebih dari satu opsi /v1/api/hadith/search?value=جملة البحث
/v1/api/hadith/search?value=جملة البحث&page=1
page=1
HTML
dalam pidato<span class="search-keys">...</span>
/v1/api/hadith/search?value=جملة البحث&removehtml=true
HTML
dari hasil pencariantrue
true
bagi spesialis dan false
bagi non-spesialis/v1/api/hadith/search?value=جملة البحث&specialist=true
false
/v1/api/hadith/search?value=جملة البحث&xclude=اليهود
اليهود
akan dikeluarkan dari pencarian جميع الكلمات
, أي كلمة
, بحث مطابق
w
, a
, p
جميع الكلمات
st=w
أي كلمة
itu adalah st=a
بحث مطابق
st=p
/v1/api/hadith/search?value=جملة البحث&st=p
Segala nilai dan metode penelitian yang mereka wakili
Atau Anda bisa mendapatkannya sebagai file JSON
dari sini
جميع الأحاديث
, الأحاديث المرفوعة
, الأحاديث القدسية
, آثار الصحابة
, شروح الأحاديث
*
, 0
, 1
, 2
, 3
جميع الأحاديث
maka t=*
الأحاديث المرفوعة
, t=0
الأحاديث القدسية
t=1
آثار الصحابة
t=2
شروح الأحاديث
, t=3
/v1/api/hadith/search?value=جملة البحث&t=1
Semua nilai dan rentang pencarian yang diwakilinya
Atau Anda bisa mendapatkannya sebagai file JSON
dari sini
0
, 1
, 2
, 3
, 4
جميع الدرجات
d[]=0
أحاديث حكم المحدثون عليها بالصحة
maka akan menjadi d[]=1
أحاديث حكم المحدثون على أسانيدها بالصحة
maka akan dilakukan d[]=2
أحاديث حكم المحدثون عليها بالضعف
maka akan menjadi d[]=3
أحاديث حكم المحدثون على أسانيدها بالضعف
maka d[]=4
/v1/api/hadith/search?value=جملة البحث&d[]=3
/v1/api/hadith/search?value=جملة البحث&d[]=1&d[]=2
Segala nilai dan derajat yang diwakilinya
Atau Anda bisa mendapatkannya sebagai file JSON
dari sini
0
, 179
, 204
, 256
, 261
...dll.0
mewakili جميع المحدثين
179
melambangkan الإمام المالك
204
melambangkan الإمام الشافعي
256
melambangkan البخاري
261
melambangkan مسلم
/v1/api/hadith/search?value=جملة البحث&m[]=179
/v1/api/hadith/search?value=جملة البحث&m[]=256&m[]=261
Segala nilai dan nama penutur yang diwakilinya
Atau Anda bisa mendapatkannya sebagai file JSON
dari sini
0
, 13457
, 6216
, 3088
, 96
...dll.0
melambangkan جميع المحدثين
dan 13457
melambangkan الأربعون النووية
6216
mewakili صحيح البخاري
3088
melambangkan صحيح مسلم
96
mewakili الصحيح المسند
/v1/api/hadith/search?value=جملة البحث&s[]=96
/v1/api/hadith/search?value=جملة البحث&s[]=6216&s[]=13457
Segala nilai dan nama kitab yang diwakilinya
Atau Anda bisa mendapatkannya sebagai file JSON
dari sini
0
, 1819
, 8918
, 2664
...dll.0
mewakili جميع الرواة
1819
melambangkan أسماء بنت أبي بكر
8918
melambangkan عمر بن الخطاب
2664
melambangkan ابن عباس
/v1/api/hadith/search?value=جملة البحث&rawi[]=1819
/v1/api/hadith/search?value=جملة البحث&rawi[]=8918&rawi[]=2664
2665
yang melambangkan ابن عباس أو أبو هريرة
8924
melambangkan عمر بن الخطاب وأبو هريرة
264
melambangkan أبو الدرداء وأبو أمامة وعبدالله بن عمر وابن عباس وجابر بن عبدالله
Segala nilai dan nama narator yang mewakilinya
Atau Anda bisa mendapatkannya sebagai file JSON
dari sini
Semua data yang tersedia dan nilai yang diwakilinya dapat diperoleh dari endpoints
ini
[
{
"endpoint" : " /v1/data/book " ,
"description" : " احضار كل الكتب المتاحة " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/degree " ,
"description" : " احضار كل درجات الحديث المتاحة " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/methodSearch " ,
"description" : " احضار كل طرق البحث المتاحة " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/mohdith " ,
"description" : " احضار كل المحدثين المتاحين " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/rawi " ,
"description" : " احضار كل الرواة المتاحين " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/zoneSearch " ,
"description" : " احضار كل نطاقات البحث المتاحة " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
}
]
Buka masalah jika Anda menemui masalah atau mempunyai saran
Tentu saja kami menyambut setiap kontribusi kami ❤