# Отправить пуш-уведомление

# Запрос для отправки

METHOD POST
URI /v1/push/send/
AUTH Bearer <token>

# Параметры

Название Тип Обязательный Описание
id string(255) false Идентификатор из внешней системы
header string(255) true Заголовок пуш-уведомления
text string true Текст пуш-уведомления
url string(255) false Ссылка на внешний ресурс
route_in_app range in 'Catalog', 'History', 'Stock', 'Basket', 'Profile', 'Chat' false Ссылка на раздел в приложении
Catalog - Каталог товаров
History - История заказов
Stock - Акции
Basket - Корзина
Profile - Личный кабинет
Chat - Чат
send_to_all boolean false Отправить пуш-уведомление всем пользователям
user_ids array false Массив идентификаторов пользователей из системы

Ключевые моменты

  1. Идентификатор из внешней системы id создан для того, чтобы исключить дублирование пуш-уведомлений. Если в систему приходит запрос с данным атрибутом, то в системе будет осуществлен поиск, если ничего не будет найдено, то будет создано новое пуш-уведомление

  2. Если пуш-уведомление будет найдено в системе, то оно будет изменено и отправлено, если до этого отправка не удалась

  3. Массив идентификаторов пользователей из системы user_ids - должен содержать идентификаторы пользователей в системе, если какой-либо из идентификаторов не будет соответствовать, будет выведено сообщение "Пользователя с таким идентификатором не существует"

  4. При пустом массиве идентификаторов пользователей из системы user_ids значение поля send_to_all должно быть true

  5. При заполненом массиве идентификаторов пользователей из системы user_ids значение поля send_to_all должно быть true

# Ответ

Ответ будет содержать параметр success(boolean) true|false - по которому можно понять пуш-уведомление было отправлено или нет

Пример положительного ответа

{
    "success": true,
    "message": null,
    "data": {
        "id": 110,
        "external_id": null,
        "need_to_send": true,
        "header": "Автоматический тест",
        "text": "Автоматический тест",
        "url": null,
        "route_in_app": null,
        "user_ids": [
            45
        ],
        "send_to_all": false,
        "created_at": "2020-01-14 22:04:58",
        "sent_at": "2020-01-14 22:04:58"
    }
}

Пример отрицательного ответа

{
    "success": false,
    "errorType": "RequestError",
    "message": null,
    "data": {
        "send_to_all": [
            "При заполненом \"user_ids\" списке пользователей для отправки значение поля должно быть false - не должна стоять галочка"
        ],
        "id": [
            "Не удалось создать/изменить push уведомление"
        ]
    }
}

# Пример

Запрос

{
    "header": "Автоматический тест",
    "text": "Автоматический тест",
    "send_to_all": false,
    "user_ids": [45]
}

Ответ

{
    "success": true,
    "message": null,
    "data": {
        "id": 110,
        "external_id": null,
        "need_to_send": true,
        "header": "Автоматический тест",
        "text": "Автоматический тест",
        "url": null,
        "route_in_app": null,
        "user_ids": [
            45
        ],
        "send_to_all": false,
        "created_at": "2020-01-14 22:04:58",
        "sent_at": "2020-01-14 22:04:58"
    }
}