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

Notifly из CMS

CMS, в которых работают десятки и сотни сайтов, обычно сами рассылают почту, но это медленно и часто не доходит. Notifly даёт мгновенный канал для админа сайта: новый комментарий — push, новый заказ — push, ошибка PHP — push.

  1. Сайт на Tilda → Notifly в Tilda, способ 2: вебхук формы идёт прямо в Webhook Router Notifly. Без кода и без своего хостинга.
  2. Нужны только заявки с форм, а до PHP не добраться → WebScript с типом «Отправка формы»: вставьте готовый <script> в шаблон или HTML-блок страницы, и каждая отправленная форма придёт push-ом. Сниппет пересылает все поля формы, так что не ставьте его на формы с паролями и платёжными данными.
  3. WordPress, 1С-Битрикс и другие CMS → рецепт вашей CMS из таблицы ниже. Код готовый, но его нужно положить на сервер сайта и вписать токен: понадобится доступ к файлам (FTP, SSH или панель хостинга) и базовое понимание PHP.
  4. Сайт вообще открывается? → Активные мониторы: Notifly сам проверяет сайт и пишет, если тот упал. Без кода, всё в админке.
CMS / платформаЧто покрываем
WordPressКомментарии, регистрации, обновления, заказы WooCommerce
1С-БитриксЗаказы, формы, ошибки, работа агента
DrupalHook-и узлов, watchdog, новые пользователи
MODXСобытия формы, ресурсов, плагины
JoomlaПользователи, статьи, формы, ошибки PHP
OpenCartЗаказы, низкие остатки, регистрации
PrestaShopЗаказы, новые клиенты, нехватка товара
TildaЗаявки форм через вебхук

Большинство рецептов используют одну и ту же микро-функцию. Положите её в системный скрипт автозагрузки CMS:

<?php
function notifly_send(string $title, string $message, int $priority = 5): void {
$url = getenv('NOTIFLY_URL') ?: 'https://api.notifly.ru';
$token = getenv('NOTIFLY_TOKEN') ?: 'AGdjfk_L.dKe8q';
$body = json_encode([
'title' => mb_substr($title, 0, 200),
'message' => mb_substr($message, 0, 1500),
'priority' => $priority,
], JSON_UNESCAPED_UNICODE);
$ch = curl_init("$url/message?token=$token");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => $body,
CURLOPT_TIMEOUT => 5,
CURLOPT_CONNECTTIMEOUT => 3,
]);
curl_exec($ch);
curl_close($ch);
}

Лучше всего — задать NOTIFLY_URL и NOTIFLY_TOKEN через PHP-FPM environment или .htaccess/SetEnv, чтобы не хранить токен в коде.

  • Токен канала — только на сервере. Вызовы /message делайте из серверного PHP. На страницу можно ставить только сниппет WebScript: его токен умеет лишь отправлять события этого скрипта.
  • Не отправляйте PII (имена, email, адреса) лишний раз. Покажите краткую ссылку на админку CMS.
  • Тротлинг. При спам-волне комментариев не превращайте Notifly в Telegram-канал. Подойдёт простой кэш в wp_cache/bx_cache.