niladam / laravel-sendsms
Laravel SendSMS 集成
3.0.1
2024-05-01 08:54 UTC
Requires
- php: ^8.1
- illuminate/http: ^8.0|^9.0|^10.0|^11.0
README
这是一个小巧的 Laravel 扩展包,允许您使用 sendsms.ro API。
安装
您可以通过 composer 安装此包
composer require niladam/laravel-sendsms
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Niladam\LaravelSendsms\LaravelSendsmsServiceProvider" --tag=config
这是发布配置文件的内容
<?php /** * This is the package main config file. * */ return [ /** * This is your main username. */ "username" => env("LARAVEL_SENDSMS_USERNAME", null), /** * This is your main password. */ "password" => env("LARAVEL_SENDSMS_PASSWORD", null), /** * This is the base URL that the package will use. * * It has already been filled with a default value. * */ "url" => env("LARAVEL_SENDSMS_URL", "https://api.sendsms.ro/json"), /** * If this package should have debug turned on * please set this here. * */ "debug" => env("LARAVEL_SENDSMS_DEBUG", false), "messages" => [ "from" => env("LARAVEL_SENDSMS_FROM", null), "callback_url" => env("LARAVEL_SENDSMS_CALLBACK", null), "charset" => env("LARAVEL_SENDSMS_CHARSET", null), "coding" => env("LARAVEL_SENDSMS_CODING", null), "class" => env("LARAVEL_SENDSMS_CLASS", -1), "auto_detect_encoding" => env( "LARAVEL_SENDSMS_AUTODETECT_ENCODING", null ), /** * Information on the report mask: * * 1 Delivered * 2 Undelivered * 4 Queued at network * 8 Sent to network * 16 Failed at network * * So, 19 means: * * (Delivered + Undelivered + Failed at network) * 1 + 2 + 16 = 19 */ "report_mask" => env("LARAVEL_SENDSMS_MASK", 19) ], /** * This is basically a mapping of the operations * that the API will use. * */ "operations" => [ "balance" => "user_get_balance", "ping" => "ping", "price" => "route_check_price", "info" => "user_get_info", "number" => "user_get_phone_number", "send" => "message_send", ], ];
使用方法
发送消息
use Niladam\LaravelSendsms\SendSmsMessage; $message = SendSmsMessage::create(); $message->to('0744123123') ->message('Example message here.') // You can also use the alias ->text('example text') // the following is optional, as it'll use your default settings ->from('0744123456') ->send();
或者
use Niladam\LaravelSendsms\SendSmsMessage; SendSmsMessage::create() ->to('0744123123') // You can also use the alias ->text('example text') ->message('Example message here.') // the following is optional, as it'll use your default settings ->from('0744123456') ->send();
或者
SendSmsMessage::create(to: 0744123123, message: 'Example message here')->send(); // Or by specifying the from. SendSmsMessage::create(to: '0744123123', message: 'Example message here', from: '0744123456')->send();
其他可用操作
ping (检查系统)
use Niladam\LaravelSendsms\Facades\LaravelSendsms; LaravelSendSms::ping(); // returns the following output [ "status" => 0, "message" => "OK", ]
balance (检查余额)
use Niladam\LaravelSendsms\Facades\LaravelSendsms; LaravelSendSms::balance(); // returns the following output [ "status" => 0, "message" => "OK", "details" => 49.76696, ]
price (检查号码价格)
use Niladam\LaravelSendsms\Facades\LaravelSendsms; LaravelSendSms::price('0744123123'); // returns the following output [ "status" => 0, "message" => "OK", "details" => [ "cost" => 0.035, // this is the cost. "status" => 64, "reason" => "64: Routed OK", ], ]
info (获取用户信息)
use Niladam\LaravelSendsms\Facades\LaravelSendsms; LaravelSendSms::info(); // returns the following output [ "status" => 0, "message" => "OK", "details" => [ "balance" => "49.76696", "name" => "Some Cool Company Name", "phone_number" => "", "currency_code" => "EUR", "default_prefix" => "40", "timezone" => "Europe/Bucharest", "last_message_sent_at" => "2022-07-28 12:48:37", "currency_symbol" => "€ ", "affiliate" => [ "active" => false, "id" => null, "auth_ip_list" => null, "max_registrations" => null, "max_registrations_period" => null, ], ], ]
号码
use Niladam\LaravelSendsms\Facades\LaravelSendsms; LaravelSendSms::number(); // returns the following output [ "status" => 0, "message" => "OK", "details" => "", // This should contain information related to the user's verified phone number. ]
命令
# The package also publishes a command with the following signature: # laravel:sendsms {to?} {message?} {from?} # so you can use it with your tinker. # php artisan laravel:sendsms # # You will be asked to provide the required details. # Or you can easily provide them yourself. php artisan laravel:sendsms "0744123123" "Example message here." "0744123456"
更新日志
请参阅 CHANGELOG 了解最近更改的详细信息。
致谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。