# واجهة برمجة تطبيقات الجهاز

## registerDevice

`POST` `https://api.pushwoosh.com/json/1.3/registerDevice`

يتم استدعاؤها داخليًا من SDK. تسجل الجهاز للتطبيق.

##### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |


##### جسم الطلب

| الاسم | النوع | الوصف |
| ---------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------- |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| push\_token | string | [رمز الدفع (Push token)](/ar/developer/api-reference/api-identifiers/#push-token) للجهاز. |
| language | string | اللغة المحلية للجهاز. يجب أن يكون رمزًا من حرفين صغيرين وفقًا لمعيار ISO-639-1. |
| hwid\* | string | سلسلة فريدة لتعريف الجهاز (IDFV على iOS، قيمة منشأة عشوائيًا على Android). [اعرف المزيد](/ar/developer/api-reference/api-identifiers/#hardware-id) |
| timezone | integer | إزاحة المنطقة الزمنية بالثواني للجهاز. |
| device\_type\* | integer | [نوع الجهاز](/ar/developer/api-reference/api-identifiers/#device-type). انظر القيم الممكنة أدناه. |
| email | string | عنوان البريد الإلكتروني للتسجيل (يُستخدم لمستخدمي البريد الإلكتروني بدلاً من HWID و push token). |
| tags | object | قيم العلامات لتعيينها للجهاز المسجل. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request": {
    "application": "XXXXX-XXXXX",        // مطلوب. رمز تطبيق Pushwoosh
    "push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // اختياري.
    "hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C",                                   // مطلوب. معرّف جهاز الهاردوير (HWID)
    "idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239",                                   // اختياري.
    "timezone": 3600,                    // اختياري. الإزاحة بالثواني
    "device_type": 1,                    // مطلوب. انظر القيم الممكنة أدناه. بالنسبة للبريد الإلكتروني،
                                         //           استخدم معلمات "emails" كما هو موضح أدناه.
    "email": "email_address@domain.com", // يُستخدم بدلاً من "hwid" و "push_token" لتسجيل
                                         //           عنوان البريد الإلكتروني لمشروع البريد الإلكتروني الخاص بك
    "language": "en",                    // اختياري. رمز اللغة ISO 639-1|639-2
    "userId": "Alex",                    // اختياري.
    "tags": {                            // اختياري. قيم العلامات لتعيينها للجهاز المسجل
      "StringTag": "string value",
      "IntegerTag": 42,
      "ListTag": ["string1", "string2"], // يضبط قائمة القيم للعلامات من نوع القائمة
      "DateTag": "2024-10-02 22:11",     // لاحظ أن الوقت يجب أن يكون بتوقيت UTC
      "BooleanTag": true                 // القيم الصالحة هي: true, false
    },

    // علامات النظام، اختيارية
    "app_version": "1.2.3", 
    "device_model": "Samsung SM-G355H",
    "os_version": "2.3",

    // مفاتيح تشفير اختيارية لـ chrome/firefox
    "public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
    "auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
 
    // مفاتيح FCM اختيارية لـ Chrome (لـ XMPP)
    "fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
    "fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ=="
  }
}
```

أنواع الأجهزة الممكنة:

* 1 – iOS
* 3 – Android
* 7 – Mac OS X
* 8 – Windows
* 9 – Amazon
* 10 – Safari
* 11 – Chrome
* 12 – Firefox
* 13 – Internet Explorer
* 14 – البريد الإلكتروني
* 16 – Baidu Android
* 17 – Huawei
* 18 – الرسائل القصيرة (SMS)
* 20 – الويب
* 21 – واتساب
* 22 – Line
* 23 – Kakao Talk
* 24 – تليجرام
* 25 – Apple Wallet
* 26 – Google Wallet
* 27 – Viber

### تسجيل أجهزة البريد الإلكتروني
ل**تسجيل مشترك بريد إلكتروني** لتطبيقك، أرسل المعلمة `"email": "email_address@domain.com"` في طلب `/registerDevice` أو [`/registerEmail`](/ar/developer/api-reference/email-api#registeremail) الخاص بك كما يلي:

##### مثال على الطلب
```json
{
  "request":{
    "application": "XXXXX-XXXXX",        // مطلوب. رمز تطبيق Pushwoosh
    "email": "email_address@domain.com", // مطلوب. عنوان البريد الإلكتروني للتسجيل في مشروع البريد الإلكتروني الخاص بك
    "language": "en",                    // اختياري. رمز اللغة ISO 639-1|639-2
    "userId": "Alex",                    // اختياري.
    "tags": {                            // اختياري. قيم العلامات لتعيينها للجهاز المسجل
      "StringTag": "string value",
      "IntegerTag": 42,
      "ListTag": ["string1", "string2"], // يضبط قائمة القيم للعلامات من نوع القائمة
      "DateTag": "2024-10-02 22:11",     // لاحظ أن الوقت يجب أن يكون بتوقيت UTC
      "BooleanTag": true                 // القيم الصالحة هي: true, false
    }
  }
}
```

### تسجيل أجهزة واتساب
لتسجيل جهاز واتساب لتطبيقك، اتبع هذه الإرشادات:

- **hwid**: تأكد من أن هذا الحقل يتضمن البادئة `whatsapp:` متبوعة برقم الهاتف بتنسيق E.164 (على سبيل المثال، `whatsapp:+0000000000`). يجب أن يكون رقم الهاتف صالحًا، وهو ما سيتحقق منه Pushwoosh.

- **Push token**: لا يلزم وجود رمز دفع (push token)، حيث سيعمل `hwid` تلقائيًا كرمز دفع.

- **device_type**: اضبط هذا الحقل على `21` لتحديد واتساب كمنصة.

##### مثال على الطلب
```json
{ 
  "request": {
    "application": "XXXXX-XXXXX",        // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "whatsapp:+0000000000",      // مطلوب. بادئة واتساب ورقم هاتف صالح
    "timezone": 3600,                    // اختياري. إزاحة الوقت بالثواني
    "device_type": 21,                   // مطلوب. نوع جهاز واتساب هو 21
    "language": "en",                    // اختياري. رمز اللغة ISO 639-1|639-2
    "userId": "Alex",                    // اختياري. معرّف المستخدم
    "tags": {                            // اختياري. قيم العلامات للتقسيم المخصص
      "StringTag": "string value",
      "IntegerTag": 42,
      "ListTag": ["string1", "string2"],
      "DateTag": "2024-10-02 22:11",     // تنسيق UTC
      "BooleanTag": true  
    },
    "app_version": "1.2.3",              // اختياري. إصدار التطبيق
    "device_model": "Samsung SM-G355H",  // اختياري. طراز الجهاز
    "os_version": "2.3"                  // اختياري. إصدار نظام التشغيل
  }
}
```

### تسجيل أجهزة الرسائل القصيرة (SMS)
لتسجيل جهاز SMS لتطبيقك، اتبع هذه الإرشادات:

- **hwid**: تأكد من أن هذا الحقل يتضمن رقم الهاتف بتنسيق E.164 (على سبيل المثال، `+0000000000`). يجب أن يكون رقم الهاتف صالحًا، وهو ما سيتحقق منه Pushwoosh.

- **Push token**: لا يلزم وجود رمز دفع (push token)، حيث سيعمل `hwid` تلقائيًا كرمز دفع.

- **device_type**: اضبط هذا الحقل المطلوب على `18` لتحديد SMS كمنصة.

##### مثال على الطلب
```json 
{  
   "request": {
      "application": "XXXXX-XXXXX",           // مطلوب. رمز تطبيق Pushwoosh
      "hwid": "+0000000000",                  // مطلوب. رقم هاتف صالح بتنسيق E.164
      "timezone": 3600,                       // اختياري. إزاحة الوقت بالثواني
      "device_type": 18,                      // مطلوب. نوع جهاز SMS هو 18
      "language": "en",                       // اختياري. رمز اللغة ISO 639-1|639-2
      "userId": "Alex",                       // اختياري. معرّف المستخدم
      "tags": {                               // اختياري. قيم العلامات للتقسيم المخصص
           "StringTag": "string value",
           "IntegerTag": 42,
           "ListTag": ["string1", "string2"],
           "DateTag": "2024-10-02 22:11",     // تنسيق UTC
           "BooleanTag": true  
      },
      "app_version": "1.2.3",                 // اختياري. إصدار التطبيق
      "device_model": "Samsung SM-G355H",     // اختياري. طراز الجهاز
      "os_version": "2.3"                     // اختياري. إصدار نظام التشغيل
   }
}
```

**رموز الحالة**:

| رمز حالة HTTP | status\_code | الوصف |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | تم تسجيل الجهاز بنجاح |
| 200 | 210 | خطأ في الوسيط. انظر status\_message لمزيد من المعلومات. |
| 400 | N/A | سلسلة طلب غير صالحة |
| 500 | 500 | خطأ داخلي |



## unregisterDevice

`POST` `https://api.pushwoosh.com/json/1.3/unregisterDevice`

يزيل رمز الدفع الخاص بالجهاز. لا يزال الجهاز الذي تم إلغاء تسجيله يُحتسب ضمن إجمالي الأجهزة ويمكن الوصول إليه عبر In-Apps. يتم استدعاؤها داخليًا من SDK.

##### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |

##### جسم الطلب

| الاسم | النوع | الوصف |
| --------------------------------------------- | ------ | --------------------------------------------------- |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [معرّف جهاز الهاردوير (HWID)](/ar/developer/api-reference/api-identifiers/#hardware-id) المستخدم في طلب /registerDevice. |

<Tabs>
<TabItem label="200">
```json
{
    "status_code": 200,
    "status_message": "OK",
    "response": null
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request": {
    "application": "XXXXX-XXXXX",              // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2"  // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
  }
}
```

<Aside type="note">
بالنسبة للبريد الإلكتروني، استدعِ [`/deleteEmail`](/ar/developer/api-reference/email-api/#deleteemail).
</Aside>

**رموز الحالة**:

| رمز حالة HTTP | status\_code | الوصف |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | تم إلغاء اشتراك الجهاز بنجاح |
| 200 | 210 | خطأ في الوسيط. انظر status\_message لمزيد من المعلومات. |
| 400 | N/A | سلسلة طلب غير صالحة |
| 500 | 500 | خطأ داخلي |



## deleteDevice

`POST` `https://api.pushwoosh.com/api/v2/device-api/deleteDevice`

يحذف جهازًا وجميع بياناته المرتبطة به المحددة بواسطة [HWID](/ar/developer/api-reference/api-identifiers/#hardware-id) المحدد داخل التطبيق. على عكس [`/unregisterDevice`](/ar/developer/api-reference/device-api/#unregisterdevice)، الذي يزيل فقط رمز الدفع ويحتفظ بسجل الجهاز، يقوم `/deleteDevice` بإزالة الجهاز بالكامل. تتم معالجة الطلب بشكل غير متزامن، وتعيد نقطة النهاية `200 OK` بمجرد قبول طلب الحذف للمعالجة.

#### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|------------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |
| Content-Type | نعم | application/json | |

#### جسم الطلب

| الاسم | مطلوب | النوع | الوصف |
| ----------- | -------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| application | نعم | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| hwid | نعم | string | [معرّف جهاز الهاردوير (HWID)](/ar/developer/api-reference/api-identifiers/#hardware-id) للجهاز المراد حذفه. |


#### مثال على الطلب

```json
{
  "application": "XXXXX-XXXXX",                 // مطلوب. رمز تطبيق Pushwoosh
  "hwid": "8f65b16df378e7a6bece9614e1530fb2"    // مطلوب. معرّف جهاز الهاردوير (HWID) للجهاز المراد حذفه
}
```

#### مثال على الاستجابة

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

##### رموز الحالة

| رمز حالة HTTP | status\_code | الوصف |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | تم قبول طلب الحذف |
| 200 | 210 | خطأ في الوسيط. انظر status\_message لمزيد من المعلومات. |
| 400 | N/A | سلسلة طلب غير صالحة |
| 401 | N/A | رمز التفويض مفقود أو غير صالح |
| 500 | 500 | خطأ داخلي |



## setTags

`POST` `https://api.pushwoosh.com/json/1.3/setTags`

يضبط قيم العلامات للجهاز. يتم استدعاؤها من SDK.

##### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |

##### جسم الطلب

| الاسم | النوع | الوصف |
| --------------------------------------------- | ------ | ------------------------------------------------------------ |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [معرّف جهاز الهاردوير (HWID)](/ar/developer/api-reference/api-identifiers/#hardware-id) المستخدم في طلب /registerDevice. |
| tags\* | object | كائن JSON للعلامات المراد تعيينها، أرسل "null" لإزالة القيمة. |

<Tabs>
<TabItem label="200">
```json
{
   "status_code": 200,
   "status_message": "OK",
   "response": null
}
```
</TabItem>
</Tabs>

<Aside type="note">
يتم استدعاء الدالة من SDK. من الممكن استدعاؤها عن بعد من الواجهة الخلفية الخاصة بك، ولكنك تحتاج إلى الحفاظ على قاعدة بيانات محدثة من hwid’s على جانب الواجهة الخلفية.
</Aside>

```json title="مثال"
{
  "request":{
    "application": "XXXXX-XXXXX",               // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "tags": {                                   // مطلوب.
      "StringTag": "string value",
      "IntegerTag": 42,
      "ListTag": ["string1", "string2"],        // يضبط قائمة القيم للعلامات من نوع القائمة
      "DateTag": "2024-10-02 22:11",            // لاحظ أن الوقت يجب أن يكون بتوقيت UTC
      "BooleanTag": true                        // القيم الصالحة هي - true, false
    }  
  }
}
```

### زيادة قيم علامة العدد الصحيح

ل**زيادة** قيمة علامة العدد الصحيح، استخدم المعلمة `operation` مع القيمة "increment" كما يلي:

```json
{
  "request":{
    "application": "12345-67890",                   // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "tags": {                                       // مطلوب.
      "Level": {                                    // اسم العلامة
        "operation": "increment",                   // يكتب فوق علامة العدد الصحيح بزيادات بالقيمة التالية
        "value": 1                                  // الزيادة لقيمة العلامة
      }  
    }  
  }
}
```

### إنقاص قيم علامة العدد الصحيح

ل**الإنقاص**، استخدم الأرقام السالبة كقيمة لعملية "increment" (-1, -2, -3,-n):

```json
{
  "request":{
    "application": "12345-67890",                   // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "tags": {                                       // مطلوب
      "Level": {                                    // اسم العلامة
        "operation": "increment",                   // يكتب فوق علامة العدد الصحيح بإنقاص بالقيمة التالية
        "value": -1                                 // الإنقاص لقيمة العلامة
      }  
    }  
  }
}
```

### إلحاق قيم علامة القائمة

ل**توسيع علامة القائمة بقيم جديدة**، استخدم المعلمة `operation` مع القيمة "append" كما يلي:

```json title="مثال"
{
  "request": {
    "hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "application": "6XXXX-XXXX3",               // مطلوب. رمز تطبيق Pushwoosh
    "tags": {                                   // مطلوب.
      "ListTag": {                              // اسم العلامة
        "operation": "append",                  // يلحق القيم التالية بقائمة قيم العلامة
        "value": [                              // القيم المراد إلحاقها
          "tag2",
          "tag3"
        ]
      }
    }
  }
}
```

### إزالة قيم علامة القائمة

لإزالة بعض القيم من علامة القائمة، استخدم عملية "remove" كما يلي:

```json
{
  "request":{
    "application": "12345-67890",                   // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "tags": {                                       // مطلوب.
      "In-App Product": {                           // اسم العلامة
        "operation": "remove",                      // يزيل القيم التالية من علامة القائمة
        "value": "outwear_02"                       // القيمة أو القيم المراد إزالتها
      }
    }  
  }
}
```

### تعيين العلامات بواسطة UserID

لتعيين علامات لجميع الأجهزة المرتبطة بـ [User ID](/ar/developer/api-reference/api-identifiers/#user-id) معين، استخدم المعلمة "userId" بدلاً من "hwid".

<Aside type="caution">
تأكد من أن العلامة التي تقوم بتعيين قيم لها هي [خاصة بالمستخدم](/ar/developer/guides/audience-and-segmentation/tags/#tag-scope-general-vs-user-specific).
</Aside>

```json title="مثال"
{
  "request":{
    "application": "AAAAA-BBBBB", // رمز تطبيق Pushwoosh
    "userId": "some_user",        // معرّف المستخدم الذي ترغب في تعيين علامات له
    "tags": {                     // العلامات والقيم المراد تعيينها
      "Language": "es"
    }  
  }
}
```

<Aside type="note">
بالنسبة للبريد الإلكتروني، استدعِ [`/setEmailTags`](/ar/developer/api-reference/email-api/#setemailtags).
</Aside>

**رموز الحالة:**

| رمز حالة HTTP | status\_code | الوصف |
| ---------------- | ------------ | -------------------------------------------------- |
| 200 | 200 | تم تعيين العلامات بنجاح |
| 200 | 210 | خطأ في الوسيط. انظر status\_message لمزيد من المعلومات. |
| 400 | N/A | سلسلة طلب غير صالحة |
| 500 | 500 | خطأ داخلي |


## getTags

`POST` `https://api.pushwoosh.com/json/1.3/getTags`

يسترجع قائمة العلامات مع القيم المقابلة للجهاز المحدد.

##### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |

##### جسم الطلب

| الاسم | النوع | الوصف |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------- |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| userId | string | [User ID](/ar/developer/api-reference/api-identifiers/#user-id) ليتم استخدامه بدلاً من "hwid". إذا تم استخدامه مع "hwid"، فإن "hwid" هو الذي يسود. |
| hwid | string | [معرّف جهاز الهاردوير (HWID)](/ar/developer/api-reference/api-identifiers/#hardware-id) المستخدم في طلب `/registerDevice`. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "result": {
      "Language": "fr"
    }
  }
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request":{
    "application": "XXXXX-XXXXX",   // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "HWID",                 // اختياري. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "userId": "USER_ID"             // اختياري. يمكن استخدامه بدلاً من "hwid" لاسترداد العلامات لمستخدم معين
  }
}
```

## setBadge

`POST` `https://api.pushwoosh.com/json/1.3/setBadge`

يرسل قيمة الشارة الحالية للجهاز إلى Pushwoosh. يتم استدعاؤها داخليًا من SDK.

##### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |

##### جسم الطلب

| الاسم | النوع | الوصف |
| --------------------------------------------- | ------- | --------------------------------------------------- |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [معرّف جهاز الهاردوير (HWID)](/ar/developer/api-reference/api-identifiers/#hardware-id) المستخدم في طلب /registerDevice. |
| badge\* | integer | الشارة الحالية على التطبيق. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK"
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request":{
    "application": "XXXXX-XXXXX",               // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "badge": 4                                  // مطلوب. الشارة الحالية على التطبيق
  }
}
```

يتم استدعاؤها من SDK داخليًا. ترسل قيمة الشارة الحالية للجهاز إلى Pushwoosh. يحدث هذا داخليًا عندما يغير التطبيق قيمة الشارة على جهاز iOS. يسمح للشارات ذات الزيادة التلقائية بالعمل بشكل صحيح.

<Aside type="caution">
هذه الدالة **لا تستخدم** لتحديث قيمة الشارة على الجهاز. بدلاً من ذلك، يرجى استخدام طلب [`/createMessage`](/ar/developer/api-reference/messages-api/#createmessage) مع المعلمة `"ios_badges"`.
</Aside>



## applicationOpen

`POST` `https://api.pushwoosh.com/json/1.3/applicationOpen`

يسجل حدث فتح التطبيق. يتم استدعاؤها داخليًا من SDK.

##### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |

##### جسم الطلب

| الاسم | النوع | الوصف |
| --------------------------------------------- | ------ | --------------------------------------------------- |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [معرّف جهاز الهاردوير (HWID)](/ar/developer/api-reference/api-identifiers/#hardware-id) المستخدم في طلب `/registerDevice`. |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK"
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request": {
    "application": "XXXXX-XXXXX",              // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
  }
}
```



## pushStat

`POST` `https://api.pushwoosh.com/json/1.3/pushStat`

يسجل حدث فتح إشعار الدفع. يتم استدعاؤها داخليًا من SDK.

##### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |
##### جسم الطلب

| الاسم | النوع | الوصف |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------- |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [معرّف جهاز الهاردوير (HWID)](/ar/developer/api-reference/api-identifiers/#hardware-id) المستخدم في طلب /registerDevice. |
| userId | string | [User ID](/ar/developer/api-reference/api-identifiers/#user-id) لربطه بحدث فتح إشعار الدفع. |
| hash | string | علامة الهاش المستلمة في إشعار الدفع (المعلمة "p" من حمولة الدفع). |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="مثال"
{
  "request": {
    "application": "XXXXX-XXXXX",               // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "userId": "USER012345",                     // اختياري. معرّف المستخدم لربطه بحدث فتح إشعار الدفع
    "hash": "HASH_TAG"                          // اختياري. علامة الهاش المستلمة في إشعار الدفع
                                                //           (المعلمة "p" في حمولة الدفع)
  }
}
```


## messageDeliveryEvent

`POST` `https://api.pushwoosh.com/json/1.3/messageDeliveryEvent`

يسجل حدث تسليم إشعار الدفع للجهاز. يتم استدعاؤها داخليًا من SDK.

##### ترويسات الطلب

| الاسم | مطلوب | القيمة | الوصف |
|---------------|----------|---------------|------------------------------------------------------------|
| Authorization | نعم | Token `XXXX` | [رمز جهاز API](/ar/developer/api-reference/api-access-token/#device-api-token) للوصول إلى واجهة برمجة تطبيقات الجهاز. استبدل `XXXX` برمز جهاز API الفعلي الخاص بك. |

##### جسم الطلب

| الاسم | النوع | الوصف |
| --------------------------------------------- | ------ | --------------------------------------------------------------------------- |
| application\* | string | [رمز تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| hwid\* | string | [معرّف جهاز الهاردوير (HWID)](/ar/developer/api-reference/api-identifiers/#hardware-id) المستخدم في طلب `/registerDevice`. |
| hash | string | علامة الهاش المستلمة في إشعار الدفع (المعلمة "p" من حمولة الدفع). |

<Tabs>
<TabItem label="200">
```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": null
}
```
</TabItem>
</Tabs>

```json title="مثال"
 {
  "request": {
    "application": "XXXXX-XXXXX",               // مطلوب. رمز تطبيق Pushwoosh
    "hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // مطلوب. معرّف جهاز الهاردوير (HWID) المستخدم في واجهة برمجة تطبيقات /registerDevice
    "hash": "HASH_TAG"                          // اختياري. علامة الهاش المستلمة في إشعار الدفع
                                                //           (المعلمة "p" في حمولة الدفع)
  }
}
```