承接 rupeshdahal/nepali-sms-gateway 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rupeshdahal/nepali-sms-gateway

最新稳定版本:v1.0.2

Composer 安装命令:

composer require rupeshdahal/nepali-sms-gateway

包简介

Laravel SMS package supporting multiple SMS gateways (SparrowSMS, AkashSMS, FastSMS)

README 文档

README

A Laravel package that provides a simple and consistent way to send SMS messages through multiple SMS gateways.

Currently Supported Gateways

  • SparrowSMS
  • AkashSMS
  • FastSMS

Installation

You can install the package via composer:

composer require rupeshdahal/nepali-sms-gateway

Publish Configuration

Publish the configuration file:

php artisan vendor:publish --provider="RupeshDai\NepaliSmsGateway\Providers\SmsServiceProvider"

This will create a config/sms.php file in your app.

Configuration

Set your SMS gateway credentials in your .env file:

# Default gateway to use
SMS_GATEWAY=sparrow

# Sparrow SMS config
SPARROW_SMS_TOKEN=your_sparrow_token
SPARROW_SMS_FROM=YourSender

# Akash SMS config
AKASH_SMS_AUTH_KEY=your_akash_auth_key
AKASH_SMS_SENDER_ID=YourSenderId

# Fast SMS config
FAST_SMS_API_KEY=your_fast_api_key
FAST_SMS_SENDER=YourSender

# General settings
SMS_LOG_ENABLED=true
SMS_VALIDATE_PHONE_NUMBER=true

Usage

Basic Usage

To send an SMS using the default gateway:

use RupeshDai\NepaliSmsGateway\Facades\Sms;

// Send a single SMS
$result = Sms::send('9801234567', 'Your message here');

// Send SMS to multiple recipients
$result = Sms::sendMultiple(['9801234567', '9809876543'], 'Your message here');

// Check balance
$balance = Sms::checkBalance();

Specify Gateway

You can specify which gateway to use for a specific SMS:

$result = Sms::send('9801234567', 'Your message here', [], 'sparrow');
$result = Sms::send('9801234567', 'Your message here', [], 'akash');
$result = Sms::send('9801234567', 'Your message here', [], 'fast');

Additional Options

You can pass additional options to the send method:

// Override sender ID for this message
$result = Sms::send('9801234567', 'Your message here', [
    'from' => 'CUSTOM'
]);

Error Handling

use RupeshDai\NepaliSmsGateway\Exceptions\SmsException;

try {
    $result = Sms::send('9801234567', 'Your message');
    
    if ($result['success']) {
        // Message sent successfully
    } else {
        // Message failed to send
        // $result['error'] contains the error message
    }
} catch (SmsException $e) {
    // Handle exceptions
    echo $e->getMessage();
}

Extending the Package

Adding a New Gateway

  1. Create a new gateway class that implements SmsGatewayInterface
  2. Add the gateway configuration to the config/sms.php file
  3. Update the SmsManager::resolveGatewayClass() method to include your new gateway

Example:

// Create your gateway class in YourApp\Sms\Gateways\NewGateway.php
namespace YourApp\Sms\Gateways;

use RupeshDai\NepaliSmsGateway\Contracts\SmsGatewayInterface;

class NewGateway implements SmsGatewayInterface
{
    // Implement the required methods
}

// In a service provider, extend the SmsManager
$this->app->extend('sms', function ($manager, $app) {
    $manager->extend('new-gateway', function ($app) {
        return new \YourApp\Sms\Gateways\NewGateway($app['config']['sms.gateways.new-gateway']);
    });
    
    return $manager;
});

Testing

composer test

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-16