Дополнительные поля сообщения
Дополнительные поля используются для передачи дополнительной информации, изменения поведения клиентов и т. д.
Дополнительные поля хранятся в схеме ключ-значение и принимаются только в запросах POST /message с типом контента application/json.
Пространства имён
Заголовок раздела «Пространства имён»Ключи под .extras должны быть в следующем формате: <top-namespace>::[<sub-namespace>::]<action>.
Некоторые из пространств имён используются официальными клиентами:
| Пространство имён | Описание |
|---|---|
client::* | Зарезервировано |
client::display | Изменяет способ отображения информации клиентом |
client::notification | Настраивает уведомление |
android::* | Зарезервировано |
android::action | Реагирует на события |
ios::* | Зарезервировано |
server::* | Зарезервировано |
| Все остальные | Определены конечными пользователями |
client::display
Заголовок раздела «client::display»contentType
Заголовок раздела «contentType»Определение
Заголовок раздела «Определение»| contentType | описание |
|---|---|
text/plain | По умолчанию; сообщение будет отображаться как обычный текст. Ссылки могут быть выделены и интерактивны. |
text/markdown | Сообщение должно быть отображено как markdown. HTML должен быть проигнорирован. |
Примечание: Markdown поддерживает отображение изображений через
, эти изображения будут автоматически загружены при просмотре сообщения. Аналогично тому, почему удалённое содержимое блокируется по умолчанию в почтовых клиентах, автоматическая загрузка удалённых изображений может использоваться для сбора информации от пользователя.Также, если часть сообщения интерполирована из вредоносного внешнего источника, злоумышленник может вввести неправильно сформированный markdown, который приводит к раскрытию информации.
Рекомендуется использовать
text/plainдля снижения возможных проблем безопасности при использовании текста из внешних источников, таких как вывод скриптов.
{ "extras": { "client::display": { "contentType": "text/plain" } }}Поддержка
Заголовок раздела «Поддержка»| Клиент | с версии | описание |
|---|---|---|
| Notifly Web UI | v2.0.5 | Использует GitHub Flavored Markdown |
| Notifly Android | v2.0.7 | Использует commonmark-spec |
client::notification
Заголовок раздела «client::notification»click.url
Заголовок раздела «click.url»click.url (строка): открывает URL при нажатии на уведомление.
{ "extras": { "client::notification": { "click": {"url": "https://notifly.net"} } }}Поддержка
Заголовок раздела «Поддержка»| Клиент | с версии | описание |
|---|---|---|
| Notifly Android | v2.0.10 | Предотвращает открытие приложения Notifly по умолчанию |
bigImageUrl
Заголовок раздела «bigImageUrl»bigImageUrl (строка): показывает большое изображение в уведомлении.
{ "extras": { "client::notification": { "bigImageUrl": "https://placekitten.com/400/300" } }}Поддержка
Заголовок раздела «Поддержка»| Клиент | с версии | описание |
|---|---|---|
| Notifly Android | v2.3.0 | Может потребоваться развернуть уведомление. |
android::action
Заголовок раздела «android::action»onReceive.intentUrl
Заголовок раздела «onReceive.intentUrl»onReceive.intentUrl (строка): открывает intent после доставки уведомления.
{ "extras": { "android::action": { "onReceive": {"intentUrl": "https://notifly.net"} } }}Поддержка
Заголовок раздела «Поддержка»| Клиент | с версии | описание |
|---|---|---|
| Notifly Android | v2.0.11 | Необходимо включить “Intent Action Permission” в параметрах приложения, иначе эта функция работает только при активном приложении. |