# Push-уведомления о смене статуса заказа

Если ваш магазин использует мобильное приложение с версией 2.0 или выше, вы можете подключить push-уведомления о смене статуса заказа через сервис OneSignal.

## Настройка API OneSignal

Для того, чтобы и приложение, и наш сервер могли работать с OneSignal, вам потребуется указать идентификатор приложения OneSignal (App ID) в конструкторе приложения. Так же необходимо указать этот же App ID и ключ REST API (REST API Key) в настройках уведомлений магазина.

App ID и REST API Key можно найти в вашем аккаунте OneSignal.

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2FB3uwEjxlL8IpHVsJxpHa%2F79a6d7d-Screenshot_2023-03-20_at_9.59.50_PM.png?alt=media&#x26;token=ccb8293e-c062-4a4c-a26b-eea2e6ab3dac" alt=""><figcaption><p>Раздел с информацией о приложении в интерфейсе OneSignal.</p></figcaption></figure>

### Настройка приложения

В панели управления магазином найдите ваше приложение в боковом меню слева. Выберите раздел **«Конструктор»** и перейдите в него.

В интерфейсе конструктора выберите раздел **«Интеграции»** и введите идентификатор вашего приложения в поле **Клиентский API ключ OneSignal**, предварительно выбрав **OneSignal** в выпадающем списке **Провайдер пуш уведомлений**. Сохраните настройки.

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2FJccGYhzr1szNfarWexUJ%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202023-06-23%20%D0%B2%2013.05.49.png?alt=media&#x26;token=bba605e0-0175-485e-a58b-0951a36b96f5" alt=""><figcaption><p>Редактирование интеграции push-уведомлений в конструкторе приложения.</p></figcaption></figure>

### Настройка уведомлений заказов

Перейдите в раздел **«Магазин»** -> **«Настройки заказов»** и найдите раздел **«Уведомления»**.

В этом разделе включите настройку **«Подключить пуш-уведомления OneSignal»**. Далее введите App ID в поле **«ID приложения OneSignal»** и ключ REST API в поле **«Ключ REST API приложения OneSignal»**. Сохраните настройки.

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2FLKwk3h5RGurCyY7wz5gG%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202023-06-23%20%D0%B2%2013.11.03.png?alt=media&#x26;token=db1b6571-ca82-4c8a-a9f7-122d8099326d" alt=""><figcaption><p>Редактирование настроек уведомлений заказов.</p></figcaption></figure>

## Настройка статусов заказов

Теперь вам нужно отредактировать каждый статус заказа, для которого вы хотите подключить push-уведомления.

Перейдите в раздел **«Продажи»** -> **«Статусы заказов»** и откройте редактирование нужного статуса заказа.

{% hint style="info" %}
Push-уведомления недоступны для статусов заказов с типом **«Ожидание»**, **«Ожидание оплаты»**, **«Новый»** и **«Экспортирован»**.
{% endhint %}

В разделе **«Пуш-уведомления»** включите отправку, переключив настройку **«Отправлять пуш-уведомления»**, и введите текст сообщения, которое будет отправлено покупателю.

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2F5H1a0nFpwyaDyTTa2V39%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202023-06-23%20%D0%B2%2013.16.30.png?alt=media&#x26;token=e0c224ee-70e9-47bd-ad3a-1980591012ca" alt=""><figcaption><p>Настройка push-уведомления для статуса заказа.</p></figcaption></figure>

В тексте сообщения вы можете использовать специальные подстановки `:order` и `:status`, которые будут заменены на номер заказа и название статуса заказа соответственно.

{% hint style="info" %}
Например, если вы введёте текст «Ваш заказ **:order** подтверждён!», то покупателю будет отправлено сообщение «Ваш заказ **№2306-100** подтверждён!», где «№2306-100» – настоящий номер заказа.

Другой пример – текст «Статус вашего заказа **:order** изменился на **:status**.» будет заменён на «Статус вашего заказа **№2306-100** изменился на **Подтверждён**», где «№2306-100» – настоящий номер заказа, а «Подтверждён» – название статуса заказа.

При использовании этих подстановок не забудьте про **двоеточие**, которое должно идти **слитно** вместе с названием подстановки (`:order` и `:status`).
{% endhint %}

Эту операцию нужно проделать с каждым статусом, который должен отправлять push-уведомления.

Статусы заказов, для которых подключены push-уведомления, будут отмечены иконкой колокола.

<figure><img src="https://1480690874-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1B1BMwmRkGzV5C4BnU%2Fuploads%2FIPImDjURt8TXzmvpjw0C%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202023-06-23%20%D0%B2%2013.27.07.png?alt=media&#x26;token=06b01559-8b69-4afa-a93f-955bd69d1544" alt=""><figcaption><p>Список статусов заказов с отметкой push-уведомлений.</p></figcaption></figure>

## Если push-уведомления не приходят

1. Убедитесь, что вы указали правильный идентификатор приложения OneSignal (в конструкторе приложения и в настройках заказов магазина) и ключ REST API (в настройках заказов магазина);
2. Убедитесь, что для конкретного статуса заказа подключена отправка push-уведомлений;
3. Для получения push-уведомлений покупатель должен войти в свой аккаунт в вашем приложении, а так же разрешить получение push-уведомлений от вашего приложения.
