jfoltan/sms-manager-bundle

Symfony bundle for sending SMS via SMSManager API

Installs: 10

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Forks: 0

Type:symfony-bundle

1.1.4 2025-04-06 16:01 UTC

This package is not auto-updated.

Last update: 2025-07-14 22:51:58 UTC


README

SmsManagerBundle je Symfony bundle pro odesílání SMS zpráv prostřednictvím SMSManager API v2.

📦 Instalace

1. Instalace přes Composer

composer require jfoltan/sms-manager-bundle

2. Registrace bundlu (pouze pokud nepoužíváte Symfony Flex)

// config/bundles.php
return [
    // ...
    SmsManagerBundle\SmsManagerBundle::class => ['all' => true],
];

⚙️ Konfigurace

Vytvořte konfigurační soubor config/packages/sms_manager.yaml:

sms_manager:
    api_key: '%env(SMS_MANAGER_API_KEY)%'
    base_url: '%env(default:https://api.smsmngr.com/v2:SMS_MANAGER_BASE_URL)%'
    $httpClient: '@GuzzleHttp\Client'

A přidejte odpovídající proměnné prostředí do .env nebo .env.local:

###> sms-manager-bundle ###
SMS_MANAGER_API_KEY=vas_api_klic
# Volitelně lze přepsat výchozí základní URL
# SMS_MANAGER_BASE_URL=https://api.smsmngr.com/v2
###< sms-manager-bundle ###

🚀 Použití

Základní použití

use SmsManagerBundle\Service\SmsManagerClient;

class SmsController extends AbstractController
{
    public function __construct(private SmsManagerClient $smsClient) {}

    public function sendSms(): Response
    {
        $text = 'Testovací SMS zpráva';
        $recipients = ['+420123456789', '+420987654321'];

        $result = $this->smsClient->sendMessage($text, $recipients);

        return new Response('SMS odeslána: ' . json_encode($result));
    }
}

Odeslání jednoduché zprávy s vlastním odesílatelem

$phoneNumber = '+420123456789';
$text = 'Testovací SMS zpráva';
$sender = 'MujWeb';

$result = $this->smsClient->sendSimpleMessage($phoneNumber, $text, $sender);

Hromadné odeslání více různých zpráv

$messages = [
    [
        'body' => 'První zpráva',
        'to' => [['phone_number' => '+420123456789']],
    ],
    [
        'body' => 'Druhá zpráva',
        'to' => [['phone_number' => '+420987654321']],
    ],
];

$result = $this->smsClient->sendMessages($messages);

✅ Dostupné metody

MetodaPopis
sendMessage(string $text, array $recipients)Odešle jednu zprávu více příjemcům
sendSimpleMessage(string $phoneNumber, string $text, string $sender, bool $useGet = false)Odešle jednoduchou zprávu jednomu příjemci s vlastním odesílatelem
sendMessages(array $messages)Odešle více různých zpráv najednou

📋 Požadavky

  • PHP 7.4 nebo vyšší
  • Symfony 5.0 nebo 6.0+
  • guzzlehttp/guzzle
  • symfony/framework-bundle

🪪 Licence

Tento balíček je open-source software licencovaný pod MIT licencí.

👤 Autor

Vytvořil Jakub Foltán