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

# نظرة عامة على واجهة برمجة تطبيقات النشر

> جدولة المنشورات، الهاشتاغات التلقائية، جدولة النشر التلقائي، والمزيد

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

تتيح لك نقطة نهاية النشر نشر منشورات على الشبكات الاجتماعية: Bluesky وFacebook وGoogle Business Profile وInstagram وLinkedIn وPinterest وReddit وSnapchat وTelegram وTikTok وX/Twitter وYouTube.
هناك العديد من الخيارات لتخصيص منشورك، مثل جدولة المنشورات وإضافة الهاشتاغات التلقائية وجدولة النشر التلقائي والمزيد.
غالبًا ما تستخدمها الوكالات عندما يحتاج العديد من أصحاب المصلحة إلى الموافقة على منشور قبل نشره.

ابدأ بنشر المنشورات باستخدام [نقطة نهاية /post POST](/apis/post/post).

## سير عمل الموافقة

إذا كان سير عمل النشر لديك يتطلب الموافقة قبل إرسال منشور، فقم بضبط حقل `requiresApproval` على `true`.
هذا يعادل إيقاف المنشور مؤقتًا حتى يتم تعيين المعلمة `approved` على `true`.

### مثال على سير عمل الموافقة

سيكون للمنشور حالة "بانتظار الموافقة" حتى يتم تعيين المعلمة `approved` على `true` عبر [نقطة نهاية /post PATCH](/apis/post/update-post).

<Steps>
  <Step title="النشر مع المعلمات">
    انشر منشورك باستخدام [نقطة نهاية /post](/apis/post/post) مع حقل `requiresApproval`
    كـ `true`. يمكنك أيضًا تضمين معلمات قياسية مثل `scheduleDate`.
  </Step>

  <Step title="الحالة بانتظار الموافقة">
    سيكون المنشور في حالة "بانتظار الموافقة" وسيتم الاحتفاظ به حتى يتم منح الموافقة.
  </Step>

  <Step title="الموافقة على المنشور">
    قم بتحديث المنشور باستخدام [عملية /post PATCH](/apis/post/update-post) وضبط حقل `approved`
    على `true`. سيتم الآن إرسال المنشور في الوقت المحدد.
  </Step>

  <Step title="استخدام الملاحظات">
    اختياري: قم بتعيين `notes` على المنشور للرجوع إليها، مثل من يحتاج إلى الموافقة على المنشور.
  </Step>
</Steps>

```json Publish the Post with Approval theme={"system"}
{
  "requiresApproval": true,
  "notes": "need approval by John Smith" // optional
}
```

<Warning>
  إذا تم تضمين `scheduleDate` والتاريخ في الماضي، فسيتم نشر المنشور
  فورًا عند الموافقة.
</Warning>

### فيديو سير عمل الموافقة

يُرجى مشاهدة الفيديو أدناه لمثال على سير عمل الموافقة.

<div class="video-container">
  <iframe width="380" height="200" src="https://www.youtube.com/embed/DtmTGgqQ-Mo" title="Social Approval Workflow API" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" />
</div>

## الهاشتاغات التلقائية

أضف الهاشتاغات الأكثر صلة إلى منشورك.

`autoHashtag` هو كائن أو قيمة منطقية Boolean - انظر أدناه، مع المعلمات التالية:

<ul class="custom-bullets">
  <li>`max`: (اختياري) عدد صحيح للهاشتاغات المضافة، النطاق 1-10. الافتراضي 2.</li>

  <li>
    `position`: (اختياري) سلسلة "auto" أو "end". يضيف Auto الهاشتاغات داخل المنشور أو في
    النهاية. "end" يضيف الهاشتاغات فقط إلى النهاية.
  </li>
</ul>

*تتطلب خطة مدفوعة.*

```json theme={"system"}
{
  "hashtags": {
    "max": 3, // optional: Integer range 1-10
    "position": "auto" // optional: String "auto" or "end"
  }
}
```

