واجهة برمجة الكلمات
كلمات هولندية مع ترجمات ومستويات وموضوعات، بصيغة JSON. كل طلب بيانات يحتاج إلى مفتاح API.
مفتاحك
أرسل المفتاح في الترويسة Authorization على شكل bearer، أو في الترويسة X-API-Key.
Authorization: Bearer ih_live_…المستوى المجاني
يمكن للمفتاح المجاني إجراء 10 طلبات في اليوم. يبدأ العدّ من جديد عند 00:00 بتوقيت UTC. كل طلب إلى نقطة تعيد بيانات يُحسب طلبًا واحدًا. تعرض الترويسات X-RateLimit-Limit وX-RateLimit-Remaining وX-RateLimit-Reset ما تبقّى لك.
نقاط الوصول
تبدأ كل المسارات بـ /api/v1. الوصف الكامل في ملف OpenAPI.
GET /api/v1/wordsالكلمات المطابقة للمرشِّحاتGET /api/v1/words/{word}كل المداخل بهذا الإملاءGET /api/v1/themesالمواضيع التي فيها كلمات، مع الأعداد والأسماءGET /api/v1/themes/{theme}/wordsكلمات موضوعGET /api/v1/levelsمستويات CEFR التي فيها كلمات، مع الأعدادGET /api/v1/levels/{level}/wordsكلمات مستوىGET /api/v1/word-of-the-dayكلمة اليوم (UTC)GET /api/v1/word-of-the-day/{date}كلمة يوم معيّن، بالصيغة YYYY-MM-DDGET /api/v1/randomكلمات عشوائية، لا تُخزَّن مؤقتًا أبدًاGET /api/v1/export/words.jsonكل الكلمات الظاهرة بصيغة JSONGET /api/v1/export/words.csvكل الكلمات الظاهرة بصيغة CSVGET /api/v1/metaإصدار البيانات والأعداد وحالات المراجعة الظاهرة والتراخيص. مفتوح ولا يحتاج إلى مفتاح. (لا يحتاج إلى مفتاح)
الحقل review_status
لكل قيمة review_status يبيّن إلى أي حد روجعت: owner (أدخلها المالك أو أكّدها)، reviewed، imported (مأخوذة من مصدر مفتوح)، machine (مسودة آلية لم يراجعها شخص بعد) وdraft. تعرض نقطة /meta الحالات التي ترسلها الواجهة الآن. افحص هذا الحقل إن كنت تريد بيانات روجعت فقط.
الأخطاء
لكل خطأ الشكل نفسه: كائن error فيه status وcode وmessage.
bad_request: 400: أحد المعاملات غير صحيح. تذكر الرسالة اسمه.unauthorized: 401: المفتاح مفقود أو غير معروف أو أُلغي.forbidden: 403: هذا المفتاح لا يشمل نقطة الوصول هذه.not_found: 404: لا شيء مطابق.rate_limited: 429: استهلك المفتاح طلبات اليوم. تعطي الترويسة Retry-After عدد الثواني حتى 00:00 بتوقيت UTC.server_error: 500: حدث خطأ من جانبنا. حاول مرة أخرى لاحقًا.
مثال
الطلب نفسه بـ curl وJavaScript وPython. استبدل YOUR_KEY بمفتاحك الخاص ولا تضعه أبداً في شيفرة عامة.
curl
curl -H "Authorization: Bearer ih_live_YOUR_KEY" \ "https://inburgering.help/api/v1/words/fiets?lang=en,fa"
javascript
const response = await fetch("https://inburgering.help/api/v1/words/fiets?lang=en,fa", {
headers: { Authorization: "Bearer ih_live_YOUR_KEY" },
});
if (response.status === 429) {
// Over the limit: try again after this many seconds.
console.log("Retry after", response.headers.get("Retry-After"));
} else if (!response.ok) {
console.log((await response.json()).error.message);
} else {
console.log(await response.json());
}python
import requests
response = requests.get(
"https://inburgering.help/api/v1/words/fiets?lang=en,fa",
headers={"Authorization": "Bearer ih_live_YOUR_KEY"},
timeout=10,
)
if response.status_code == 429:
# Over the limit: try again after this many seconds.
print("Retry after", response.headers["Retry-After"])
else:
response.raise_for_status()
print(response.json())الإصدارات والتغييرات
واجهة البرمجة الآن في الإصدار 1 (/api/v1). داخل الإصدار الواحد نضيف حقولاً ونقاط وصول فقط، فتجاهل الحقول التي لا تعرفها. أي تغيير قد يعطّل عميلاً يحصل على إصدار جديد، ويبقى الإصدار القديم متاحاً خلال مدة إشعار معلنة قبل إيقافه. التغييرات مذكورة أدناه.
- v1
- الإصدار الأول: الكلمات والمواضيع والمستويات وكلمة اليوم والكلمات العشوائية والتصدير وmeta.
- مفاتيح بحدود يومية لكل مستوى، مع حد شهري اختياري وحالات مراجعة وصلاحيات (قراءة، تصدير) لكل مستوى.
- أسماء المواضيع بالهولندية والإنجليزية؛ أسماء المواضيع بالفارسية والعربية والتركية مسودات (تذكرها استجابة themes في labels_draft).
طلب مفتاح API
لا تُصدَر المفاتيح لطالبين جدد حاليًا. عُد لاحقًا.