vectoor/laravel-multi-sms-methods

为 Laravel 提供多支付方式,一个专注于全面控制和与多个网关顺畅且同时工作的包

1.0.0 2022-11-15 17:19 UTC

This package is auto-updated.

Last update: 2024-09-11 21:53:49 UTC


README

Laravel SMS 方法多方法使用的包。

一个专注于全面控制和与多个网关顺畅且同时工作的包

🚀 关于我

我是一名有超过8年独特经验的 Full-stack 开发者,我是一名自学成才的人,擅长将最佳实践应用于设计和实现可扩展、并发、灵活和健壮的软件解决方案,同时关注预期的业务成果。我总是寻求获得新技能并提升我的知识。

支持的方法

特性

  • 发送单个 SMS
  • 发送多个 SMS
  • 发送 OTP SMS
  • 检查发送的 OTP
  • 发送计划中的 SMS
  • 发送 WhatsApp 消息
  • 获取发送的 SMS 详细信息
  • 获取账户余额

安装

您可以通过 Composer 安装

composer require vectoor/laravel-multi-sms-methods

发布

您应该发布配置文件以设置方法凭据

php artisan vendor:publish --provider="Vector\LaravelMultiSmsMethods\Providers\SmsServiceProvider"

配置

配置文件示例

<?php

return [
    /*
    |--------------------------------------------------------------------------
    | Sms Available Methods
    |--------------------------------------------------------------------------
    / @author Vector <mo.khaled.yousef@gmail.com>
    | Here are each of the Available sms Methods
    |
    */
    "enable_send_sms" => env('ENABLE_SEND_SMS', true), //Enable or Disable Sending Sms
    'methods' => [
        /*
       |--------------------------------------------------------------------------
       | Sms Box Connection
       |--------------------------------------------------------------------------
       |
       | Here are credentials for Sms Box gateway.
       |
       */
        'smsbox' => [
            'username' => env('SMSBOX_USERNAME'),
            'password' => env('SMSBOX_PASSWORD'),
            'gateway_id' => env('SMSBOX_GATEWAY_ID'),
            'sender_id' => env('SMSBOX_SENDER_ID'),
        ],
        /*
        |--------------------------------------------------------------------------
        | Sms Misr Connection
        |--------------------------------------------------------------------------
        |
        | Here are credentials for Sms Misr gateway.
        |
        */
        'smsmisr' => [
            'username' => env('SMSMISR_USERNAME'),
            'password' => env('SMSMISR_PASSWORD'),
            'sender_token' => env('SMSMISR_SENDER_TOKEN'),
            'template_token' => env('SMSMISR_TEMPLATE_TOKEN'),
            'sandbox' => env('SMSMISR_SANDBOX'),
        ],
        /*
         |--------------------------------------------------------------------------
         | Sms EG Connection
         |--------------------------------------------------------------------------
         |
         | Here are credentials for Sms EG gateway.
         |
         */
        'smseg' => [
            'username' => env('SMSEG_USERNAME'),
            'password' => env('SMSEG_PASSWORD'),
            'sender_id' => env('SMSEG_SENDER_ID'),
        ],
        /*
       |--------------------------------------------------------------------------
       | Ooredoo Connection
       |--------------------------------------------------------------------------
       |
       | Here are credentials for Ooredoo gateway.
       |
       */
        'ooredoo' => [
            'username' => env('OOREDOO_USERNAME'),
            'password' => env('OOREDOO_PASSWORD'),
            'sender_id' => env('OOREDOO_SENDER_ID'),
            'customer_id' => env('OOREDOO_CUSTOMER_ID'),
        ],
        /*
      |--------------------------------------------------------------------------
      | Victory Link Connection
      |--------------------------------------------------------------------------
      |
      | Here are credentials for Victory Link gateway.
      |
      */
        'victorylink' => [
            'username' => env('VICTORYLINK_USERNAME'),
            'password' => env('VICTORYLINK_PASSWORD'),
            'sender_id' => env('VICTORYLINK_SENDER_ID'),
        ],
        /*
        |--------------------------------------------------------------------------
        | Twilio Connection
        |--------------------------------------------------------------------------
        |
        | Here are credentials for Twilio gateway.
        |
        */
        'twilio' => [
            'account_sid' => env('TWILIO_ACCOUNT_SID'),
            'auth_token' => env('TWILIO_AUTH_TOKEN'),
            'sms_phone_number' => env('TWILIO_SMS_PHONE_NUMBER'),
            'schedule_messaging_service_sid' => env('TWILIO_SCHEDULE_MESSAGING_SERVICE_SID'),
            'whatsapp_phone_number' => env('TWILIO_WHATSAPP_PHONE_NUMBER'),
        ],
    ]

];

门面使用

使用 SMS 门面

use Vector\LaravelMultiSmsMethods\Facade\Sms;

使用/示例

支持的网关

支持的方法

请求

发送单个 SMS

示例
  Sms::driver($gateway)->sendSms($mobileNumber,$message);

发送多个 SMS

示例
 Sms::driver($gateway)->sendMultiSms($mobileNumbers,$message);

发送计划中的 SMS

示例
  Sms::driver($gateway)->sendScheduleSms($mobileNumber,$message,$scheduleDate);

发送 OTP SMS

示例
  Sms::driver($gateway)->sendOtp($mobileNumber, $otp)

检查 OTP SMS

示例
  Sms::driver($gateway)->checkOtp($mobileNumber, $otp)

发送 WhatsApp 消息

示例
  Sms::driver($gateway)->sendWhatsappMessage($mobileNumber,$message);

获取 SMS 信息

示例
  Sms::driver($gateway)->getSmsDetails($messageID);

获取账户可用余额

示例
  Sms::driver($gateway)->getBalance();

响应

示例

  array:4 [
  "code" => 200
  "success" => true
  "message" => "Message Send Successfully"
  "data" => array:5 [
    "Message" => "Message Send Successfully"
    "Result" => "true"
    "NetPoints" => "4995.600"
    "messageId" => "79539c54-XXXX-XXXX-XXXX-2db9244b1969"
    "RejectedNumbers" => []
  ]
]

作者

🔗 链接

portfolio linkedin

许可

Laravel SMS 网关包是开源软件,许可协议为 MIT 许可

支持

如需支持,请发送电子邮件至 mo.khaled.yousef@gmail.com .