Перейти к содержимому

Отправка сообщений

Как уже было указано во Введении, вам нужен канал для отправки сообщений в Notifly. Только пользователь, создавший канал, может видеть его сообщения. Канал можно добавить через

  • WebUI: откройте раздел «Каналы» в боковом меню и нажмите «Создать канал» в админке app.notifly.ru
  • REST API: curl -u admin:admin https://notifly.ru/application -F "name=test" -F "description=tutorial" (путь application сохранён для совместимости с протоколом Gotify). См. Документацию API

Чтобы отправлять сообщения в канал, нужен app-токен этого канала (префикс A). Токен возвращается в REST-запросе и виден в WebUI.

Теперь вы можете просто использовать curl, HTTPie или любой другой установленный HTTP-клиент для отправки сообщений. App-токен передаётся либо заголовком X-Notifly-Key, либо параметром token в URL.

Окно терминала
$ curl https://notifly.ru/message -H "X-Notifly-Key: <apptoken>" -F "title=my title" -F "message=my message" -F "priority=5"
$ http -f POST https://notifly.ru/message X-Notifly-Key:"<apptoken>" title="my title" message="my message" priority="5"

В Microsoft PowerShell вы можете использовать встроенные командлеты Invoke-RestMethod или Invoke-WebRequest.

Окно терминала
PS> Invoke-RestMethod -Uri "https://notifly.ru/message" -Method POST -Headers @{"X-Notifly-Key"="<apptoken>"} -Body @{title="my title"; message="my message"; priority=5} # результат автоматически разбирается в объект PowerShell
PS> Invoke-WebRequest -Uri "https://notifly.ru/message" -Method POST -Headers @{"X-Notifly-Key"="<apptoken>"} -Body @{title="my title"; message="my message"; priority=5} # результат как необработанный ответ

API сообщения принимает свойство extras, которое передаёт дополнительную информацию с сообщением и описывает, как клиенты ведут себя относительно этого сообщения. См. дополнительные поля сообщения для получения дополнительной информации.

Обязателен только параметр message. Остальные поля (title, priority, extras) необязательны. Если priority не задан, используется приоритет канала по умолчанию.

Не только односторонние сообщения: помимо обычных push-уведомлений в канал можно отправлять интерактивные вопросы с вариантами ответа и получать ответ обратно. См. интерактивные вопросы.

Здесь ещё много примеров отправки сообщений на различных языках.

Совет: для интеграций из браузера, фронтенда и простых скриптов удобнее использовать форму с параметром token в URL — без заголовков и без CORS-preflight.

Вы также можете использовать Notifly CLI для отправки сообщений. CLI сохраняет URL и токен в файле конфигурации.

Окно терминала
$ notifly push -t "my title" -p 10 "my message"
$ echo my message | notifly push

Как установить Notifly CLI.

Метод и путьНазначениеАутентификация
POST /messageОтправить сообщение в каналApp-токен (X-Notifly-Key или ?token=)
POST /applicationСоздать каналClient-токен / Basic Auth
GET /applicationСписок каналовClient-токен / Basic Auth

Поля запроса POST /message: message (обязательно), title, priority (если не задан — defaultPriority канала), extras (см. дополнительные поля сообщения).