Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

symfony/sweego-notifier

Open more actions menu

Sweego Notifier

Provides Sweego integration for Symfony Notifier.

DSN example

SWEEGO_DSN=sweego://API_KEY@default?region=REGION&campaign_type=CAMPAIGN_TYPE&bat=BAT&campaign_id=CAMPAIGN_ID&shorten_urls=SHORTEN_URLS&shorten_with_protocol=SHORTEN_WITH_PROTOCOL

where:

  • API_KEY (required) is your Sweego API key
  • REGION (required) is the region of the phone number (e.g. FR, ISO 3166-1 alpha-2 country code)
  • CAMPAIGN_TYPE (required) is the type of the campaign (e.g. transac)
  • BAT (optional) is the test mode (e.g. true)
  • CAMPAIGN_ID (optional) is the campaign id (e.g. string)
  • SHORTEN_URLS (optional) is the shorten urls option (e.g. true)
  • SHORTEN_WITH_PROTOCOL (optional) is the shorten with protocol option (e.g. true)

Advanced Message options

use Symfony\Component\Notifier\Message\SmsMessage;
use Symfony\Component\Notifier\Bridge\Sweego\SweegoOptions;

$sms = new SmsMessage('+1411111111', 'My message');

$options = (new SweegoOptions())
    // False by default, set 'bat' to true enable test mode (no sms sent, only for testing purpose)
    ->bat(true)
    // Optional, used for tracking / filtering purpose on our platform; identity an SMS campaign and allow to see logs / stats only for this campaign
    ->campaignId('string')
    // True by default, we replace all url in the SMS content by a shortened url version (reduce the characters of the sms)
    ->shortenUrls(true)
    // True by default, add scheme to shortened url version
    ->shortenWithProtocol(true);

// Add the custom options to the sms message and send the message
$sms->options($options);

$texter->send($sms);

Webhook

Configure the webhook routing:

framework:
    webhook:
        routing:
            sweego_sms:
                service: notifier.webhook.request_parser.sweego
                secret: '%env(SWEEGO_WEBHOOK_SECRET)%'

And a consumer:

#[AsRemoteEventConsumer(name: 'sweego_sms')]
class SweegoSmsEventConsumer implements ConsumerInterface
{
    public function consume(RemoteEvent|SmsEvent $event): void
    {
        // your code
    }
}

Sponsor

This package is looking for a backer.

Help Symfony by sponsoring its development!

Resources

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.