# API صندوق الرسائل

## getInboxMessages

يُرجع قائمة رسائل Inbox لـ HWID محدد.

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

#### رؤوس الطلب (Request headers)

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

#### جسم الطلب (Request Body)

| الاسم | النوع | الوصف |
|---|---|---|
| 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 | string | [Hardware ID للجهاز](/ar/developer/api-reference/api-identifiers/#hardware-id) للحصول على رسائل Inbox الخاصة به. |
| last\_code | string | كود آخر رسالة تم استرجاعها في الاستجابة السابقة. إذا كان فارغاً، يتم إرجاع الرسائل الأولى. |
| count | integer | عدد الرسائل التي سيتم عرضها في استجابة واحدة؛ يُستخدم لتقسيم الصفحات (pagination). 0 لتحميل جميع الرسائل في Inbox. |

<Tabs>
<TabItem label="200">
```
{
  "response": {
    "messages": [{                      // مصفوفة الرسائل المخزنة حالياً في Inbox الخاص بالمستخدم
      "inbox_id": "avde1c792cd",
      "rt": "146078676",                // تاريخ إزالة الرسالة من Inbox
      "send_date": "1459758676",        // تاريخ حفظ الرسالة في Inbox
      "order": "59138176",              // الموضع في ترتيب عرض Inbox
      "title": "New Rich Media in inbox!",
      "text": "Hi! New feature is available right now!",
      "action_type": "RichMedia",
      "action_params": {                // الحمولة التي تصف الإجراءات عند فتح الـ push
        "rm": "{\"url\":\"https:\/\/richmedia.pushwoosh.com\/C82F7-51FC1.zip\",\"ts\":\"1459758676\",\"tags\":{\"tagName\":\"tagValue\"}}"
      },
      "status": 1,                      // 1 - تم التسليم، 2 - تمت القراءة، 3 - تم الفتح،
                                        // 4 - محذوفة (بواسطة المستخدم)، 5 - محذوفة من لوحة التحكم (Control Panel)
      "hash":"1C"                       // كود التجزئة (hash) لإشعار الـ push
    }, {
      ...
    }],
    "next":"afarew511",                 // كود Inbox التالي الذي سيتم إرجاعه بواسطة
                                        // طلب /getInboxMessages التالي
    "deleted": ["bbaf85ab", "a41957b"], // قائمة الرسائل المحذوفة من لوحة التحكم (Control Panel)
    "new_inbox": 6                      // عدد رسائل Inbox التي تم تسليمها لهذا المستخدم (يمكن استخدامها للشارة)
  }
}
```
</TabItem>
</Tabs>

```json title="Example Request"
{
  "request": {
    "application": "XXXXX-XXXXX", // مطلوب. كود تطبيق Pushwoosh
     "userId": "user_name_1",     // مطلوب. User ID المسجل في Pushwoosh
     "device_type": 1             // اختياري. لأنواع الأجهزة ارجع إلى /registerDevice
  }
}
```

<Aside type="note">
بالنسبة لـ iOS، يرجى التأكد من إضافة Notification Service Extension إلى مشروعك لتتبع تسليم الـ push. [اعرف المزيد](/ar/developer/pushwoosh-sdk/ios-sdk/ios-message-delivery-tracking/)
</Aside>

## inboxStatus

يقوم بتحديث حالة رسالة Inbox معينة.

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

#### رؤوس الطلب (Request headers)

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

#### جسم الطلب (Request Body)

| الاسم | النوع | الوصف |
|---|---|---|
| application\* | string | [كود تطبيق Pushwoosh](/ar/developer/api-reference/api-identifiers/#application-code) |
| inbox\_code\* | string | يمكن الحصول عليه من تفاصيل الرسالة في لوحة التحكم (Control Panel) أو من المعلمة "order" لطلب `/geInboxMessages` |
| hash | string | كود Hash لرسالة Inbox. |
| hwid | string | [Hardware ID للجهاز](/ar/developer/api-reference/api-identifiers/#hardware-id) لتحديث حالة Inbox له. |
| time | string | الطابع الزمني لتاريخ الإرسال. |
| userID\* | string | إذا لم يتم تعيين [User ID](/ar/developer/api-reference/api-identifiers/#user-id) مخصص، استخدم HWID. |
| status\* | integer | 1 - تم التسليم، 2 - تمت القراءة، 3 - تم الفتح، 4 - محذوفة بواسطة المستخدم. |
| device\_type | integer | [انظر القيم الممكنة](/ar/developer/api-reference/api-identifiers/#device-type). |

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

```json title="Example"
{
  "request": {
    "application": "XXXXX-XXXXX",    // مطلوب. كود تطبيق Pushwoosh
    "inbox_code": "874393934032909", // مطلوب. المعلمة "order" لطلب /getInboxMessages
    "hash": "1C",                    // اختياري.
    "userId": "some_user",           // مطلوب.
    "status": 2,                     // مطلوب. الحالة لتعيينها: 1-تم التسليم، 2-تمت القراءة، 3-تم الفتح، 4-محذوفة (بواسطة المستخدم)
    "device_type": 3                 // اختياري.
  }
}
```