Отправка сообщений
Задача: отправить сообщение в свой канал одним HTTP-запросом — из скрипта, сервера, CI или CMS — и получить его уведомлением на устройстве.
Подготовка
Заголовок раздела «Подготовка»- Канал. Откройте раздел «Каналы» в боковом меню админки app.notifly.ru и нажмите «Создать канал» (при первом входе это делает мастер первого запуска). Сообщения канала видит его владелец и те, с кем канал расшарен.
- App-токен канала (префикс
A) — виден в строке канала, нажмите, чтобы показать и скопировать. Для отдельных скриптов и CI удобнее выпустить каналу отдельный машинный ключ — его можно отозвать, не трогая остальные. - Получатель — Android-приложение или открытая вкладка админки с разрешёнными уведомлениями (см. «Первый вход»). Без него сообщение попадёт в ленту, но уведомления не будет.
Отправка
Заголовок раздела «Отправка»Минимальный рабочий запрос — curl с app-токеном в заголовке X-Notifly-Key
и JSON-телом:
curl -X POST "https://api.notifly.ru/message" \ -H "X-Notifly-Key: <apptoken>" \ -H "Content-Type: application/json" \ -d '{"title": "my title", "message": "my message", "priority": 5}'При успехе сервер отвечает 200 и возвращает созданное сообщение:
{ "id": 25, "appid": 5, "message": "my message", "title": "my title", "priority": 5, "date": "2026-09-27T10:00:00Z"}Проверка
Заголовок раздела «Проверка»- Ответ
200сid— сообщение принято и сохранено. - Сообщение появилось в ленте канала в админке.
- На устройстве-получателе показано уведомление. Его заметность зависит от приоритета (см. параметры).
Ответ 200 есть, а уведомления нет — см. «Не приходят уведомления».
| Код | Когда |
|---|---|
200 | Сообщение принято |
400 | Нет поля message или тело не разобралось |
401 | Токен не передан, неверный, отозван или истёк |
403 | Токен без права записи (например, делегированный доступ view) или служебный канал |
429 | Исчерпана дневная квота событий (см. Квоты и тарифы) или rate limit |
Параметры сообщения
Заголовок раздела «Параметры сообщения»Обязателен только параметр message. Остальные поля (title, priority, extras) необязательны. Если priority не задан, используется приоритет канала по умолчанию (defaultPriority). Приоритет — число от 0 до 10: от него зависят заметность уведомления на телефоне, эскалация по минимальному приоритету и пробитие тихих часов.
API сообщения принимает свойство
extras, которое передаёт дополнительную информацию с сообщением и описывает, как клиенты ведут себя относительно этого сообщения. См. дополнительные поля сообщения для получения дополнительной информации.
Не только односторонние сообщения: помимо обычных push-уведомлений в канал можно отправлять интерактивные вопросы с вариантами ответа и получать ответ обратно. См. интерактивные вопросы.
Другие способы отправки
Заголовок раздела «Другие способы отправки»Подойдёт curl, HTTPie или любой другой HTTP-клиент. Тело запроса — JSON (Content-Type: application/json). App-токен передаётся заголовком X-Notifly-Key, заголовком Authorization: Bearer <apptoken> или параметром token в URL.
$ http POST https://api.notifly.ru/message X-Notifly-Key:"<apptoken>" title="my title" message="my message" priority:=5В Microsoft PowerShell используйте встроенные командлеты Invoke-RestMethod или Invoke-WebRequest, передавая тело как JSON:
PS> $body = @{title="my title"; message="my message"; priority=5} | ConvertTo-JsonPS> Invoke-RestMethod -Uri "https://api.notifly.ru/message" -Method POST -Headers @{"X-Notifly-Key"="<apptoken>"} -ContentType "application/json; charset=utf-8" -Body $body # результат автоматически разбирается в объект PowerShellPS> Invoke-WebRequest -Uri "https://api.notifly.ru/message" -Method POST -Headers @{"X-Notifly-Key"="<apptoken>"} -ContentType "application/json; charset=utf-8" -Body $body # результат как необработанный ответСовет: токен можно передать и в URL (
?token=<apptoken>) — это удобно там, где нельзя задать заголовок. Помните, что URL с токеном оседает в логах прокси и истории команд, поэтому в скриптах надёжнее заголовок.
Вы также можете использовать Notifly CLI для отправки сообщений. CLI сохраняет URL и токен в файле конфигурации.
$ notifly push -t "my title" -p 10 "my message"$ echo my message | notifly pushКак установить Notifly CLI. Здесь ещё много примеров отправки сообщений на различных языках.
Создание канала через API
Заголовок раздела «Создание канала через API»Если каналы нужно заводить из кода, используйте API-токен
(префикс M) с правом write. Путь application сохранён для совместимости с
протоколом Gotify — это тот же канал:
curl -X POST https://api.notifly.ru/application \ -H "X-Notifly-Key: <api-token>" \ -H "Content-Type: application/json" \ -d '{"name": "test", "description": "tutorial"}'App-токен нового канала возвращается в ответе. См. Документацию API.
REST API
Заголовок раздела «REST API»| Метод и путь | Назначение | Аутентификация |
|---|---|---|
POST /message | Отправить сообщение в канал | App-токен (X-Notifly-Key, Authorization: Bearer или ?token=) |
POST /application | Создать канал | API-токен |
GET /application | Список каналов | API-токен |
Поля запроса POST /message: message (обязательно), title, priority (если не задан — defaultPriority канала), extras (см. дополнительные поля сообщения).
Что дальше
Заголовок раздела «Что дальше»- Доп. поля сообщения — markdown, ссылка по тапу, картинка.
- Вопросы в каналах (Ask) — спросить человека и получить ответ.
- Доставка и эскалация — дослать непрочитанное на почту, SMS или в мессенджер.