إذا كنت لا تريد إرسال أي من الخيارات المذكورة أعلاه، مرّر القيمة المنطقية `true` بدلاً من كائن.

```json theme={"system"}
{
  "autoHashtag": true
}
```

## إعادة النشر التلقائي

يعيد نشر محتواك تلقائيًا عدة مرات على فترات منتظمة، مما ينشئ محتوى دائم الخضرة يظل جديدًا ومرئيًا لجمهورك.
تتطلب خطة مدفوعة.

المعلمات:

* `repeat`: (مطلوب) عدد مرات إعادة نشر المحتوى. يجب أن يكون بين 1 و 10.
* `days`: (مطلوب) عدد الأيام بين كل إعادة نشر. يجب أن يكون على الأقل يومين.
* `startDate`: (اختياري) متى يبدأ جدول إعادة النشر، بتنسيق ISO-8601 UTC. إذا لم يتم تحديده، فسيتم نشر المنشور الأول فورًا. يجب استخدام معلمة `startDate` بدلاً من معلمة `scheduleDate` عالية المستوى.

```json Auto Repost theme={"system"}
{
  "repeat": 2, // min 2, max 10
  "days": 5, // min 2
  "startDate": "2021-07-08T12:30:00Z"
}
```

ستتضمن الاستجابة جميع عمليات إعادة النشر المجدولة المستقبلية و`autoRepostId` لكل إعادة نشر.

```json Auto Repost Response theme={"system"}
{
  "status": "scheduled",
  "scheduleDate": "2025-06-13T12:30:00.000Z",
  "id": "eIT96IYEodNuzU4oMmwG",
  "refId": "9abf1426d6ce9122ef11c72bd",
  "autoRepostId": "F5wdoaOAAGtDQVciExSxL",
  "post": "The most important things are the hardest to say - Stephen King"
}
```

عند إنشاء إعادة نشر تلقائي، يتم تعيين معرف `autoRepostId` لتتبع تلك السلسلة من المنشورات.

يمكنك الحصول على جميع عمليات إعادة النشر التلقائية لمنشور مع [استدعاء History](/apis/history/get-history) مع `autoRepostId`.

إذا كنت بحاجة إلى حذف إعادة نشر، يمكنك استخدام [استدعاء DELETE](/apis/post/delete-post) مع معرف المنشور.

<Tip>
  مهم: عند استخدام إعادة النشر التلقائي، تأكد من اتباع إرشادات تكرار النشر لكل شبكة اجتماعية لتجنب قيود الحساب.

  ملاحظة: لا يمكن استخدام ميزة `autoRepost` مع `scheduleDate`. إذا قمت بتضمين كلا المعلمتين، فستكون الأولوية لـ `scheduleDate` وسيتم تجاهل `autoRepost`. يُرجى استخدام معلمة `startDate` بدلاً من ذلك.
</Tip>

## التعليق الأول

