fza / fitsms-bundle
Short messaging service using the FitSMS.de gateway service
Installs: 30
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- symfony/symfony: >=2.3
Requires (Dev)
- symfony/config: >=2.3
- symfony/dependency-injection: >=2.3
- symfony/http-kernel: >=2.3
This package is not auto-updated.
Last update: 2024-12-21 14:37:48 UTC
README
This bundle provides a convenient method to send SMS using the FitSMS.de gateway service.
Features
- Multiple recipients per SMS
- Validation of phone numbers (sender and recipients)
- Expansion of phone numbers to satisfy international standards
- Default country prefix is configurable
- Able to check for a maximum number of SMS parts
- NumLock/IPLock support (see FitSMS gateway documentation)
Installation
Add the bundle in your composer.json:
{ "require": { "fza/fitsms-bundle": "*" } }
Run composer and download the bundle:
$ php composer.phar update
Enable the bundle in the AppKernel:
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Fza\FitSmsBundle\FzaFitSmsBundle(), ); }
Configuration
Add the following lines to your config.yml:
fza_fit_sms: default_intl_prefix: 49 username: "123456" password: "password" tracking: true # Default values are just fine here debug_test: ~ gateway_uri: ~ max_sms_part_count: ~ numlock: ~ iplock: ~
Notes:
default_intl_prefix
: (int) sets the default country prefix if none was detected for a numberusername
,password
: (string) self-explanatorytracking
: (bool) enables transmitting a unique request id alongside the sms and logging it. You may view this id in the FitSMS control panel as well.gateway_uri
: (string) In case the gateway URI ever changes, you can override the defaultdebug_test
: (bool) defaults to the kernel enviroment's debug value and sets thedebug
flag while sending a sms (will transmit it to the gateway, but not actually send it)max_sms_part_count
: (int) defaults to 6numlock
,iplock
: (bool) Use these to enable the limit of sms to be sent to a recipient / to be sent from your server IP within an hour. These are just boolean values, the numeric limits are to be configured in the FitSMS control panel.
Usage
use Fza\FitSmsBundle\SmsMessage; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class MyController extends Controller { public function smsAction() { // Send to multiple recipients with an array of phone numbers // Note that you should set phone numbers as strings to preserve leading zeros $recipient = '0049123456789'; $message = this->renderView('MyBundle::sms.txt.twig'); $sms = new SmsMessage($recipient, $message); $from = '0049123456789'; $timeToSend = new \DateTime('2012-01-01 14:00:00'); try { // $timeToSend parameter is optional (will send immediately) $smsSent = $this->get('fitsms.gateway')->sendMessage($sms, $from, $timeToSend); if (!$smsSent) { // Handle gateway errors (insufficient credit etc.) } } catch (\Exception $e) { // Catch exceptions (mostly due to invalid arguments) } } }