mechta-market/php-sms-gateway

There is no license information available for the latest version (1.0.1) of this package.

Обёртка PHP для работы с SMS-шлюзом

1.0.1 2024-07-18 05:18 UTC

This package is auto-updated.

Last update: 2025-02-18 06:38:26 UTC


README

Введение

MechtaMarket SMS Gateway — это пакет для отправки SMS сообщений через настраиваемый шлюз для PHP проектов. Пакет разработан так, чтобы его можно было повторно использовать в различных проектах.

Установка

Установите пакет с помощью Composer:

composer require mechta-market/php-sms-gateway

Использование

Инициализация сервиса

Вы можете инициализировать SmsGatewayService, предоставив базовый URL вашего SMS-шлюза:

use MechtaMarket\SmsGateway\SmsGatewayService;

$base_url = 'https://sms-gateway.example.com';
$sms_gateway_service = new SmsGatewayService($base_url);

Отправка SMS

Пакет предоставляет два способа отправки SMS: синхронно и асинхронно.

Синхронная отправка

Синхронная отправка предполагает, что сервис отправки SMS будет ожидать ответа от провайдера и вернет ID сообщения в ответе. Для синхронной отправки SMS используйте метод sendSync:

try {
    $sms_id = $sms_gateway_service->sendSync('1234567890', 'Тестовое сообщение');
    echo "SMS успешно отправлено с ID: $sms_id";
} catch (InvalidArgumentException $e) {
    // некорректные аргументы
    echo "Не удалось отправить SMS: " . $e->getMessage();
} catch (\MechtaMarket\SmsGateway\Exceptions\SmsGatewayClientException $e) {
    // клиентская ошибка
    echo "Не удалось отправить SMS: " . $e->getMessage();
} catch (\MechtaMarket\SmsGateway\Exceptions\SmsGatewayServerException $e) {
    // ошибка сервера
    echo "Не удалось отправить SMS: " . $e->getMessage();
}

Асинхронная отправка

Асинхронная отправка предполагает, что задача отправки SMS будет выполнена в фоновом режиме, и нет необходимости ожидать ответа от провайдера. Для асинхронной отправки SMS используйте метод sendAsync:

try {
    $sms_gateway_service->sendAsync('1234567890', 'Тестовое сообщение');
    echo "SMS успешно отправлено";
} catch (InvalidArgumentException $e) {
    // некорректные аргументы
    echo "Не удалось отправить SMS: " . $e->getMessage();
} catch (\MechtaMarket\SmsGateway\Exceptions\SmsGatewayClientException $e) {
    // клиентская ошибка
    echo "Не удалось отправить SMS: " . $e->getMessage();
} catch (\MechtaMarket\SmsGateway\Exceptions\SmsGatewayServerException $e) {
    // ошибка сервера
    echo "Не удалось отправить SMS: " . $e->getMessage();
}