# رمز الوصول إلى API

رمز الوصول إلى API هو معرف فريد يتم تعيينه لمشروع معين أو عدة مشاريع في حسابك. يقوم بمصادقة حسابك لإدارة مشاريعك عبر API، بما في ذلك تعديلات الحساب، وإرسال الرسائل، وتحرير المشاريع، وما إلى ذلك.

## أنواع رموز الوصول إلى API

يوفر Pushwoosh نوعين مختلفين من رموز الوصول إلى API: **Server** و **Device**.

كل نوع من الرموز صالح فقط لنطاق API المحدد له. سيحدث خطأ في المصادقة إذا تم استخدام الرمز غير الصحيح.

#### رمز Server API

يُستخدم رمز Server API مع جميع أساليب API، باستثناء تلك الموجودة ضمن Device API. يجب تضمينه في نص الطلب في حقل `auth`.

#### رمز Device API

يُستخدم رمز Device API حصريًا مع أساليب Device API. يجب تضمينه في رؤوس طلب HTTP باستخدام رأس `Authorization`.
فيما يلي مثال على التنسيق الصحيح للرأس:

```
Authorization: Token <device_api_token>
```
استبدل `<device_api_token>` بقيمة رمز Device API الفعلي الخاص بك.

<Aside type="caution" title="الأساليب التي تتطلب رمز Device API">

تتطلب أساليب API التالية **رمز Device API** للمصادقة:
- [`registerDevice`](/ar/developer/api-reference/device-api/#registerdevice)
- [`unregisterDevice`](/ar/developer/api-reference/device-api/#unregisterdevice)
- [`deleteDevice`](/ar/developer/api-reference/device-api/#deletedevice)
- [`setTags`](/ar/developer/api-reference/device-api/#settags)
- [`getTags`](/ar/developer/api-reference/device-api/#gettags)
- [`setBadge`](/ar/developer/api-reference/device-api/#setbadge)
- [`applicationOpen`](/ar/developer/api-reference/device-api/#applicationopen)
- [`pushStat`](/ar/developer/api-reference/device-api/#pushstat)
- [`messageDeliveryEvent`](/ar/developer/api-reference/device-api/#messagedeliveryevent)
- [`registerUser`](/ar/developer/api-reference/user-centric-api/#registeruser)
- [`deleteUser`](/ar/developer/api-reference/user-centric-api/#deleteuser)
- [`postEvent`](/ar/developer/api-reference/user-centric-api/#postevent)
- [`registerEmail`](/ar/developer/api-reference/email-api/#registeremail)
- [`deleteEmail`](/ar/developer/api-reference/email-api/#deleteemail)
- [`setEmailTags`](/ar/developer/api-reference/email-api/#setemailtags)
- [`registerEmailUser`](/ar/developer/api-reference/email-api/#registeremailuser)
- [`getInboxMessages`](/ar/developer/api-reference/message-inbox/#getinboxmessages)
- [`inboxStatus`](/ar/developer/api-reference/message-inbox/#inboxstatus)
</Aside>

## إنشاء وإدارة رموز الوصول إلى API

يمكنك عرض وإنشاء وإدارة رموز الوصول إلى API الخاصة بك في قسم **API Access** في لوحة تحكم Pushwoosh. للوصول إليه، انتقل إلى **Settings → API Access**.
![رمز تطبيق Pushwoosh التجريبي](/api-reference-api-access-token-1.webp)

بشكل افتراضي، يتضمن كل حساب رمزًا يسمى **Pushwoosh Demo App**، والذي تم إعداده كرمز خادم.

### إنشاء رمز وصول جديد إلى API

لإنشاء رمز وصول جديد إلى API:

1. اذهب إلى قسم **API Access** في لوحة التحكم.

2. انقر على **Generate New Token**.

3. في النافذة التي تظهر، اختر نوع الرمز:

   * [**Server**](#server-api-token) يُستخدم لمعظم أساليب API (باستثناء أساليب Device API).

   * [**Device**](#device-api-token) يُستخدم لأساليب Device API فقط.

4. أدخل اسمًا للرمز.

5. انقر على **Generate** لإنشاء الرمز.

![إنشاء رمز جديد](/api-reference-api-access-token-4.webp)

> **هام:** تأكد من منح الرمز حق الوصول إلى التطبيق الصحيح في لوحة تحكم Pushwoosh الخاصة بك. [اعرف المزيد](#edit-token)

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

### إدارة رمز

لإدارة رمز API موجود، انقر على **قائمة النقاط الثلاث (⋮)** بجوار إدخال الرمز في قسم **API Access**.

![إدارة رمز](/api-reference-api-access-token-2.webp)

الخيارات التالية متاحة:

#### منح الوصول إلى جميع المشاريع

يمنح الرمز حق الوصول إلى جميع المشاريع في حسابك. هذا يسمح له باستخدام API بالكامل عبر جميع المشاريع.

<Aside type="tip">
امنح الوصول الكامل فقط للرموز التي تحتاجه. هذا يساعد في الحفاظ على أمان بياناتك والتحكم في الوصول.
</Aside>

#### إلغاء الوصول من جميع المشاريع

يزيل وصول الرمز إلى جميع المشاريع في حسابك. لن يتمكن الرمز بعد الآن من استخدام API حتى يتم منح الوصول مرة أخرى.

#### تحرير الرمز

يفتح شاشة **Edit API Token Permissions**، حيث يمكنك:

* تغيير اسم الرمز

* نسخ قيمة الرمز

* اختيار المشاريع التي يمكن للرمز الوصول إليها عن طريق تحديدها أو إلغاء تحديدها في القائمة

![إدارة رمز](/api-reference-api-access-token-3.webp)

بعد الانتهاء من إجراء التغييرات، انقر على **Save** لتطبيقها.

<Aside type="tip">
امنح الرموز حق الوصول فقط إلى المشاريع التي تحتاجها. هذا يساعد على حماية حسابك والتحكم في ما يمكن لكل رمز القيام به.
</Aside>

#### حذف الرمز

يزيل الرمز بشكل دائم من حسابك.

<Aside type="caution">

لا يمكن التراجع عن هذا الإجراء. بمجرد حذفه، لا يمكن استرداد الرمز. تأكد من أن الرمز لم يعد قيد الاستخدام قبل حذفه.

</Aside>

## تفويض طلبات API

لتفويض طلبات API، استخدم النوع الصحيح من رمز الوصول إلى API بناءً على نوع أسلوب API الذي تستدعيه:

#### لأساليب Server API

قم بتضمين الرمز في حقل "auth" في نص الطلب:

مثال:

```json
{
  "request": {
    "application": "XXXXX-XXXXX",
    "auth": "yxoPUlwqm…………pIyEX4H",
    "notifications": [{
      "send_date": "now",
      "content": "Hello world"
    }]
  }
}
```

#### لأساليب Device API

استخدم **رمز الجهاز (Device token)**. قم بتضمينه في رأس طلب HTTP باستخدام التنسيق التالي:

```
Authorization: Token <device_api_token>
```

استبدل `<device_api_token>` بقيمة الرمز الفعلي الخاص بك.
<Aside type="caution">
تأكد من أن نوع الرمز يطابق أسلوب API الذي تستخدمه. إذا لم يتطابق الرمز مع النوع المطلوب، سيعيد الطلب خطأ في المصادقة.
</Aside>