Диагностика задачи: зачем нужна отправка заказов в WhatsApp
Для многих интернет-магазинов, работающих на WooCommerce, критично быстро получать уведомления о новых заказах. Электронная почта часто бывает недостаточно оперативной, а мобильные приложения — не всегда удобны для менеджеров. WhatsApp — универсальный и быстрый канал связи, который позволяет мгновенно получать информацию о заказах и оперативно реагировать.
В этом руководстве рассмотрим, как добиться автоматической отправки уведомлений о новых заказах WooCommerce в WhatsApp с минимальным количеством сторонних сервисов и без сложных интеграций.
Варианты решения автоматической отправки заказов в WhatsApp
1. Использование плагинов с интеграцией WhatsApp
Есть плагины, которые позволяют добавить кнопку WhatsApp для связи с клиентом, но редко — для автоматических уведомлений менеджерам.
Плюсы: легкость установки, минимум кода.
Минусы: часто платные, ограниченная кастомизация.
2. Автоматизация через Web WhatsApp API и PHP
Написать свой обработчик, который при новом заказе формирует сообщение и отправляет его в WhatsApp через API или сторонние сервисы (например, Twilio WhatsApp API, WATI).
Плюсы: полный контроль, настраиваемый формат сообщений.
Минусы: требует настройки сторонних сервисов, дополнительный код.
3. Отправка через WhatsApp Web с использованием URL-схемы
Можно автоматически формировать ссылку https://wa.me/номер?text=текст и отправлять её менеджерам для быстрого перехода.
Плюсы: не требует API.
Минусы: не автоматическое отправление, требует действий пользователя.
Пошаговое решение через хук WooCommerce и API Twilio WhatsApp
Регистрация в Twilio и настройка WhatsApp
- Зарегистрируйтесь на Twilio WhatsApp и подключите номер.
- Получите SID аккаунта, auth token и номер для отправки WhatsApp сообщений.
Добавление кода в functions.php вашей темы или в собственный плагин
Используем хук woocommerce_thankyou, который срабатывает после успешного оформления заказа.
add_action('woocommerce_thankyou', 'send_whatsapp_order_notification', 10, 1);
function send_whatsapp_order_notification($order_id) {
if (!$order_id) return;
$order = wc_get_order($order_id);
if (!$order) return;
// Данные для отправки
$account_sid = 'ВАШ_TWILIO_SID';
$auth_token = 'ВАШ_TWILIO_AUTH_TOKEN';
$twilio_number = 'whatsapp:+1234567890'; // Ваш Twilio WhatsApp номер
$to_number = 'whatsapp:+79876543210'; // Номер менеджера
$message = "Новый заказ #" . $order->get_id() . "\n";
$message .= "Клиент: " . $order->get_billing_first_name() . " " . $order->get_billing_last_name() . "\n";
$message .= "Сумма: " . $order->get_formatted_order_total() . "\n";
$message .= "Товары:\n";
foreach ($order->get_items() as $item) {
$product_name = $item->get_name();
$qty = $item->get_quantity();
$message .= "- " . $product_name . " x " . $qty . "\n";
}
// Отправка через cURL
$url = 'https://api.twilio.com/2010-04-01/Accounts/' . $account_sid . '/Messages.json';
$data = [
'From' => $twilio_number,
'To' => $to_number,
'Body' => $message
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_USERPWD, $account_sid . ':' . $auth_token);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// По желанию можно логировать $response для отладки
}
Проверка результата после внедрения
- Оформите тестовый заказ в WooCommerce на вашем сайте.
- Проверьте, что на телефон менеджера пришло WhatsApp-сообщение с информацией о заказе.
- Если сообщения нет — проверьте логи сервера, включите отладку cURL и корректность данных Twilio.
Частые ошибки и как их исправить
- Ошибка 401 Unauthorized — неверные SID или auth token Twilio. Проверьте правильность данных в коде.
- Сообщения не приходят — убедитесь, что Twilio аккаунт активирован и WhatsApp номер подключен.
- cURL не установлен или отключен на сервере — свяжитесь с хостингом для активации расширения.
- Проблемы с форматированием сообщения — используйте
urlencodeдля текста, если отправляете через URL-схему.
Практические советы по безопасности и производительности
- Не храните SID и токены в открытом коде, используйте
wp-config.phpили переменные окружения. - Реализуйте логирование отправленных сообщений для мониторинга и отладки.
- Не выполняйте отправку сообщений в синхронном режиме, если ожидаете большой поток заказов — используйте очереди или CRON задачи.
- Ограничьте доступ к коду, чтобы избежать утечки конфиденциальных данных Twilio.
Таблица сравнения подходов для отправки WhatsApp сообщений
| Метод | Плюсы | Минусы | Код / Плагин |
|---|---|---|---|
| Плагины WhatsApp для WooCommerce | Простота, готовые решения | Ограниченная кастомизация, платные | Плагин |
| Использование Twilio API | Полный контроль, надежно | Требует настройки API и кода | Код + сервис |
| WhatsApp Web URL-схема | Без API, быстро | Не автоматическая отправка, требует действий | Код |