Перейти к содержанию

Параметры push-уведомлений

Для автоматической обработки и отображения push-уведомлений Ваше приложение должно быть осведомлено о возможных типах уведомлений и об аргументах, присылаемых в этих уведомлениях. Звёздочкой отмечены названия обязательных параметров.

Типы данных

Тип Описание
Double Вещественный тип числа.
Long/Int Целочисленный тип.
String Строковый тип.
Enum Значение из списка возможных (строковый тип).
Array<*> Список значений (массив).

Уведомление

Название параметра Тип Пример Описание
type* Enum P.OM Тип push-уведомления.

Возможные значения:

P.OM, P.OF, P.CR, P.OA, P.WM
event* Enum add Действие push-уведомления.

Возможные значения:

add, del
message Представление типа JSON (см. message) message={
"kind": "operator",
"clientSideId": "03ef89e10352b87809e67f74504c4bb6",
"name": "Никита К",
"avatar": "/webim/images/avatar/wmtest2_181510.png",
"text": "1232",
"ts": 1.531582962567873E9
}
Сообщение push-уведомления.

Обязателен, если typeP.OM, P.OF, P.CR.
params Array ["Никита К","1232"] Параметры push-уведомления.

Обязателен, если typeP.OA, P.OM, P.OF:
  • Для P.OA – массив из одного элемента: имя оператора
  • Для P.OF – массив из двух элементов: имя оператора, название файла
  • Для P.OM – массив из двух элементов: имя оператора, текст сообщения

Возможные значения параметра loc-key (iOS) и type (Android):

  • P.CR означает, что оператор прислал запрос контактных данных.

  • P.OA означает, что оператор взял чат в обработку.

  • P.OF означает, что оператор прислал файл.

  • P.OM означает, что оператор прислал сообщение.

  • P.RO означает, что необходимо оценить оператора.

  • P.WM означает, что оператор прислал виджет (для включения данной функциональности необходимо обратиться в службу поддержки).

Значения массива аргументов — параметр loc-args (iOS) и params (Android):

  • Для P.CR – массив пустой.

  • Для P.OA – массив из одного элемента: имя оператора.

  • Для P.OF – массив из двух элементов: имя оператора, название файла.

  • Для P.OM – массив из двух элементов: имя оператора, текст сообщения.

  • Для P.RO – массив пустой.

  • Для P.WM – массив содержит информацию о виджете (для включения данной функциональности необходимо обратиться в службу поддержки).

Данные параметры приходят без названий, порядок в массиве важен.

Возможные значения параметра event (Android)

  • add – push-уведомление необходимо показать

  • del – push-уведомление необходимо удалить

Если push-уведомление имеет тип P.OF или P.OM, то параметр message содержит в себе сообщение, в ином случае этого параметра нет.

message

Название параметра Тип Пример Описание
name* String Никита К Имя автора сообщения.
avatar* String /webim/images/avatar/wmtest2_181510.png URL аватара автора сообщения.
kind* Enum operator Тип сообщения.

Возможные типы: operator, file_operator, cont_req.
clientSideId* String 03ef89e10352b87809e67f74504c4bb6 ID сообщения.
ts* Double 1.531582962567873E9 Время сообщения в микросекундах.
text* String Текст сообщения Текст сообщения или строковое представление формата JSON с файлом, сериализованное в строку.

text

kind Тип Пример Описание
operator String Здравствуйте, чем я могу Вам помочь? Текстовое сообщение оператора.
file_operator String См. описание параметра Сообщение с файлом от оператора, содержащее сериализированный JSON.
cont_req String Введите, пожалуйста, Вашу контактную информацию. Сообщение с запросом контактной информации.

file_operator

Параметр Тип Пример Описание
is_voice Boolean False Параметр, указывающий является ли сообщение голосовым.
client_content_type String image/jpeg Content type файла, указанный при отправке фронтэндом.
image.size.width Int 1125 Ширина изображения в пикселях.
image.size.length Int 2000 Высота изображения в пикселях.
visitor_id String fbd431f77834ba107b120cfa07fec70d Идентификатор посетителя в guid-формате.
filename String 3_(3).jpg Название файла.
content-type String image/jpeg Content type файла, распознанный при анализе файла.
guid String 4bfc1ae213b84cd586abc2c787b87a8e Идентификатор файла.
size Int 176001 Размер файла в байтах.

image

Название параметра Тип Пример Описание
size* Представление типа JSON (см. size) {"width": 300, "height": 300} Размеры превью изображения.

size

Название параметра Тип Пример Описание
width* Int 300 Ширина превью изображения.
height* Int 300 Высота превью изображения.

В уведомлениях в iOS используются в основном те же параметры. Среди специфических для этой платформы упомянем:

Название параметра Тип Пример Описание
loc-key* String P.OM Тип уведомления.
loc-args Array Массив с параметрами (см. выше). Параметры push-уведомления.

Обязателен, если type – P.OA, P.OM, P.OF:
  • Для P.OA – массив из одного элемента: имя оператора
  • Для P.OF – массив из двух элементов: имя оператора, название файла
  • Для P.OM – массив из двух элементов: имя оператора, текст сообщения
sound String default Звук уведомления.
webim* Int 1 Параметр для идентификации приложения. Всегда равен 1.

Примеры для FCM Android

Оператор взял чат в обработку:

{params=["Никита К"], type=P.OA, event=add}

Пришло сообщение:

{
            params=[
                "Никита К",
                "1232"
            ],
            type=P.OM,
            event=add,
            message={
                "kind": "operator",
                "clientSideId": "03ef89e10352b87809e67f74504c4bb6",
                "name": "Никита К",
                "avatar": "/webim/images/avatar/wmtest2_181510.png",
                "text": "1232",
                "ts": 1.531582962567873E9
            }
}

Пришёл файл:

{
            params=   [
                "Никита К",
                "p.jpg"
            ],
            type=P.OF,
            event=add,
            message=   {
                "kind": "file_operator",
                "clientSideId": "a49529502be8482ba9134756c4a4a211",
                "name": "Никита К",
                "avatar": "/webim/images/avatar/wmtest2_181510.png",
                "text": {
                    "client_content_type": "image/jpeg",
                    "image": {
                        "size": {
                        "width": 300,
                        "height": 300
                        }
                    },
                    "visitor_id": "1b0c5d865529418a91f728c525b6d9fd",
                    "filename": "p.jpg",
                    "content_type": "image/jpeg",
                    "guid": "ac741895c19a47078bc54f722951957f",
                    "size": 53323
                },
                "ts": 1.531584932619524E9
            }
}

Оператор запросил контактные данные:

{
            params=[

            ],
            type=P.CR,
            event=add,
            message={
                "kind": "cont_req",
                "clientSideId": "525a9cd6c49a46de90ca4c9016681b56",
                "name": "Никита К",
                "avatar": "/webim/images/avatar/wmtest2_181510.png",
                "text": "Please enter your contact information.",
                "ts": 1.531584937099446E9
            }
}

Пример для APNs iOS

Пример push-уведомления для iOS:

{
        "aps": {
            "alert": {
                "loc-key": "P.OM",
                "loc-args": ["Имя Оператора", "Сообщение"]
            },
            "sound": "default",
        },
        "webim": 1
}

N.B.

В зависимости от типа сообщения, в коде push-уведомления для iOS изменяются только значения loc-key и loc-args.

Пример для Huawei Push Kit

Пример push-уведомления для Huawei может выглядеть следующим образом:

{
    "validate_only": false,
    "token": "токен",
    "data": {
        "pushtype": 1,
        "pushbody": Стандартное тело для push-уведомления Android
    } 
}