Quotable عبارة عن واجهة برمجة تطبيقات عروض أسعار مجانية ومفتوحة المصدر. تم بناؤه في الأصل كجزء من مشروع FreeCodeCamp. إذا كنت مهتمًا بالمساهمة، يرجى مراجعة دليل المساهمين.
يوجد حد أقصى للمعدل يبلغ 180 طلبًا في الدقيقة لكل عنوان IP. إذا تجاوزت الحد الأقصى للمعدل، فسوف تستجيب واجهة برمجة التطبيقات (API) بخطأ 429
.
https://api.quotable.io
يمكنك تجربة واجهة برمجة التطبيقات (API) على مساحة عمل Postman العامة لدينا.
GET /random
إرجاع اقتباس عشوائي واحد من قاعدة البيانات
⛔️ تم إهمال هذه الطريقة لصالح الحصول على عروض أسعار عشوائية
معلمات الاستعلام
المعلمة | يكتب | وصف |
---|---|---|
أقصى طول | Int | الحد الأقصى لطول الأحرف (يمكن دمجه مع minLength ) |
minLength | Int | الحد الأدنى لطول الأحرف (يمكن دمجه مع maxLength ) |
العلامات | String | احصل على عرض أسعار عشوائي باستخدام علامة (علامات) محددة. يأخذ هذا قائمة بأسماء العلامات واحد أو أكثر، مفصولة بفاصلة (بمعنى " AND ) أو أنبوب (بمعنى " OR ). سوف تتطابق القائمة المفصولة بفواصل مع علامات الاقتباس التي تحتوي على جميع العلامات المحددة. بينما ستتطابق القائمة المنفصلة بين الأنابيب ( | ) مع علامات الاقتباس التي تحتوي على أي من العلامات المتوفرة. أسماء العلامات ليست حساسة لحالة الأحرف. يمكن أن تكون العلامات متعددة الكلمات على شكل حالة كباب ("اسم العلامة") أو مفصولة بمسافة ("اسم العلامة") |
مؤلف | String | احصل على اقتباس عشوائي من مؤلف واحد أو أكثر. يمكن أن تكون القيمة name المؤلف أو slug . لتضمين اقتباسات لمؤلفين متعددين، قم بتوفير قائمة مفصولة بأسماء المؤلفين/الارتباطات الثابتة. |
معرف المؤلف | String | deprecated مثل معلمة author ، إلا أنها تستخدم _id المؤلف بدلاً من slug |
إجابة
{
_id: string
// The quotation text
content: string
// The full name of the author
author: string
// The `slug` of the quote author
authorSlug: string
// The length of quote (number of characters)
length: number
// An array of tag names for this quote
tags: string [ ]
}
GET /quotes/random
احصل على اقتباس عشوائي واحد أو أكثر من قاعدة البيانات. تدعم هذه الطريقة العديد من المرشحات التي يمكن استخدامها للحصول على عروض أسعار عشوائية ذات خصائص محددة (مثل العلامات، وطول الاقتباس، وما إلى ذلك)
بشكل افتراضي، تقوم هذه الأساليب بإرجاع اقتباس عشوائي واحد. يمكنك تحديد عدد علامات الاقتباس العشوائية التي سيتم إرجاعها عبر معلمة limit
.
️ هذه الطريقة تعادل نقطة النهاية/random
. الاختلاف الوحيد هو تنسيق الاستجابة: بدلاً من إعادة ضبط كائنQuote
واحد، تقوم هذه الطريقة بإرجاع كائناتArray
Quote
.
المعلمة | يكتب | وصف |
---|---|---|
حد | Int | default: 1 min: 1 max: 50 عدد علامات الاقتباس العشوائية التي سيتم استرجاعها. |
أقصى طول | Int | الحد الأقصى لطول الأحرف (يمكن دمجه مع minLength ) |
minLength | Int | الحد الأدنى لطول الأحرف (يمكن دمجه مع maxLength ) |
العلامات | String | احصل على عرض أسعار عشوائي باستخدام علامة (علامات) محددة. يأخذ هذا قائمة بأسماء العلامات واحد أو أكثر، مفصولة بفاصلة (بمعنى " AND ) أو أنبوب (بمعنى " OR ). سوف تتطابق القائمة المفصولة بفواصل مع علامات الاقتباس التي تحتوي على جميع العلامات المحددة. بينما ستتطابق القائمة المنفصلة بين الأنابيب ( | ) مع علامات الاقتباس التي تحتوي على أي من العلامات المتوفرة. أسماء العلامات ليست حساسة لحالة الأحرف. يمكن أن تكون العلامات متعددة الكلمات على شكل حالة كباب ("اسم العلامة") أو مفصولة بمسافة ("اسم العلامة") |
مؤلف | String | احصل على اقتباس عشوائي من مؤلف واحد أو أكثر. يمكن أن تكون القيمة name المؤلف أو slug . لتضمين اقتباسات لمؤلفين متعددين، قم بتوفير قائمة مفصولة بأسماء المؤلفين/الارتباطات الثابتة. |
معرف المؤلف | String | deprecated مثل معلمة author ، إلا أنها تستخدم _id المؤلف بدلاً من slug |
إجابة
// An array containing one or more Quotes
Array < {
_id : string
// The quotation text
content : string
// The full name of the author
author : string
// The `slug` of the quote author
authorSlug : string
// The length of quote (number of characters)
length : number
// An array of tag names for this quote
tags : string [ ]
} >
أمثلة
احصل على عرض أسعار عشوائي في المتصفح
GET /quotes/random
احصل على 5 اقتباسات عشوائية جربها في المتصفح
GET /quotes/random?limit=3
حاول اقتباس عشوائي مع العلامات "التكنولوجيا" AND
"الاقتباسات الشهيرة" في المتصفح
GET /quotes/random?tags=technology,famous-quotes
حاول اقتباس عشوائي مع العلامات "التاريخ" OR
"الحقوق المدنية" في المتصفح
GET /quotes/random?tags=history|civil-rights
اقتباس عشوائي بحد أقصى 50 حرفًا حاول في المتصفح
GET /quotes/random?maxLength=50
حاول اقتباس عشوائي يتراوح طوله بين 100 و140 حرفًا في المتصفح
GET /quotes/random?minLength=100&maxLength=140
GET /quotes
الحصول على جميع علامات الاقتباس المطابقة لاستعلام معين. افتراضيًا، سيُرجع هذا قائمة مرقّمة بجميع علامات الاقتباس، مرتبة حسب _id
. يمكن أيضًا تصفية الاقتباسات حسب المؤلف والعلامة والطول.
معلمات الاستعلام
المعلمة | يكتب | وصف |
---|---|---|
أقصى طول | Int | الحد الأقصى لطول الأحرف (يمكن دمجه مع minLength ) |
minLength | Int | الحد الأدنى لطول الأحرف (يمكن دمجه مع maxLength ) |
العلامات | String | تصفية الاقتباسات حسب العلامة (العلامات). يأخذ قائمة بأسماء العلامات واحد أو أكثر، مفصولة بفاصلة (بمعنى " AND ) أو أنبوب (بمعنى " OR ). سوف تتطابق القائمة المفصولة بفواصل مع علامات الاقتباس التي تحتوي على جميع العلامات المحددة. بينما ستتطابق القائمة المنفصلة بين الأنابيب ( | ) مع علامات الاقتباس التي تحتوي على أي من العلامات المتوفرة. أسماء العلامات ليست حساسة لحالة الأحرف. يمكن أن تكون العلامات متعددة الكلمات على شكل حالة كباب ("اسم العلامة") أو مفصولة بمسافة ("اسم العلامة") |
مؤلف | String | الحصول على اقتباسات من مؤلف معين. يمكن أن تكون القيمة name المؤلف أو slug . للحصول على عروض أسعار لمؤلفين متعددين، قم بتوفير قائمة مفصولة بأسماء المؤلفين/الارتباطات الثابتة. |
معرف المؤلف | String | deprecated مثل معلمة author ، إلا أنها تستخدم _id المؤلف بدلاً من slug |
فرز حسب | enum | Default: "dateAdded" values: "dateAdded", "dateModified", "author", "content" الحقل المستخدم لفرز علامات الاقتباس |
طلب | enum | values: "asc", "desc" default: depends on sortBy الترتيب الذي يتم به فرز النتائج. يعتمد الترتيب الافتراضي على حقل الفرز. بالنسبة لحقول السلسلة التي تم فرزها أبجديًا، يكون الترتيب الافتراضي تصاعديًا. بالنسبة لحقول الأرقام والتاريخ، يكون الترتيب الافتراضي تنازليًا. |
حد | Int | Min: 1 Max: 150 Default: 20 يضبط عدد النتائج لكل صفحة. |
صفحة | Int | Min: 1 Default: 1 صفحة النتائج للعودة. إذا كانت القيمة أكبر من العدد الإجمالي للصفحات، فلن يقوم الطلب بإرجاع أي نتائج |
إجابة
{
// The number of quotes returned in this response
count: number
// The total number of quotes matching this query
totalCount: number
// The current page number
page: number
// The total number of pages matching this request
totalPages: number
// The 1-based index of the last result included in the current response.
lastItemIndex: number
// The array of quotes
results : Array < {
_id : string
// The quotation text
content : string
// The full name of the author
author : string
// The `slug` of the quote author
authorSlug : string
// The length of quote (number of characters)
length : number
// An array of tag names for this quote
tags : string [ ]
} >
}
أمثلة
احصل على الصفحة الأولى من علامات الاقتباس، مع 20 نتيجة لكل صفحة جربها في المتصفح
GET /quotes?page=1
احصل على الصفحة الثانية من علامات الاقتباس، مع 20 نتيجة لكل صفحة حاول في المتصفح
GET /quotes?page=2
احصل على جميع عروض الأسعار مع العلامات love
OR
happiness
حاول في المتصفح
GET /quotes?tags=love|happiness
احصل على جميع عروض الأسعار باستخدام technology
العلامات AND
famous-quotes
يمكنك تجربتها في المتصفح
GET /quotes?tags=technology,famous-quotes
احصل على جميع الاقتباسات من قبل المؤلف، وذلك باستخدام slug
المؤلف. حاول في المتصفح
GET /quotes?author=albert-einstein
GET /quotes/:id
الحصول على الاقتباس من خلال معرفها
إجابة
{
_id: string
// The quotation text
content: string
// The full name of the author
author: string
// The length of quote (number of characters)
length: number
// An array of tag names for this quote
tags: string [ ]
}
GET /authors
احصل على جميع المؤلفين المطابقين للاستعلام المحدد. يمكن استخدام نقطة النهاية هذه لسرد المؤلفين، مع خيارات متعددة للفرز والتصفية. يمكن استخدامه أيضًا للحصول على تفاصيل المؤلف لمؤلف محدد أو أكثر، باستخدام رمز المؤلف أو معرفاته.
معلمات الاستعلام
المعلمة | يكتب | وصف |
---|---|---|
سبيكة | string | تصفية المؤلفين حسب سبيكة. يمكن أن تكون القيمة واحدة أو أكثر من الارتباطات الثابتة للمؤلف. للحصول على مؤلفين متعددين حسب الارتباط التقريبي، يجب أن تكون القيمة عبارة عن قائمة من الارتباطات الثابتة مفصولة بأنبوب. |
فرز حسب | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" الحقل المستخدم لفرز المؤلفين. |
طلب | enum | values: "asc", "desc" الترتيب الذي يتم به فرز النتائج. يعتمد الترتيب الافتراضي على حقل الفرز. بالنسبة لحقول السلسلة التي تم فرزها أبجديًا (أي name )، يكون الترتيب الافتراضي تصاعديًا. بالنسبة لحقول الأرقام والتاريخ (أي quoteCount ) يكون الترتيب الافتراضي تنازليًا. |
حد | Int | Min: 1 Max: 150 Default: 20 يضبط عدد النتائج لكل صفحة. |
صفحة | Int | Min: 1 Default: 1 صفحة النتائج للعودة. إذا كانت القيمة أكبر من العدد الإجمالي للصفحات، فلن يقوم الطلب بإرجاع أي نتائج |
إجابة
{
// The number of results included in this response.
count: number
// The total number of results matching this request.
totalCount: number
// The current page number
page: number
// The total number of pages matching this request
totalPages: number
// The 1-based index of the last result included in this response. This shows the
// current pagination offset.
lastItemIndex: number | null
// The array of authors
results : Array < {
// A unique id for this author
_id : string
// A brief, one paragraph bio of the author. Source: wiki API
bio : string
// A one-line description of the author. Typically it is the person's primary
// occupation or what they are know for.
description : string
// The link to the author's wikipedia page or official website
link : string
// The authors full name
name : string
// A slug is a URL-friendly ID derived from the authors name. It can be used as
slug : string
// The number of quotes by this author
quoteCount : string
} >
}
أمثلة
احصل على جميع المؤلفين، مرتبة أبجديًا حسب الاسم في المتصفح
GET /authors?sortBy=name
احصل على جميع المؤلفين، مرتبة حسب عدد علامات الاقتباس بترتيب تنازلي، حاول في المتصفح
GET /authors?sortBy=quoteCount&order=desc
احصل على مؤلف واحد عن طريق سبيكة. حاول في المتصفح
GET /authors?slug=albert-einstein
احصل على مؤلفين متعددين عن طريق سبيكة. في هذه الحالة، يمكنك تقديم قائمة مفصولة من الروابط الثابتة في المتصفح
GET /authors?slug=albert-einstein|abraham-lincoln
GET /search/quotes
تتيح لك نقطة النهاية هذه البحث عن علامات الاقتباس حسب الكلمات الرئيسية و/أو المحتوى و/أو اسم المؤلف. على عكس نقطة نهاية قائمة الاقتباسات، يتم تشغيل هذه الطريقة بواسطة Atlas Search وهي مصممة لتشغيل واجهة مستخدم شريط البحث.
معلمات الاستعلام
بارام | يكتب | وصف |
---|---|---|
استفسار | String | سلسلة البحث. يمكن تغليف الاستعلام بين علامتي اقتباس للبحث عن عبارة محددة. |
الحقول | String | Default: "content,author,tags" حدد الحقول المراد البحث بها. يأخذ هذا قائمة مفصولة بفواصل لأسماء الحقول. حقول البحث المدعومة هي "المحتوى"، "المؤلف"، "العلامات". بشكل افتراضي، سيتم البحث في كافة الحقول في وقت واحد. |
fuzzyMaxEdits | Int | Min: 0 Max: 2 Default: 0 الحد الأقصى لعدد تعديلات الحرف الواحد المطلوبة لمطابقة مصطلح البحث المحدد. يؤدي تعيين هذا إلى الصفر إلى تعطيل المطابقة الغامضة. |
fuzzyMaxExpansions | Int | Max: 150 Min: 0 Default: 50 عند تمكين البحث الغامض، يكون هذا هو الحد الأقصى لعدد الاختلافات التي يمكن إنشاؤها والبحث عنها. ينطبق هذا الحد على أساس كل رمز مميز. |
حد | Int | Min: 0 Max: 150 Default: 20 الحد الأقصى لعدد النتائج في كل صفحة |
صفحة | Int | Min: 1 Default: 1 يضبط رقم الصفحة لترقيم الصفحات |
إجابة
{
// The number of results included in this response.
count: number
// The total number of results matching this request.
totalCount: number
// The current page number
page: number
// The total number of pages matching this request
totalPages: number
// The 1-based index of the last result included in this response. This shows the
// current pagination offset.
lastItemIndex: number | null
// The array of authors
results : Array < {
// A unique id for this author
_id : string
// A brief, one paragraph bio of the author. Source: wiki API
bio : string
// A one-line description of the author. Typically it is the person's primary
// occupation or what they are know for.
description : string
// The link to the author's wikipedia page or official website
link : string
// The authors full name
name : string
// A slug is a URL-friendly ID derived from the authors name. It can be used as
slug : string
// The number of quotes by this author
quoteCount : string
} >
}
أمثلة
ابحث عن "كل تقنية جيدة هي في الأساس سحر" (جرب في المتصفح)
GET /search/quotes?query=every good technology is basically magic
نتائج:
- "أي تكنولوجيا متقدمة بما فيه الكفاية تعادل السحر."
بحث عن عبارة "البيت المقسم"
GET /search/quotes?query=divided house
نتائج
- "البيت المنقسم على نفسه لا يمكنه أن يثبت."
ابحث عن علامات الاقتباس بالكلمات الرئيسية "الحياة" أو "السعادة" (جرب في المتصفح)
GET /search/quotes?query=life happiness
ابحث عن اقتباسات لمؤلف اسمه "kennedy" (جرب في المتصفح)
GET /search/quotes?query=Kennedy&fields=author
GET /search/authors
تتيح لك نقطة النهاية هذه البحث عن المؤلفين بالاسم. إنه مصمم لتشغيل شريط البحث للمؤلفين الذي يعرض الإكمال التلقائي الذي يقترحه المستخدم.
Example
query="John F. Kennedy"
terms=["john", "kennedy"]
term term
| |
John F. Kennedy Jr.
| |
initial suffix
Example
query="Saint Augustine of Hippo"
terms=["Augustine", "Hippo"]
term term
| |
Saint Augustine of Hippo
| |
prefix stopword
معلمات الاستعلام
بارام | يكتب | وصف |
---|---|---|
استفسار | String | استعلام البحث |
الإكمال التلقائي | Boolean | default: true تمكين مطابقة الإكمال التلقائي |
matchThreshold | Int | Min: 1 Max: 3 Default: 2 يضبط الحد الأدنى لعدد مصطلحات البحث (الكلمات) التي يجب أن تتطابق مع المؤلف حتى يتم تضمينه في النتائج. في الأساس، إذا تم تعيين هذا على 1، فستتضمن النتائج جميع المؤلفين الذين يطابقون جزءًا واحدًا على الأقل من الاسم. لذا الاستعلام = "John F. Kennedy" فإن النتائج ستتضمن جميع المؤلفين الذين يتطابقون مع "john" OR "kennedy".إذا تم تعيين هذا على 2 : عندما يتضمن استعلام البحث "مصطلحين" أو أكثر، فيجب أن يتطابق اثنان على الأقل من هذه المصطلحات. لذا فإن الاستعلام = "John F. Kennedy" لن يعرض سوى المؤلفين الذين يتطابقون مع "John" AND "Kennedy". |
حد | Int | Min: Max: 150 Default: 20 الحد الأقصى لعدد النتائج في كل صفحة |
صفحة | Int | Min: 1 Default: 1 يضبط رقم الصفحة لترقيم الصفحات |
إجابة
{
// The number of results included in this response.
count: number
// The total number of results matching this request.
totalCount: number
// The current page number
page: number
// The total number of pages matching this request
totalPages: number
// The 1-based index of the last result included in this response. This shows the
// current pagination offset.
lastItemIndex: number | null
// The array of authors
results : Array < {
// A unique id for this author
_id : string
// A brief, one paragraph bio of the author. Source: wiki API
bio : string
// A one-line description of the author. Typically it is the person's primary
// occupation or what they are know for.
description : string
// The link to the author's wikipedia page or official website
link : string
// The authors full name
name : string
// A slug is a URL-friendly ID derived from the authors name. It can be used as
slug : string
// The number of quotes by this author
quoteCount : string
} >
}
أمثلة
ابحث عن مؤلف اسمه "أينشتاين" (جرب في المتصفح)
GET /search/authors?query=Einstein
نتائج:
- ألبرت أينشتاين
الإكمال التلقائي للبحث عن "أينشتاين" (جرب في المتصفح)
GET /search/authors?query=Einst
نتائج:
- ألبرت أينشتاين
ابحث عن "John Adams" (جرب في المتصفح)
GET /search/authors?query=john adams
نتائج
- جون ادامز
- جون كوينسي آدامز
ابحث عن "John Quincy Adams" (جرب في المتصفح)
GET /search/authors?query=john quincy adams
نتائج:
- جون كوينسي آدامز)
- جون ادامز
احصل على Author
واحد عن طريق slug
. يمكن استخدام هذه الطريقة للحصول على تفاصيل المؤلف مثل السيرة الذاتية ورابط موقع الويب وصورة الملف الشخصي.
إذا كنت ترغب في الحصول على جميع علامات الاقتباس لمؤلف معين، فاستخدم نقطة النهاية /quotes وقم بالتصفية حسب اسم المؤلف/الرقم الثابت.
إذا كنت تريد الحصول على مؤلفين متعددين حسب المجموعة الثابتة في طلب واحد، فاستخدم نقطة النهاية /authors وقم بالتصفية حسب slug
.
GET /authors/:id
إجابة
{
// A unique id for this author
_id: string
// A brief, one paragraph bio of the author. Source wiki API.
bio: string
// A one-line description of the author.
description: string
// The link to the author's wikipedia page or official website
link: string
// The authors full name
name: string
// A slug is a URL-friendly ID derived from the authors name. It can be used as
slug: string
// The number of quotes by this author
quoteCount: string
}
GET /tags
الحصول على قائمة بجميع العلامات
معلمات الاستعلام
المعلمة | يكتب | وصف |
---|---|---|
فرز حسب | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" الحقل المستخدم لفرز العلامات. |
طلب | enum | values: "asc", "desc" الترتيب الذي يتم به فرز النتائج. يعتمد الترتيب الافتراضي على حقل الفرز. بالنسبة لحقول السلسلة التي تم فرزها أبجديًا، يكون الترتيب الافتراضي تصاعديًا. بالنسبة لحقول الأرقام والتاريخ، يكون الترتيب الافتراضي تنازليًا. |
إجابة
{
// The number of all tags by this request
count: number
// The array of tags
results : Array < {
_id : string
name : string
} >
}