# API Message Inbox

## getInboxMessages

Возвращает список сообщений Inbox для указанного HWID.

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

#### Заголовки запроса

| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token `XXXX` | [API Device Token](/ru/developer/api-reference/api-access-token/#device-api-token) для доступа к Device API. Замените `XXXX` на ваш реальный токен Device API. |

#### Тело запроса

| Имя | Тип | Описание |
|---|---|---|
| application\* | string | [Pushwoosh application code](/ru/developer/api-reference/api-identifiers/#application-code) |
| userId\* | string | Если собственный [User ID](/ru/developer/api-reference/api-identifiers/#user-id) не задан, используйте HWID. |
| hwid | string | [Hardware ID устройства](/ru/developer/api-reference/api-identifiers/#hardware-id), для которого нужно получить сообщения Inbox. |
| last\_code | string | Код последнего сообщения, полученного в предыдущем ответе. Если пусто, возвращаются первые сообщения. |
| count | integer | Количество сообщений, отображаемых в одном ответе; используется для пагинации. 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": {                // полезная нагрузка, описывающая действия при открытии пуша
        "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"                       // хэш-код пуш-уведомления
    }, {
      ...
    }],
    "next":"afarew511",                 // следующий код Inbox, который будет возвращен
                                        // следующим запросом /getInboxMessages
    "deleted": ["bbaf85ab", "a41957b"], // список сообщений, удаленных из Control Panel
    "new_inbox": 6                      // количество доставленных сообщений Inbox для этого пользователя (может использоваться для бейджа)
  }
}
```
</TabItem>
</Tabs>

```json title="Пример запроса"
{
  "request": {
    "application": "XXXXX-XXXXX", // обязательно. Pushwoosh app code
     "userId": "user_name_1",     // обязательно. User ID, зарегистрированный в Pushwoosh
     "device_type": 1             // необязательно. Типы устройств см. в /registerDevice
  }
}
```

<Aside type="note">
Для iOS убедитесь, что вы добавили Notification Service Extension в свой проект для отслеживания доставки пушей. [Подробнее](/ru/developer/pushwoosh-sdk/ios-sdk/ios-message-delivery-tracking/)
</Aside>

## inboxStatus

Обновляет статус конкретного сообщения Inbox.

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

#### Заголовки запроса

| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token `XXXX` | [API Device Token](/ru/developer/api-reference/api-access-token/#device-api-token) для доступа к Device API. Замените `XXXX` на ваш реальный токен Device API. |

#### Тело запроса

| Имя | Тип | Описание |
|---|---|---|
| application\* | string | [Pushwoosh application code](/ru/developer/api-reference/api-identifiers/#application-code) |
| inbox\_code\* | string | Можно получить из деталей сообщения в Control Panel или из параметра "order" запроса `/getInboxMessages` |
| hash | string | Хэш-код сообщения Inbox. |
| hwid | string | [Hardware ID устройства](/ru/developer/api-reference/api-identifiers/#hardware-id), для которого обновляется статус Inbox. |
| time | string | Временная метка даты отправки. |
| userID\* | string | Если собственный [User ID](/ru/developer/api-reference/api-identifiers/#user-id) не задан, используйте HWID. |
| status\* | integer | 1 - доставлено, 2 - прочитано, 3 - открыто, 4 - удалено пользователем. |
| device\_type | integer | [См. возможные значения](/ru/developer/api-reference/api-identifiers/#device-type). |

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

```json title="Пример"
{
  "request": {
    "application": "XXXXX-XXXXX",    // обязательно. Pushwoosh application code
    "inbox_code": "874393934032909", // обязательно. параметр "order" запроса /getInboxMessages
    "hash": "1C",                    // необязательно.
    "userId": "some_user",           // обязательно.
    "status": 2,                     // обязательно. устанавливаемый статус: 1-доставлено, 2-прочитано, 3-открыто, 4-удалено (пользователем)
    "device_type": 3                 // необязательно.
  }
}
```