> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nushir.com/llms.txt
> Use this file to discover all available pages before exploring further.

# مقدمة API

> تحكَّم في نُشر من خلال التعليمات البرمجية الخاصة بك.

كل ما يقوم به التقويم — ربط القنوات، وجدولة المنشورات، وقراءة الأداء — متاح
عبر HTTP.

## عنوان URL الأساسي

```
https://platform.nushir.com/api/public/v1
```

## أول استدعاء لك

```bash theme={null}
curl https://platform.nushir.com/api/public/v1/integrations \
  -H "Authorization: $NUSHIR_API_KEY"
```

ابدأ من هنا: فكل مسار آخر تقريبًا يحتاج إلى `id` الخاص بالتكامل، ويحتاج النشر
إلى `identifier` لمعرفة كائن الإعدادات الذي ينبغي إرساله.

## قناة أم تكامل؟

تستخدم الواجهة مصطلح **قناة**، بينما تستخدم واجهة API مصطلح **تكامل**
(integration). وهما الكائن نفسه — لم تتم مواءمة التسمية قط. يستخدم هذا المرجع
مصطلح *تكامل* لأنه الاسم المستخدم في المسارات.

## حدود المعدل

**90 طلبًا في الساعة** لكل منظمة، عبر جميع نقاط النهاية مجتمعة. يؤدي تجاوز هذا
الحد إلى إرجاع `429`. اجمع عمليات القراءة دفعةً واحدة حيثما أمكن — فاستدعاء
`GET /posts` واحد محدد النطاق أفضل من الاستعلام المتكرر عن كل منشور على حدة.

## الاختبار دون كتابة تعليمات برمجية

تحتوي كل صفحة نقطة نهاية في هذا المرجع على لوحة قابلة للتشغيل: الصق مفتاح API
الخاص بك من *Settings → Developers* (الإعدادات ← المطوِّرون) في حقل
**Authorization**، واملأ المعلمات، ثم اضغط **Send** (إرسال).

<Warning>
  تتواصل اللوحة مع منظمتك الفعلية — فاستدعاء `POST /posts` من صفحات التوثيق
  ينشئ منشورًا حقيقيًا، وعملية الحذف تحذف فعلًا. اختبر الاستدعاءات المدمِّرة على
  مسودة، لا على حملة منشورة.
</Warning>

## التواريخ

بصيغة ISO-8601، وبتوقيت **UTC** دائمًا. المنشور المجدول في
`2026-09-01T09:00:00Z` يُنشر في الساعة 09:00 بتوقيت UTC بغضّ النظر عن المنطقة
الزمنية التي يعرضها الحساب.

## النشر من البداية إلى النهاية

<Steps>
  <Step title="اعرض قائمة القنوات">
    `GET /integrations` — احتفظ بقيمتي `id` و`identifier`.
  </Step>

  <Step title="ارفع الوسائط">
    `POST /upload` أو `POST /upload-from-url` إذا كان المنشور يحتاج إليها.
    احتفظ بمعرّف الوسائط `id` المُرجَع.
  </Step>

  <Step title="اختر وقتًا">
    `GET /find-slot/{id}` للحصول على أقرب موعد نشر متاح، أو اختر وقتًا بنفسك.
  </Step>

  <Step title="أنشئ المنشور">
    `POST /posts` مع القناة والمحتوى وكائن `settings` الخاص بتلك القناة.
  </Step>

  <Step title="تأكَّد">
    `GET /posts` خلال الفترة الزمنية، و`GET /analytics/post/{id}` بعد أن يصبح
    المنشور منشورًا فعليًا.
  </Step>
</Steps>

<Tip>
  هل تبني شيئًا على مراحل؟ أنشئ المنشورات بقيمة `"type": "draft"` — فالمسودات
  تتخطى التحقق من صحة الإعدادات، ما يتيح لك تجميع المنشور عبر عدة استدعاءات، ثم
  استخدام `/posts/{id}/missing` لمعرفة ما لا يزال ناقصًا.
</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.