Proje: Okul Platform · Hub: Okul Platform — Architecture
SmsService
app/Services/Sms/SmsService.php — Laravel Manager sınıfından extend.
AppServiceProvider’da singleton: app()->singleton('sms', ...)
Provider Mimarisi
Laravel Manager pattern — birden fazla SMS sağlayıcısı desteklenebilir.
Mevcut driver: infobip
Config: config/sms.php → sms.providers.infobip.base_url + api_key
Infobip Driver
app/Services/Sms/Providers/InfobipDriver.php
infobip/infobip-api-php-client paketi kullanır.
Kullanım
app('sms')->to('05362238422')->send('Mesaj')
app('sms')->driver('infobip')->to($phone)OTP SMS
OtpCodeType::TYPE_PHONE → SendOtpCodeSmsJob → SmsService
Test Ortamında
phpunit.xml: SMS_PROVIDER=null — Testlerde SMS gönderilmez.
Yeni Provider Ekleme
config/sms.php’a provider tanımlacreate{Provider}Driver()metodu ekle- Mevcut Driver’ı implement et
Related
- api-auth-system — OTP SMS gönderimi
- api-key-integrations — Infobip entegrasyonu