Как отправить сообщение через WhatsApp с помощью API Whatsagete: Пример PHP-скрипта

В этой статье я расскажу, как отправить сообщение в WhatsApp с использованием API Whatsagete и PHP. Мы рассмотрим готовый скрипт, который можно использовать для отправки сообщений на WhatsApp аккаунт через API, а также подробно объясним, как он работает.

Что такое Whatsagete API?

Whatsagete API позволяет автоматизировать отправку сообщений через платформу WhatsApp, что делает его отличным инструментом для интеграции с различными сервисами и приложениями. С его помощью можно отправлять уведомления, автоматические сообщения клиентам, а также обмениваться информацией в реальном времени через WhatsApp.

Основные этапы работы

Мы рассмотрим два важных аспекта:

  1. Отправка сообщения через API — скрипт делает запрос на сервер Whatsagete с необходимыми параметрами.
  2. Получение параметров через GET-запрос — скрипт динамически обрабатывает параметры для отправки сообщений.

PHP-скрипт для отправки сообщения через WhatsApp

Приведенный ниже PHP-скрипт выполняет отправку сообщения на указанный номер телефона через API Whatsagete:

<?php

/**
 * Функция для отправки сообщения через WhatsApp API
 *
 * @param string $apiKey API ключ для доступа
 * @param string $whatsappId Идентификатор WhatsApp аккаунта
 * @param string $phoneNumber Номер телефона получателя (только цифры)
 * @param string $messageBody Текст сообщения
 * @param bool $async Асинхронная отправка (по умолчанию false)
 * @return array Ответ API или ошибка
 */
function sendWhatsAppMessage($apiKey, $whatsappId, $phoneNumber, $messageBody, $async = false) {
    $url = 'https://whatsgate.ru/api/v1/send'; // URL для отправки сообщений
    $recipientId = $phoneNumber . '@c.us'; // Форматирование номера получателя

    // Подготовка данных для запроса
    $data = [
        "WhatsappID" => $whatsappId,
        "async" => $async,
        "recipient" => [
            "id" => $recipientId
        ],
        "message" => [
            "body" => $messageBody
        ]
    ];

    // Инициализация cURL
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

    // Установка заголовков
    $headers = [
        'Accept: application/json',
        'X-API-Key: ' . $apiKey,
        'Content-Type: application/json'
    ];
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    // Выполнение запроса и обработка ответа
    $result = curl_exec($ch);

    if (curl_errno($ch)) {
        $error = 'Ошибка cURL: ' . curl_error($ch);
        curl_close($ch);
        return ['success' => false, 'error' => $error];
    }

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    // Возврат результата
    if ($httpCode >= 200 && $httpCode < 300) {
        return ['success' => true, 'response' => json_decode($result, true)];
    } else {
        return ['success' => false, 'error' => 'HTTP код: ' . $httpCode, 'response' => json_decode($result, true)];
    }
}

/**
 * Функция для получения параметров через GET запрос
 *
 * @param string $key Ключ параметра
 * @param mixed $default Значение по умолчанию, если параметр не найден
 * @return mixed Параметр или значение по умолчанию
 */
function getParam($key, $default = null) {
    return isset($_GET[$key]) ? $_GET[$key] : $default;
}

// Получение параметров через GET-запрос
$apiKey = getParam('apiKey', ''); // API ключ
$whatsappId = getParam('whatsappId', ''); // Идентификатор WhatsApp аккаунта
$phoneNumber = getParam('phoneNumber', '79999999999'); // Номер телефона получателя
$messageBody = getParam('message', 'Hello world!'); // Текст сообщения
$async = getParam('async', false); // Асинхронный режим отправки

// Отправка сообщения и получение ответа
$response = sendWhatsAppMessage($apiKey, $whatsappId, $phoneNumber, $messageBody, $async);

// Возвращаем результат в формате JSON
header('Content-Type: application/json');
echo json_encode($response);

Как работает скрипт?

1. Функция sendWhatsAppMessage

Эта функция является основной и предназначена для отправки сообщения через WhatsApp API. Она принимает следующие параметры:

  • $apiKey: API ключ, который используется для аутентификации на сервере Whatsagete.
  • $whatsappId: Идентификатор аккаунта WhatsApp, с которого будет отправлено сообщение.
  • $phoneNumber: Номер телефона получателя в формате международного кода страны (без символов, только цифры).
  • $messageBody: Текст сообщения, которое нужно отправить.
  • $async: Опциональный параметр, указывающий, будет ли отправка сообщения асинхронной (по умолчанию — синхронная отправка).

После настройки всех параметров, функция выполняет HTTP-запрос с помощью библиотеки cURL и возвращает ответ сервера.

2. Обработка ошибок

Функция обрабатывает возможные ошибки при запросе, такие как ошибки cURL или неверные HTTP-коды. Если запрос завершился с ошибкой, возвращается сообщение с информацией об ошибке.

3. Функция getParam

Эта функция позволяет динамически получать параметры из GET-запроса. Таким образом, можно передавать параметры, такие как API ключ, идентификатор аккаунта, номер телефона и текст сообщения через URL-запрос.

Пример использования

Чтобы использовать данный скрипт, вы можете вызвать его через браузер или командную строку, передав необходимые параметры в URL. Например:

https://example.com/send.php?apiKey=YOUR_API_KEY&whatsappId=YOUR_WHATSAPP_ID&phoneNumber=79999999999&message=Привет!

Заключение

Данный PHP-скрипт — это простой и эффективный способ интеграции отправки сообщений в WhatsApp с помощью API Whatsagete. Вы можете использовать этот код в своем проекте для отправки сообщений пользователям или клиентам, автоматизируя коммуникацию через WhatsApp.


Больше на БЛОГ | RUVEM.RU | НОВОСТИ В ИТ

Subscribe to get the latest posts sent to your email.