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

Notifly из CMS

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

CMS / платформаЧто покрываем
WordPressКомментарии, регистрации, обновления, заказы WooCommerce
1С-БитриксЗаказы, формы, ошибки, работа агента
DrupalHook-и узлов, watchdog, новые пользователи
MODXСобытия формы, ресурсов, плагины

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

<?php
function notifly_send(string $title, string $message, int $priority = 5): void {
$url = getenv('NOTIFLY_URL') ?: 'https://your-notifly.example.com';
$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, чтобы не хранить токен в коде.

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