tonci14/laravel-eurosms
Composer 安装命令:
composer require tonci14/laravel-eurosms
包简介
Simple service to send SMS via https://www.eurosms.com
README 文档
README
Laravel balíček na odosielanie SMS správ cez EuroSMS API.
Podporuje:
- Synchronné aj asynchrónne odosielanie správ
- Logovanie odoslaných SMS do databázy
- Validáciu čísel vo formáte E.164 (s povolenými krajinami)
- Laravel queue (joby)
- Facade
EuroSms::send(...)aEuroSms::sendAsync(...)
💡 Inštalácia
composer require tonci14/laravel-eurosms
Publikuj config a migrácie:
php artisan vendor:publish --provider="Tonci14\LaravelEuroSMS\LaravelEuroSMSServiceProvider" --tag=eurosms-config
php artisan migrate
⚙️ Konfigurácia
V .env súbore:
EURO_SMS_URL=https://as.eurosms.com/sms/Sender EUROSMS_KEY= -- provided key -- EUROSMS_ID= -- privided ID -- SMS_SENDER_NAME= -- use custom name up to 10 letters --
V config/eurosms.php:
return [ 'url' => env('EURO_SMS_URL', 'https://as.eurosms.com/sms/Sender'), 'integrationKey' => env('EUROSMS_KEY', null), 'integrationID' => env('EUROSMS_ID', null), 'senderName' => env('SMS_SENDER_NAME', null), // Povolené krajiny podľa kódu ISO (2-písmenový) napr: 'SK', 'CZ', 'AT' 'allowed_countries' => [], ];
🔹 Inštalácia
php artisan vendor:publish --tag=eurosms-migrations php artisan vendor:publish --tag=eurosms-config php artisan migrate
🚀 Použitie
🔹 Odoslanie správy synchronne
use EuroSms; EuroSms::send('+421900123456', 'Ahoj, toto je testovacia správa.');
🔹 Odoslanie správy asynchrónne (cez queue)
EuroSms::sendAsync( '+421900123456', 'Toto ide cez queue', locale: null, queue: 'messaging', userId: auth()->id() );
Asynchrónna správa sa vloží do queue a uloží do tabuľky
euro_sms_queue.
✅ Validácia čísel
Pred každým odoslaním je číslo:
- Validované pomocou knižnice
giggsey/libphonenumber-for-php - Uložené vo formáte E.164 (napr.
+421900123456) - Skontrolované, či je z povolenej krajiny (napr.
SK,CZ,AT)
❌ Chybové situácie
EuroSms::send('0900123456', 'Test'); // ➜ Invalid phone number format EuroSms::send('+441234567890', 'UK test'); // ➜ Phone number region 'GB' is not allowed
🗂️ Databáza: euro_sms_queue
Každá správa sa loguje do databázy:
| Stĺpec | Popis |
|---|---|
id |
Primárny kľúč |
user_id |
Voliteľný ID používateľa |
phone |
Telefónne číslo |
message |
Obsah správy |
status |
sent, failed, pending |
error |
Chyba (ak nastala) |
sent_at |
Čas odoslania správy |
created_at, updated_at |
Laravel timestamps |
🧪 Testovanie
Spusť testy:
php artisan test
Testuje sa:
- synchronné/asynchrónne odoslanie
- logovanie do databázy
- validácia čísel
- chybové stavy
📚 Roadmap
- Šablóny správ (viacjazyčné)
- Retry logika pre
failedsprávy - Webhook listener na spätné stavy
- Laravel Notification support
👤 Autor
Vytvoril: Tonci14
🪪 Licencia
MIT
tonci14/laravel-eurosms 适用场景与选型建议
tonci14/laravel-eurosms 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.68k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 10 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 tonci14/laravel-eurosms 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tonci14/laravel-eurosms 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 3.68k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: mit
- 更新时间: 2022-10-20