WooCommerce: как настроить автоматическую отправку сообщений покупателям после заказа

Диагностика задачи: зачем нужна автоматическая отправка сообщений после заказа в WooCommerce

Автоматические уведомления клиентам после оформления заказа — ключевой элемент сервиса в интернет-магазине на WooCommerce. Они повышают доверие, информируют о статусе, стимулируют повторные продажи. Стандартные письма WooCommerce покрывают базовые сценарии, но часто требуется расширенная кастомизация: отправка SMS, сообщения в мессенджеры, персонализация контента, задержки, дополнительные условия.

Как настроить отправку кастомных сообщений после заказа в WooCommerce

Использование стандартных хуков WooCommerce для отправки писем

WooCommerce предоставляет хук woocommerce_order_status_completed, который срабатывает, когда заказ переводится в статус "завершен". На его основе можно добавить собственный код отправки письма или интеграции с внешними сервисами.

add_action('woocommerce_order_status_completed', 'send_custom_message_after_order', 10, 1);
function send_custom_message_after_order($order_id) {
    if (!$order_id) return;
    $order = wc_get_order($order_id);
    $to = $order->get_billing_email();
    $subject = 'Спасибо за покупку!';
    $message = 'Ваш заказ #' . $order->get_order_number() . ' успешно завершен.';
    wp_mail($to, $subject, $message);
}

Этот код отправит простое письмо после завершения заказа. Можно расширить логику, добавив данные заказа, ссылки, персонализацию.

Отправка SMS или сообщений в мессенджеры

Для интеграции с SMS-шлюзами (например, Twilio, SMS.ru) или Telegram/WhatsApp потребуется API соответствующих сервисов. Ниже пример отправки SMS через sms.ru:

function send_sms_after_order($order_id) {
    $order = wc_get_order($order_id);
    $phone = $order->get_billing_phone();
    if (!$phone) return;
    $token = 'ВАШ_API_ТОКЕН';
    $message = urlencode('Спасибо за заказ #' . $order->get_order_number());
    $url = "https://sms.ru/sms/send?api_id={$token}&to={$phone}&msg={$message}&json=1";
    wp_remote_get($url);
}
add_action('woocommerce_order_status_completed', 'send_sms_after_order');

Аналогично можно реализовать отправку в Telegram через бота с использованием wp_remote_post.

Пошаговое руководство по внедрению и настройке

  1. Создайте дочернюю тему или плагин для кастомного кода.
  2. Подключите функцию отправки письма или сообщения по хуку woocommerce_order_status_completed.
  3. Если нужен SMS или мессенджер, зарегистрируйтесь в сервисе, получите API ключ.
  4. Добавьте в функцию API-запросы для отправки сообщений.
  5. Тестируйте на тестовом заказе, проверяйте логи и входящие сообщения.

Проверка результата после внедрения

  • Создайте тестовый заказ с вашим email и телефоном.
  • Переведите заказ в статус "завершен" вручную в админке WooCommerce.
  • Проверьте входящие письма и/или SMS.
  • Отслеживайте логи ошибок в wp-content/debug.log, если включен WP_DEBUG.

Частые ошибки и их исправление

  • Письмо не отправляется: проверьте работу wp_mail(), настройте SMTP через плагин (например, WP Mail SMTP).
  • SMS не приходит: проверьте корректность номера, API ключ, баланс аккаунта в SMS-сервисе.
  • Сообщения отправляются несколько раз: проверьте, что хук не подключается повторно или не вызывается на другие статусы.
  • Сообщение отправляется в неподходящий статус: используйте правильный хук, например, woocommerce_order_status_completed или woocommerce_order_status_processing.

Практические советы по безопасности и производительности

  • Используйте nonce и проверяйте права пользователя, если добавляете интерфейс настройки.
  • Для отправки сообщений в сторонние сервисы используйте асинхронные запросы через wp_remote_post с таймаутом, чтобы не замедлять обработку заказа.
  • Логируйте ошибки API вызовов в отдельный файл для отладки.
  • Не храните API ключи в открытом виде в коде — используйте wp-config.php или параметры плагина.

Сравнение вариантов реализации автоматических сообщений

ВариантПреимуществаНедостатки
Стандартные email WooCommerceПростота, нет доп. настроекОграниченная кастомизация
Кастомный PHP-код на хукахГибкость, интеграция с любыми сервисамиНужно писать и поддерживать код
Плагины (например, AutomateWoo)Удобный интерфейс, множество сценариевПлатные, могут нагружать сервер
Как настроить автопостинг из Instagram в WordPress без помощи официального API
14.02.2026
WooCommerce: как автоматически удалять неактивные заказы по срокам
21.05.2026
Автопостинг из Telegram-канала в WordPress с фильтрацией и обработкой контента
17.03.2026
Автопостинг в WordPress из ВКонтакте: настройка через плагины и примеры кода
04.03.2026
WooCommerce: как автоматически удалять неактивные заказы по срокам
07.07.2026