أضف تلقائيًا تعليقًا أولاً، مع الوسائط، بعد نشر المنشور. بالنسبة لـ TikTok، يتم تأجيل التعليق حتى ينتهي معالجة الفيديو (راجع [وقت معالجة التعليق الأول](#first-comment-processing-time)).
يمكن أن يساعد نشر التعليق الأول على منشورك في وسائل التواصل الاجتماعي الخاصة بك في بدء التفاعل وتحديد نبرة المناقشة التي تليها.

```json theme={"system"}
{
  "firstComment": {
    "comment": "My first comment", // required
    "mediaUrls": ["https://..."] // Facebook, LinkedIn, and X/Twitter only
  }
}
```

## وقت معالجة التعليق الأول

بالنسبة لمعظم الشبكات الاجتماعية، تتأخر استجابة واجهة برمجة التطبيقات لأن نظامنا يجب أن (1) ينتظر حتى يتم نشر المنشور الأصلي بالكامل، ثم (2) يضيف التعليق إلى ذلك المنشور المنشور. هذه العملية المتتابعة تضيف تأخيرًا يبلغ حوالي 20 ثانية.

**تتم معالجة TikTok بشكل مختلف.** يعالج TikTok مقاطع الفيديو بشكل غير متزامن، لذا فإن `id` المنشور هو `"pending"` حتى تحل ويب هوك `post.publish.publicly_available` من TikTok معرف الفيديو الحقيقي (راجع [معالجة TikTok](/apis/post/social-networks/tiktok#tiktok-processing)). لذلك تُرجع استجابة `/post` تعليق TikTok الأول مع `status: "pending"` على الفور، ويتم نشر التعليق تلقائيًا بمجرد أن ينتهي TikTok من المعالجة ويتم إطلاق [ويب هوك الإجراء المجدول `tikTokPublished`](/apis/webhooks/actions#scheduled-action). لا يضمن TikTok وقت معالجة، لذا لا يوجد تأخير ثابت.

**ملاحظة مهمة حول TikTok**: لكي تعمل التعليقات الأولى بشكل صحيح على TikTok، يجب أن يتم ضبط معلمة `visibility` للمنشور على `public`. لا يتلقى مقطع فيديو غير عام أبدًا ويب هوك `publicly_available`، لذا لا يمكن نشر تعليقه الأول؛ في هذه الحالة تُرجع Ayrshare خطأ التعليق بدلاً من تركه معلقًا.

## المنشورات المتساوية القوة

[التساوي في القوة (Idempotency)](https://en.wikipedia.org/wiki/Idempotence) هي ميزة اختيارية تضمن تنفيذ الطلب مرة واحدة فقط، حتى إذا تم إرساله عن طريق الخطأ عدة مرات.
عند نشر المحتوى باستخدام واجهة برمجة التطبيقات، يمكنك تضمين معلمة `idempotencyKey` اختيارية في نص الطلب لتحديد العملية بشكل فريد. يتيح لك ذلك إعادة محاولة طلب النشر بأمان دون خطر إنشاء منشورات مكررة.

لاستخدام التساوي في القوة، أضف المعلمة `idempotencyKey` إلى نص JSON لطلب `/post` POST:

```json Idempotency Key theme={"system"}
{
  "idempotencyKey": "Unique Key"
}
```

يجب أن تكون قيمة `idempotencyKey` سلسلة فريدة لكل ملف مستخدم. إذا تم إجراء طلب بنفس `idempotencyKey` لملف مستخدم معين، بغض النظر عن حالة المنشور (نجاح، خطأ، معلق، أو محذوف)، فسيتم إرجاع خطأ يشير إلى العثور على مفتاح مكرر.

<Warning>
  يجب على واجهة برمجة التطبيقات أولاً قبول ومعالجة طلب POST لتخزين مفتاح التساوي في القوة والتحقق من
  التكرارات. ومع ذلك، إذا تم إرسال طلبات POST متعددة بنفس `idempotencyKey`
  في وقت واحد أو مُجدولة لنفس وقت النشر، فقد لا تكتشف واجهة برمجة التطبيقات المفاتيح المكررة.
  هذا لأن واجهة برمجة التطبيقات تعالج هذه الطلبات المتزامنة أو المجدولة معًا
  بالتوازي، قبل أن تتاح لها فرصة تسجيل مفتاح التساوي في القوة من أي طلب واحد. نتيجة
  لذلك، لا يوجد ضمان بأنه سيتم اكتشاف مفاتيح التساوي في القوة المكررة في هذه السيناريوهات من
  التقديم المتزامن أو تنفيذ المنشورات المجدولة.
</Warning>

يساعد استخدام التساوي في القوة على منع الإنشاء العرضي للمنشورات المكررة عند إعادة محاولة الطلبات الفاشلة أو التعامل مع مشكلات الشبكة. ومع ذلك، لا يزال يُوصى بتنفيذ آليات مناسبة لمعالجة الأخطاء وإعادة المحاولة في تطبيقك للتعامل مع الإخفاقات المحتملة بشكل سلس.

## متطلبات الصور والفيديو

نشر الصور ومقاطع الفيديو له متطلبات مختلفة لكل شبكة، لكن لا تقلق. يتحقق نظامنا من منشورك قبل الإرسال، لذلك ستحصل على استجابة خطأ إذا كان هناك شيء خاطئ. راجع الرابط أدناه للحصول على تفاصيل حول إرشادات الصور والفيديو.

<Card title="إرشادات الصور والفيديو" icon="link" href="/media-guidelines" horizontal />

### عنوان URL صالح

تأكد من أن عناوين URL للوسائط الخاصة بك صالحة وتصل مباشرة إلى الوسائط.
اختبار أول هو تجربة عنوان URL في متصفح.
إذا كانت الصورة لن تُحمّل أو لا يمكن تنزيلها في متصفح، فمن المحتمل أن تفشل.
على سبيل المثال، عنوان URL لـ DropBox الذي يفتح تطبيق ويب DropBox لن يعمل.

<Tip>
  إذا كان لديك [عنوان URL لمشاركة Google
  Drive](https://www.ayrshare.com/how-to-get-direct-download-urls-from-google-drive/) أو [عنوان URL لمشاركة Dropbox](https://www.ayrshare.com/blog/how-to-get-direct-download-urls-from-dropbox/)، يمكنك فقط
  استخدام عنوان URL في معلمة `mediaUrls` عند نشر منشور أو تعليق. ستقوم Ayrshare
  تلقائيًا بتحويل عنوان URL للمشاركة إلى رابط تنزيل.
</Tip>

نقوم بالتحقق من عنوان URL للوسائط عن طريق إجراء طلب `HEAD`.
يُرجى التأكد من أن مزود الاستضافة لا يحظر طلب `HEAD` وإلا سيفشل المنشور بخطأ 403.

على سبيل المثال، إليك طلب `HEAD` لعنوان URL للوسائط:

```javascript Fetch HEAD Request theme={"system"}
const run = async () => {
  const url = "https://img.ayrshare.com/012/gb.jpg";
  return await fetch(url, {
    method: "HEAD"
  })
    .then((res) => {
      if (res.ok) {
        return console.log("Success:", res.status, res.statusText);
      } else {
        return console.error("Error:", res.status, res.statusText, res);
      }
    })
    .catch((error) => {
      return console.error("Error Catch:", error);
    });
};

run();
```

#### حماية الوسائط الآلية

تتضمن Ayrshare حماية وسائط مدمجة يمكنها اكتشاف وحل مشكلات معينة في تسليم الوسائط أثناء النشر. عندما ينجح المنشور ولكن تم اكتشاف مشكلة محتوى وحلها، تتضمن كل إدخالة متأثرة في `postIds[]` كائن `contentIssues` اختياري حتى تتمكن من تحديد وإصلاح المشكلة الأساسية:

```json theme={"system"}
{
    "postIds": [
        {
            "status": "success",
            "platform": "instagram",
            "id": "17878176260289172",
            "postUrl": "https://www.instagram.com/p/CP1dI9Hp_WO/",
            "contentIssues": {
                "originMediaHostFailed": true,
                "details": ["Media URL could not be retrieved by the social network. Successfully posted using Ayrshare automated media protection."]
            }
        }
    ]
}
```

إذا رأيت `originMediaHostFailed` في استجاباتك، فراجع تكوين استضافة الوسائط. راجع [زاحف وسائط Meta محظور](/help-center/technical-support/meta_media_crawler_blocked) للأسباب والحلول الشائعة.

#### المسافات والأحرف الخاصة

نوصي بتجنب ما يلي في عناوين URL للوسائط:

<ul class="custom-bullets">
  <li>المسافات في عنوان URL.</li>
  <li>المسافات المُرمَّزة في عنوان URL.</li>
  <li>الأحرف الخاصة في عنوان URL حتى لو كانت مُرمَّزة، مثل علامات التشكيل é.</li>
</ul>

على سبيل المثال:

```bash theme={"system"}
https://img.ayrshare.com/012/test .webp
```

يفشل عنوان URL هذا بسبب المسافة `test .webp`. لا نوصي أيضًا باستخدام المسافات المُرمَّزة في URL، مثل `%20` في عنوان URL - يمكن أن يسبب هذا أيضًا مشاكل مع بعض الشبكات الاجتماعية.

وصورة Unsplash هذه:

```bash theme={"system"}
https://unsplash.com/photos/a-house-in-the-middle-of-a-field-with-trees-in-the-background-znbmh2-cIj0
```

تفشل صورة Unsplash هذه لأنها لا تصل مباشرة إلى الصورة، ولكنها تعرض تطبيق ويب.

#### تنقية أسماء الملفات وعناوين URL

يمكنك تنقية أسماء الملفات باستخدام تعبير عادي مثل `/[^a-z0-9\/\.]/gi`.

```javascript theme={"system"}
const sanitizeFileName = (url) => url.replace(/[^a-z0-9\/\.]/gi, "_");
sanitizeFileName("tést .webp"); // t_st_.webp
```

أو تنقية عنوان URL

```javascript theme={"system"}
const sanitizeUrl = (url) => {
  const [protocol, rest] = url.split("://");
  const [domain, ...path] = rest.split("/");
  const sanitizedPath = path.join("/").replace(/[^a-z0-9\/\.]/gi, "_");
  return `${protocol}://${domain}/${sanitizedPath}`;
};

// Output: https://img.ayrshare.com/012/t_st_.webp
sanitizeUrl("https://img.ayrshare.com/012/tést .webp");
```

### معلومات إضافية

<Info>
  <ul class="custom-bullets">
    <li>
      إذا كنت تستضيف ذاتيًا، فتأكد من أن عنوان URL يمكن الوصول إليه خارجيًا ولا يتطلب
      أذونات خاصة.
    </li>

    <li>
      انظر أدناه كيفية التعامل مع مقاطع الفيديو ذات الامتدادات غير المعروفة، غالبًا عناوين URL موقعة مثل AWS S3.
    </li>

    <li>
      إذا كنت تستخدم عنوان URL موقعًا، مثل S3، فنوصي بتعيين انتهاء صلاحية عنوان URL على
      7 أيام على الأقل. هذا يسمح لفريقنا بالمساعدة في أي أسئلة لديك حول نشر المنشور.
    </li>

    <li>
      اختبر ما إذا كان عنوان URL للوسائط موجودًا باستخدام [أدوات التحقق من الوسائط](/apis/media/verify-media-url).
    </li>
  </ul>
</Info>

### سرعة التنزيل

تأكد من أن استضافة الوسائط الخاصة بك لديها اتصال سريع، خاصةً سرعة التنزيل. يمكنك اختبار أداء استضافة الوسائط الخاصة بك على [pingdom](https://tools.pingdom.com/). نوصي بتقييم *B على الأقل*.

### امتداد الفيديو

إذا لم ينته عنوان URL الخاص بك بامتداد فيديو معروف مثل `mp4`، فيمكنك استخدام حقل `isVideo: true` في المنشور لتحديد أن `mediaUrl` هو فيديو. ستحاول Ayrshare تحديد نوع الملف، مثل `MOV`. ومع ذلك، نوصي بإنهاء ملف الفيديو الخاص بك بشكل صريح بامتداد معروف، مثل `mp4`، لأن هذا لديه معدل نجاح أعلى مع الشبكات الاجتماعية.

### صورة أو فيديو فقط

تدعم بعض الشبكات الاجتماعية إرسال الوسائط بدون نص المنشور. إذا كنت لا ترغب في تضمين نص المنشور، فأرسل سلسلة فارغة: `post: ""`

الشبكات الاجتماعية التالية تدعم عدم وجود منشور/نص فارغ: Facebook وInstagram وLinkedIn وThreads وTikTok وX/Twitter.

### اختبار الصور ومقاطع الفيديو

فكر في استخدام [إنشاء نص عشوائي وصورة أو فيديو عشوائي](/quickstart#sending-test-posts-with-a-random-quote-image-or-video) لتسريع اختبارك. توقف عن محاولة التفكير في شيء مختلف لكل منشور اختبار!

## فواصل الأسطر

<Info>
  إذا كنت تريد فواصل الأسطر (أسطر جديدة) في منشور، فاستخدم فاصل السطر غير المرئي `\u2063\n.` على سبيل المثال، `This is a new\u2063\nline.`

  نوصي أيضًا بتجربتها في Postman لمعرفة كيفية ترجمة فاصل السطر الجديد في لغتك المفضلة. على سبيل المثال، غالبًا ما يستخدم PHP فقط `\n`

  لا تدعم بعض الشبكات الاجتماعية حاليًا فواصل الأسطر في نص المنشور.
</Info>

## المنشورات والوسائط متعددة المنصات

تتيح لك هذه الميزة تخصيص محتوى منشورك ووسائطك للشبكات الاجتماعية المختلفة في استدعاء واحد لواجهة برمجة التطبيقات. يمكنك تحديد نصوص و/أو صور فريدة لكل منصة باستخدام كائنات لحقول `post` و`mediaUrls`.

1. استخدم بنية كائن لحقول `post` و/أو `mediaUrls`.
2. حدد محتوى خاص بالمنصة باستخدام أسماء المنصات كمفاتيح.
3. قم بتضمين مفتاح `default` للمحتوى الذي سيتم استخدامه على المنصات غير المحددة صراحة.

```json theme={"system"}
{
  "post": {
    "instagram": "Great IG pic!",
    "facebook": "Great FB pic!",
    "default": "Great default pic!"
  },
  "platforms": ["instagram", "facebook", "linkedin"],
  "mediaUrls": {
    "instagram": "https://img.ayrshare.com/012/gb.jpg",
    "linkedin": "https://img.ayrshare.com/012/gb.jpg",
    "default": "https://img.ayrshare.com/012/gb.jpg"
  }
}
```

في المثال أعلاه:

<ul class="custom-bullets">
  <li>سيستخدم Instagram نصه المحدد وعنوان URL للصورة.</li>
  <li>سيستخدم Facebook نصه المحدد وعنوان URL للصورة الافتراضية.</li>
  <li>سيستخدم LinkedIn النص الافتراضي وعنوان URL للصورة المحدد.</li>
</ul>

<Info>
  إذا كنت بحاجة إلى نشر صور متعددة على منصات مختلفة، فأنشئ منشورات منفصلة لكل
  منصة بدلاً من استخدام هذه البنية متعددة المنصات.
</Info>

## مفاتيح الملفات الشخصية

قم بالنشر نيابةً عن المستخدم عن طريق توفير مفاتيح الملف الشخصي للمستخدمين كمعلمة نص والبيانات الإضافية في الاستجابة. *خطة Business أو Enterprise مطلوبة.*

<Card title="الملفات الشخصية" icon="link" href="/apis/profiles/overview" horizontal />

## منشورات النص المنسق

يمكنك إضافة نص منسق مثل "𝓗𝓮𝓵𝓵𝓸, how about a little 𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁 and 𝘪𝘵𝘢𝘭𝘪𝘤𝘴 𝘵𝘦𝘹𝘵 and an x₂?". يمكنك استخدام النص المنسق على شبكات مثل Twitter وFacebook وLinkedIn وTelegram وInstagram.
إذا كنت تنشر على Reddit، فيُرجى استخدام [تنسيق Markdown بنكهة Reddit](https://www.reddit.com/wiki/markdown#wiki_new_reddit-flavored_markdown).

تُستخدم عناصر HTML لتحديد نوع النص المنسق، والذي يُترجم إلى Unicode. على سبيل المثال:

```json theme={"system"}
{
    "post": "<var>Hello</var>, how about a little <b>bold text</b> and <i>italics text</i> and an x<sub>2</sub>?"
    "platforms": ["twitter"]
}
```

### عناصر HTML

| HTML                                          | مثال                              |
| --------------------------------------------- | --------------------------------- |
| \<b>Nice One!\</b>                            | **Nice One!**                     |
| \<strong>Hello, world!\</strong>              | **Hello, world!**                 |
| \<em>World\</em>                              | *World*                           |
| normal \<i>italics \<b>bold italics\</b>\</i> | normal *italics **bold italics*** |
| \`\<b>Hello\</b>, world!\`                    | `Hello, world!`                   |
| \`\<b>Hello\</b>, world!\`                    | **`Hello`**`, world!`             |
| \<samp>123\</samp>                            | 𝟷𝟸𝟹                            |
| \<var>Hello\</var>                            | 𝓗𝓮𝓵𝓵𝓸                        |
| x\<sub>2\</sub>                               | x₂                                |
| x\<sup>2\</sup>                               | x²                                |

### رموز CSS

| الرمز    | مثال                       | النتيجة                  |
| -------- | -------------------------- | ------------------------ |
| \u00B0   | It's 25\u00B0C today!      | It's 25°C today!         |
| \u2063\n | This is a new\u2063\nline. | This is a new<br />line. |

## جدولة المنشورات

### إنشاء منشورات مجدولة

يمكنك جدولة المنشورات المستقبلية عن طريق تحديد المعلمة `scheduleDate` بتنسيق التاريخ والوقت في Zulu/UTC. Zulu Time، والمعروف أيضًا باسم التوقيت العالمي المنسق (UTC)، هو المعيار العالمي للوقت.

على سبيل المثال، استخدم التنسيق `YYYY-MM-DDThh:mm:ssZ` وأرسل كـ `2026-07-08T12:30:00Z`.
يرجى مراجعة [utctime](https://www.utctime.net/) لمزيد من الأمثلة.

```json {5} theme={"system"}
{
  "post": "Hello, world!",
  "mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"],
  "platforms": ["facebook", "instagram"],
  "scheduleDate": "2023-07-08T12:30:00Z"
}
```

يرجى مراجعة [https://www.utctime.net/](https://www.utctime.net/) حول كيفية تحويل وقتك المحلي إلى وقت Zulu/UTC.

إذا كان التاريخ والوقت المجدولان في الماضي، فسيتم إرسال المنشور فورًا.

<Info>
  إذا تم تضمين `mediaUrl` مع منشور مجدول، فيجب أن تكون الوسائط متاحة في وقت
  النشر المجدول. على سبيل المثال، إذا كان المنشور مجدولًا للنشر في 5 مارس 2026، فيجب أن تكون
  الوسائط متاحة في 5 مارس 2026.
</Info>

<Tip>
  التعامل مع الأخطاء للمنشورات المجدولة مقابل الفورية

  هناك اختلاف مهم في كيفية التعامل مع أخطاء التحقق بين المنشورات الفورية والمجدولة:

  * المنشورات الفورية
    * عند النشر فورًا (بدون scheduleDate)، إذا فشلت منصة واحدة في اجتياز فحوصات التحقق، فسيستمر معالجة المنصات الأخرى. على سبيل المثال، إذا تجاوز منشور حد الأحرف في Twitter ولكنه صالح لـ Facebook وInstagram، فسيفشل المنشور على Twitter ولكنه سيظل يُنشر على Facebook وInstagram.

  * المنشورات المجدولة
    * عند جدولة المنشورات للنشر المستقبلي (مع scheduleDate)، يجب أن تجتاز جميع المنصات فحوصات التحقق الأولية قبل جدولة المنشور. إذا فشلت أي منصة في فحوصات التحقق الأولية، فسيتم رفض عملية الجدولة بأكملها وسيتم إرجاع خطأ فورًا.
    * ومع ذلك، قد لا يتم اكتشاف بعض الأخطاء الخاصة بالمنصة حتى وقت النشر الفعلي. في هذه الحالات، سيحاول المنشور المجدول النشر على جميع المنصات، وسيتم الإبلاغ عن إخفاقات المنصات الفردية في النتائج النهائية دون التأثير على المنصات الأخرى.
</Tip>

### التحقق من حالة منشور مجدول

يمكنك التحقق من حالة منشور مجدول بعدة طرق:

<ul class="custom-bullets">
  <li>
    قم بإعداد [إجراء ويب هوك المجدول](/apis/webhooks/actions#scheduled-action) لتلقي تلقائيًا
    حالة المنشور المجدول. هذا متاح لخطة Business وهو الطريقة
    الموصى بها.
  </li>

  <li>
    احصل على حالة منشور مجدول باستخدام [استدعاء GET](/apis/post/get-post) مع معرف المنشور.
  </li>

  <li>
    تحقق من الحالة في لوحة تحكم Ayrshare. قم أولاً بالتبديل إلى ملف المستخدم الذي تم نشر
    المنشور تحته، ثم انتقل إلى صفحة "Posts" وابحث باستخدام معرف منشور Ayrshare.
  </li>
</ul>

### إيقاف المنشورات المجدولة مؤقتًا

يمكنك إيقاف المنشورات المجدولة التي لم يتم نشرها بعد مؤقتًا.
إيقاف منشور مجدول مؤقتًا سيمنع نشره حتى يتم إلغاء إيقافه المؤقت.

استخدم [استدعاء PATCH](/apis/post/update-post) لإيقاف أو إلغاء إيقاف المنشور المجدول مؤقتًا.
يُرجى ملاحظة أنه إذا تم إلغاء إيقاف منشور مؤقتًا وكان `scheduleDate` في الماضي، فسيتم نشر المنشور فورًا. فكر في تحديث `scheduleDate` قبل إلغاء الإيقاف المؤقت.

## اختصار الروابط

يمكن اختصار الروابط في منشور باستخدام [مختصر الروابط](/apis/links/overview) من Ayrshare. يمكنك تشغيل الاختصار التلقائي للروابط باستخدام معلمة `shortenLinks` عند إرسال منشور. [Max Pack مطلوب](/additional/maxpack).

```json {4} theme={"system"}
{
  "post": "Hello, world with a link https://www.ayrshare.com",
  "platforms": ["linkedin"],
  "shortenLinks": true
}
```

## صور Unsplash

الحقول التالية متاحة لمعلمة نص `unsplash`:

<ul class="custom-bullets">
  <li>صورة عشوائية: `random` يُرجع صورة Unsplash عشوائية.</li>

  <li>
    صورة تعتمد على البحث: قيمة سلسلة كمصطلح بحث؛ على سبيل المثال، `money` ستحدد صورة عشوائية بناءً على
    money.
  </li>

  <li>
    معرفات الصور: قيمة مصفوفة من المعرفات؛ على سبيل المثال، \["HubtZZb2fCM"] لصورة
    [https://unsplash.com/photos/HubtZZb2fCM](https://unsplash.com/photos/HubtZZb2fCM)
  </li>
</ul>

```json {4,5,6} theme={"system"}
{
  "post": "Hello, world!",
  "platforms": ["instagram"],
  "unsplash": "random",
  "unsplash": "search term", // unsplash: "money"
  "unsplash": ["unsplash image ID"] // unsplash: ["HubtZZb2fCM"]
}
```

<Info>
  إذا كنت تنسخ عنوان URL لـ Unsplash للنشر في `mediaUrls`، فيرجى التأكد من نسخ عنوان الصورة و
  ليس فقط عنوان URL. يرجى مراجعة هذا
  [المثال](/help-center/technical-support/get_an_unsplash_image_url) لمزيد من المعلومات.
</Info>
