> ## 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.

# الإعلانات

> أدِر الإعلانات المعزَّزة عبر Ayrshare GraphQL API باستخدام مجموعة واحدة من العمليات تأخذ منصة الإعلانات كوسيط.

تأخذ عمليات الإعلانات منصة الإعلانات كوسيط، لذا تعمل العملية نفسها على كل منصة إعلانات يدعمها Ayrshare. وهي حاليًا `FACEBOOK` و`INSTAGRAM`.

تستدعي كل عملية [نقطة نهاية الإعلانات المقابلة في REST](/docs/apis/ads/overview) وتُرجع استجابتها دون تغيير. المصادقة والحدود مطابقة لـ REST. يُرجع الاستدعاء الفاشل خطأ GraphQL: يحمل `extensions.status` حالة REST، ويحمل `extensions.code` رمز خطأ Ayrshare عندما يتضمن خطأ REST رمزًا. راجع [الأخطاء](/docs/apis/graphql/errors). تتطلب عمليات الإعلانات وظيفة Ads الإضافية. وبدونها، يُرجع كل استدعاء خطأً بقيمة `403` في `extensions.status` وقيمة `399` في `extensions.code`.

<h2 id="operations">
  العمليات
</h2>

| العملية | النوع | نقطة نهاية REST |
| - | - | - |
| `adAccounts` | استعلام | `GET /ads/{platform}/accounts` |
| `adTargetingSearch` | استعلام | `GET /ads/{platform}/interests`، أو `/regions` أو `/cities` |
| `ads` | استعلام | `GET /ads/{platform}/ads` |
| `adHistory` | استعلام | `GET /ads/{platform}/history` |
| `updateAd` | طفرة | `PUT /ads/{platform}/ads` |

تأخذ كل عملية أيضًا وسيط `profileKey` اختياريًا للعمل على User Profile (ملف المستخدم الشخصي). وتُرجع جميعها استجابة REST بصيغة JSON، لذا لا تقبل تحديد الحقول.

<h2 id="list-ad-accounts">
  سرد الحسابات الإعلانية
</h2>

ابدأ من هنا. استخدم قيم `accountId` الواردة في الاستجابة حيثما تطلب عملية ما `accountId`.

```graphql theme={"system"}
query {
  adAccounts(platform: FACEBOOK, limit: 10)
}
```

<h2 id="search-targeting-options">
  البحث في خيارات الاستهداف
</h2>

يحدد `kind` نوع البحث: `INTERESTS` لاستهداف الجمهور، و`REGIONS` أو `CITIES` للمواقع. يأخذ كل نوع وسائطه الخاصة فقط. على سبيل المثال، لا يعمل `countryCode` و`regionId` إلا مع `CITIES`، ويتطلب `INTERESTS` الوسيط `search`.

```graphql theme={"system"}
query {
  adTargetingSearch(platform: INSTAGRAM, kind: INTERESTS, search: "running")
}
```

```graphql theme={"system"}
query {
  adTargetingSearch(platform: FACEBOOK, kind: CITIES, search: "Austin", countryCode: "US")
}
```

<h2 id="list-ads">
  سرد الإعلانات
</h2>

مرّر واحدًا على الأقل من `campaignId` أو `accountId` أو `adId` أو `postId` أو `socialPostId`. يمثّل `socialPostId` معرّف المنشور الخاص بالشبكة نفسها، للمنشورات التي لم تُنشر عبر Ayrshare.

```graphql theme={"system"}
query {
  ads(platform: FACEBOOK, accountId: "act_1234567890")
}
```

<h2 id="see-what-an-ad-has-cost">
  معرفة تكلفة إعلان
</h2>

```graphql theme={"system"}
query {
  adHistory(platform: FACEBOOK, startDate: "2026-09-01", endDate: "2026-09-30")
}
```

<h2 id="pause-or-resume-an-ad">
  إيقاف إعلان مؤقتًا أو استئنافه
</h2>

يُغيّر `updateAd` الإنفاق الإعلاني الفعلي. توقف `PAUSED` الإنفاق، وتستأنفه `ACTIVE`، وتُنهي `DELETED` أو `ARCHIVED` الإعلان. تُطبَّق الحالة نفسها أيضًا على مجموعة الإعلان والحملة التابعين للإعلان، لذا تتغير معها أي إعلانات أخرى في مجموعة الإعلان أو الحملة تلك.

```graphql theme={"system"}
mutation {
  updateAd(platform: FACEBOOK, adId: "120210000000000000", status: PAUSED)
}
```

<Note>
  سيتوفر قريبًا تعزيز المنشورات عبر هذه العمليات. وحتى ذلك الحين، استخدم `boostFacebookPost` أو `instagramBoostPost`، أو نقطة نهاية التعزيز في REST لـ [Facebook](/docs/apis/ads/facebook/boost-post) أو [Instagram](/docs/apis/ads/instagram/boost-post).
</Note>

لا تزال العمليات الخاصة بكل منصة، مثل `facebookAdAccounts` و`instagramAds`، تعمل دون تغيير.


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