Send SMS and text-to-speech messages from Craft CMS and Craft Commerce via the seven gateway.
- SMS Messaging - Send single messages via control panel or programmatically; bulk-send to Craft Commerce customers
- Voice Messaging - Place text-to-speech calls, with XML mode and JSON-response toggle
- Craft Commerce Integration - Bulk messaging with country-based filtering and automatic phone-number extraction
- Advanced Options - Delay, flash SMS, performance tracking, custom labels, foreign IDs
- Craft CMS 3.1.5 or newer
- (Optional) Craft Commerce 2.x for bulk messaging
- A seven account with API key (How to get your API key)
cd /path/to/craft-project
composer require seven.io/craft
./craft install/plugin sevenInstall seven from the Craft Plugin Store.
Open Settings > seven in the Craft control panel:
| Field | Description |
|---|---|
| API Key | Your seven API key (required) |
| From | Default sender ID. Up to 16 characters |
- seven SMS - Send single or bulk SMS
- seven Voice - Place single or bulk voice calls
For bulk Commerce messaging, leave the recipient field empty and pick countries to filter.
use Seven\Craft\Plugin;
$sms = Plugin::getInstance()->getSms();
$sms->params
->setTo('+4901234567890')
->setText('Your message')
->setFrom('YourCompany')
->setDelay('2024-12-31 23:59')
->setFlash(true)
->setLabel('campaign-2024')
->setPerformanceTracking(true);
$success = $sms->send();use Seven\Craft\Plugin;
$voice = Plugin::getInstance()->getVoice();
$voice->params
->setTo('+4901234567890')
->setText('Hello there')
->setFrom('YourCompany')
->setXml(false)
->setJson(true);
$success = $voice->send();SMS (SmsParams): setTo, setText, setFrom, setDelay, setFlash, setForeignId, setJson, setLabel, setPerformanceTracking
Voice (VoiceParams): setTo, setText, setFrom, setXml, setJson
send() returns true for success (API response 100) or false on failure. Detailed errors are logged via Craft's error handler.
Need help? Feel free to contact us or open an issue.