Настройка уведомлений о статусе заказа в WhatsApp 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка уведомлений о статусе заказа в WhatsApp 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка уведомлений о статусе заказа в WhatsApp 1С-Битрикс

WhatsApp не предоставляет публичный Bot API как Telegram. Отправка уведомлений клиентам в WhatsApp требует использования WhatsApp Business API (официальный путь через Meta) или неофициальных шлюзов. Выбор метода определяет стоимость, надёжность и соответствие правилам платформы — последнее важно, если аккаунт нарушает TOS, его блокируют без предупреждения.

Варианты интеграции

1. WhatsApp Business API (официальный)

Доступ через Cloud API Meta или через BSP (Business Solution Provider): Twilio, MessageBird, WABA360, i2crm. Требует верификации бизнеса в Meta, одобрения шаблонов сообщений. Шаблоны проходят модерацию, не все форматы разрешены. Стоимость — за исходящее сообщение.

2. Шлюзы на базе WhatsApp Web (неофициальные)

Chat-api.com, green-api.com и аналоги. Работают через эмуляцию WhatsApp Web с номером телефона, подключённым к аккаунту. Риск блокировки выше, но проще в интеграции и дешевле. Для уведомлений о заказах с небольшим объёмом (<500 сообщений/день) — рабочий вариант.

Интеграция через Green API (шлюз)

Green API предоставляет REST API с минимальным порогом входа. Для тестирования — бесплатный инстанс.

class WhatsAppService
{
    private string $apiUrl;
    private string $idInstance;
    private string $apiToken;

    public function __construct()
    {
        $settings = \Bitrix\Main\Config\Configuration::getValue('custom');
        $this->idInstance = $settings['whatsapp_instance_id'];
        $this->apiToken   = $settings['whatsapp_api_token'];
        $this->apiUrl     = "https://api.green-api.com/waInstance{$this->idInstance}";
    }

    public function sendMessage(string $phone, string $message): bool
    {
        // Приводим номер к формату [email protected]
        $phone = preg_replace('/[^0-9]/', '', $phone);
        if (str_starts_with($phone, '8')) {
            $phone = '7' . substr($phone, 1);
        }
        $chatId = $phone . '@c.us';

        $url = "{$this->apiUrl}/sendMessage/{$this->apiToken}";
        $payload = json_encode([
            'chatId'  => $chatId,
            'message' => $message,
        ]);

        $ch = curl_init($url);
        curl_setopt_array($ch, [
            CURLOPT_POST           => true,
            CURLOPT_POSTFIELDS     => $payload,
            CURLOPT_HTTPHEADER     => ['Content-Type: application/json'],
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_TIMEOUT        => 10,
        ]);
        $response = json_decode(curl_exec($ch), true);
        curl_close($ch);

        return isset($response['idMessage']);
    }
}

Обработчик события заказа

// /local/php_interface/init.php
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSaleOrderStatusChange',
    function (\Bitrix\Main\Event $event) {
        $order = $event->getParameter('ENTITY');
        $statusId = $order->getField('STATUS_ID');

        // Получаем телефон покупателя из свойств заказа
        $propCollection = $order->getPropertyCollection();
        $phoneProp = $propCollection->getItemByOrderPropertyCode('PHONE');
        $phone = $phoneProp ? $phoneProp->getValue() : null;

        if (!$phone) {
            return;
        }

        $statusTexts = [
            'N' => 'Ваш заказ #%d принят. Ожидайте подтверждения.',
            'P' => 'Заказ #%d передан курьеру.',
            'D' => 'Заказ #%d ожидает вас в пункте выдачи.',
            'F' => 'Заказ #%d выполнен. Спасибо!',
            'X' => 'Заказ #%d отменён.',
        ];

        if (!isset($statusTexts[$statusId])) {
            return;
        }

        $message = sprintf($statusTexts[$statusId], $order->getId());

        $wa = new WhatsAppService();
        $wa->sendMessage($phone, $message);
    }
);

Важные ограничения WhatsApp Business API

При использовании официального Meta API (Cloud API) сообщения без предварительного opt-in от пользователя запрещены. Шаблоны сообщений должны быть одобрены Meta перед отправкой. Пример структуры шаблона:

{
  "name": "order_status_update",
  "language": { "code": "ru" },
  "components": [
    {
      "type": "body",
      "text": "Статус вашего заказа №{{1}} изменён: {{2}}."
    }
  ]
}

Запрос к Meta Cloud API:

$response = Http::post(
    "https://graph.facebook.com/v18.0/{$phoneNumberId}/messages",
    [
        'messaging_product' => 'whatsapp',
        'to'                => $recipientPhone,
        'type'              => 'template',
        'template'          => [
            'name'       => 'order_status_update',
            'language'   => ['code' => 'ru'],
            'components' => [[
                'type'       => 'body',
                'parameters' => [
                    ['type' => 'text', 'text' => $orderId],
                    ['type' => 'text', 'text' => $statusText],
                ],
            ]],
        ],
    ]
);

Сроки настройки

Интеграция через Green API или аналогичный шлюз, обработчик событий, форматирование сообщений по статусам — 4–8 часов. Официальный WhatsApp Business API с верификацией Meta, шаблонами и тестированием — 3–5 рабочих дней.