واجهة البرمجة العامة
واجهة JSON عامة للقراءة فقط، بلا مصادقة وبلا حدود استخدام. كل المحتوى بالعربية.
البداية
العنوان الأساسي هو https://sehraltaqa.com. كل الاستجابات على الشكل التالي:
{ "data": ..., "meta": { "page": 1, "limit": 20, "total": 1020 } }الأخطاء تأتي بالشكل { "error": { "status": 404, "message": "..." } }. القيم خارج المدى المسموح لـ limit وpage تُقصّ إلى أقرب قيمة صالحة ولا تُرفض.
الوصف الآلي متاح في openapi.json (OpenAPI 3.1)، والفهرس الآلي في /.well-known/api-catalog، وجرد المحتوى للنماذج اللغوية في llms.txt.
نقاط النهاية
قائمة المقالات مرتبة من الأحدث. لا تتضمن نص المقال.
المعاملات: page (≥ 1) · limit (1–100، الافتراضي 20) · category (معرّف التصنيف)
curl -s 'https://sehraltaqa.com/api/public/articles?limit=5'مقال واحد مع نصه الكامل في الحقل body.
curl -s 'https://sehraltaqa.com/api/public/articles/{slug}'قائمة صفحات الأسئلة والأجوبة. لا تتضمن الأسئلة نفسها.
المعاملات: page · limit · category
curl -s 'https://sehraltaqa.com/api/public/questions?limit=5'صفحة أسئلة واحدة مع كل سؤال وجوابه في questionBlocks.
curl -s 'https://sehraltaqa.com/api/public/questions/{slug}'قائمة الكتّاب.
المعاملات: page · limit
curl -s 'https://sehraltaqa.com/api/public/authors'كاتب واحد مع روابط التواصل. يعمل حتى لو لم يكن للكاتب محتوى منشور.
curl -s 'https://sehraltaqa.com/api/public/authors/{slug}'كل التصنيفات. مرّر contentType للحصول على عدد العناصر في كل تصنيف.
المعاملات: contentType (article | question-page)
curl -s 'https://sehraltaqa.com/api/public/categories?contentType=article'بحث نصي في المقالات وصفحات الأسئلة. المحتوى عربي، فابحث بالعربية.
المعاملات: q (مطلوب) · limit (1–100، الافتراضي 5 لكل نوع محتوى)
curl -s 'https://sehraltaqa.com/api/public/search?q=الطاقة'النصوص الغنية: blocks JSON
الحقل body في المقال، والحقل answer داخل questionBlocks، ليسا نصًا ولا HTML، بل مصفوفة كتل من Strapi:
{
"type": "paragraph",
"children": [{ "type": "text", "text": "نص عربي" }]
}للحصول على نص عادي، اجمع كل children[].text بشكل تكراري، لأن children قد تحتوي على children أخرى. قيم type الموجودة في المحتوى: heading (مع level)، paragraph، list، quote، image، code، link.
الحصول على الصفحات بصيغة Markdown
أي صفحة في الموقع يمكن استرجاعها بصيغة Markdown بدل HTML، إما بإرسال ترويسة Accept: text/markdown أو بإضافة .md إلى نهاية الرابط. هذا عادةً أسرع طريق للنص القابل للقراءة، ويغنيك عن معالجة blocks JSON:
curl -s -H 'Accept: text/markdown' 'https://sehraltaqa.com/articles/{slug}'
curl -s 'https://sehraltaqa.com/articles/{slug}.md'الاستجابة تبدأ بترويسة YAML فيها العنوان والوصف والرابط، ثم النص، ثم بيانات JSON-LD الخاصة بالصفحة.
الترويسات والتخزين المؤقت
كل استجابة تحمل Access-Control-Allow-Origin: *، وCache-Control: public, s-maxage=300, stale-while-revalidate=3600، وLink: </openapi.json>; rel="service-desc".
حدود الاستخدام
لا توجد حدود معلنة حاليًا. نرجو الالتزام بمعدل معقول، واحترام robots.txt وما تعلنه من إشارات المحتوى.