seven.io/api
最新稳定版本:v8.0.2
Composer 安装命令:
composer require seven.io/api
包简介
Official API Client for requesting the seven.io messaging Gateway.
README 文档
README
seven.io PHP SDK
The official PHP SDK for the seven.io SMS Gateway API
Documentation • API Reference • Support • Dashboard
📦 Installation
Via Composer (recommended)
composer require seven.io/api
Manual Installation
Download the latest release as ZIP file and include it in your project.
🚀 Quick Start
Send your first SMS
<?php require 'vendor/autoload.php'; use Seven\Api\Client; use Seven\Api\Resource\Sms\SmsParams; use Seven\Api\Resource\Sms\SmsResource; // Initialize the client with your API key $client = new Client('YOUR_API_KEY'); // Create SMS resource $smsResource = new SmsResource($client); // Send SMS $response = $smsResource->dispatch( new SmsParams('Hello from seven.io!', '+491234567890') ); echo "SMS sent successfully! ID: " . $response->getMessages()[0]->getId();
📱 Features
SMS Messaging
- ✅ Send SMS to single or multiple recipients
- ✅ Bulk SMS support
- ✅ Flash SMS
- ✅ Unicode support
- ✅ Delivery reports
- ✅ Schedule messages
Voice Calls
- ✅ Text-to-Speech calls
- ✅ Voice message broadcasts
Number Lookup
- ✅ HLR (Home Location Register) lookup
- ✅ Number format validation
- ✅ Carrier information
- ✅ Number portability check
Other Features
- ✅ Balance inquiry
- ✅ Pricing information
- ✅ Webhook management
- ✅ Contact management
- ✅ Analytics & Journal
💻 Usage Examples
Send SMS with custom sender
$params = (new SmsParams('Your message here', '+491234567890')) ->setFrom('YourBrand') ->setUnicode(true) ->setFlash(false); $response = $smsResource->dispatch($params);
Send bulk SMS
$params = new SmsParams( 'Bulk message to multiple recipients', ['+491234567890', '+491234567891', '+491234567892'] ); $response = $smsResource->dispatch($params);
Schedule SMS for later
$params = (new SmsParams('Scheduled message', '+491234567890')) ->setDelay(new \DateTime('+1 hour')); $response = $smsResource->dispatch($params);
Perform HLR lookup
use Seven\Api\Resource\Lookup\LookupResource; $lookupResource = new LookupResource($client); $results = $lookupResource->hlr('+491234567890'); $hlr = $results[0]; echo "Current Carrier: " . $hlr->getCurrentCarrier()->getName() . "\n"; echo "Country: " . $hlr->getCountryName() . "\n"; echo "Reachable: " . $hlr->getReachable() . "\n"; echo "Ported: " . $hlr->getPorted() . "\n";
Check account balance
use Seven\Api\Resource\Balance\BalanceResource; $balanceResource = new BalanceResource($client); $balance = $balanceResource->get(); echo "Current balance: €" . $balance->getAmount();
Text-to-Speech call
use Seven\Api\Resource\Voice\VoiceResource; use Seven\Api\Resource\Voice\VoiceParams; $voiceResource = new VoiceResource($client); $params = new VoiceParams('+491234567890', 'Hello, this is a test call'); $response = $voiceResource->call($params);
🔧 Advanced Configuration
Initialize with signing secret (for webhook validation)
$client = new Client( apiKey: 'YOUR_API_KEY', signingSecret: 'YOUR_SIGNING_SECRET' );
Error Handling
use Seven\Api\Exception\InvalidApiKeyException; use Seven\Api\Exception\InsufficientBalanceException; try { $response = $smsResource->dispatch($params); } catch (InvalidApiKeyException $e) { echo "Invalid API key provided"; } catch (InsufficientBalanceException $e) { echo "Not enough balance to send SMS"; } catch (\Exception $e) { echo "Error: " . $e->getMessage(); }
🧪 Testing
Run the test suite with your API credentials:
# Using production API key SEVEN_API_KEY=your_api_key php vendor/bin/phpunit tests # Using sandbox API key SEVEN_API_KEY_SANDBOX=your_sandbox_key php vendor/bin/phpunit tests
Run specific tests
# Test only SMS functionality php vendor/bin/phpunit tests/SmsTest.php # Test with verbose output php vendor/bin/phpunit tests --verbose
📚 API Resources
The SDK provides access to all seven.io API endpoints:
| Resource | Description |
|---|---|
AnalyticsResource |
Analytics and statistics |
BalanceResource |
Account balance |
ContactsResource |
Contact management |
HooksResource |
Webhook management |
JournalResource |
Message history |
LookupResource |
Number lookup & validation |
PricingResource |
Pricing information |
RcsResource |
RCS messaging |
SmsResource |
SMS messaging |
StatusResource |
Delivery reports |
SubaccountsResource |
Subaccount management |
ValidateForVoiceResource |
Voice number validation |
VoiceResource |
Voice calls |
🔑 Environment Variables
| Variable | Description |
|---|---|
SEVEN_API_KEY |
Your production API key |
SEVEN_API_KEY_SANDBOX |
Your sandbox API key for testing |
SEVEN_SIGNING_SECRET |
Webhook signing secret |
📄 Requirements
- PHP 8.1 or higher
- Composer (for installation)
- ext-curl
- ext-json
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
🆘 Support
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by seven.io
统计信息
- 总下载量: 36.19k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 12
- 点击次数: 1
- 依赖项目数: 5
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-09-18