wasiliana / laravel-sdk
此包旨在简化Laravel开发者与Wasiliana Api的交互。
v1.2.1
2022-09-02 03:38 UTC
Requires
- guzzlehttp/guzzle: ^7.0.0
- illuminate/support: ^6.0|^7.0|^8.0|^9.0
Requires (Dev)
- orchestra/testbench: ~7
- phpunit/phpunit: ~9.0
README
Wasiliana Laravel Sdk
简介
此包为Laravel开发者构建,旨在简化与Wasiliana Rest Api的交互。
😃 安装
composer require wasiliana/laravel-sdk
此命令将安装包的最新版本。
⚙️ 配置
您可以使用 php artisan wasiliana:install
将分发配置文件复制到您的应用配置目录
php artisan wasiliana:install
这将复制您的配置目录中的 wasiliana.php
设置文件。
配置文件中发布了可用设置。
return [ 'sms' => [ 'service_1' => [ 'name' => 'test', 'from' => env('SMS_SERVICE_1_SENDER_ID', 'WASILIANA'), 'key' => env('SMS_SERVICE_1_API_KEY', null) ], ], 'airtime' => [ 'service_1' => [ 'name' => 'testAirtime', 'key' => env('AIRTIME_SERVICE_1_API_KEY', null) ], ] ];
在您拥有多个服务的情况下,结构将如下所示。
return [ 'sms' => [ 'service_1' => [ 'name' => 'testSms', 'from' => env('SERVICE_1_SENDER_ID', 'WASILIANA'), 'key' => env('SERVICE_1_API_KEY', null) ], 'service_2' => [ 'name' => 'testSms2', 'from' => env('SERVICE_2_SENDER_ID', 'WASILIANA'), 'key' => env('SERVICE_2_API_KEY', null) ] ], 'airtime' => [ 'service_1' => [ 'name' => 'testAirtime', 'key' => env('AIRTIME_SERVICE_1_API_KEY', null) ] ] ];
🔥 使用
1. 短信
在顶部导入Sms Facade;
use Wasiliana\LaravelSdk\Facades\Sms;
示例 1: 请求
使用wasiliana配置文件中配置的默认服务
$response = Sms::to(['2547XXXXXYYY', '2547XXXXXZZZ']) //use an array for multiple recipients ->message('This cold...Mayoooo!!!') // your message ->send(); // fire request // OR $response = Sms::send('2547XXXXXYYY', 'This cold...Mayoooo!!!'); //compose message, add recipients and send
示例 2: 请求
使用wasiliana配置文件中配置的不同服务
$response = Sms::to('2547XXXXXYYY') ->message('This a test dispatch.') ->service('service_2') ->send(); // OR $response = Sms::service('service_2')->send(['2547XXXXXYYY', '2547XXXXXZZZ'], 'This a send test using a different service.'); // for multiple recipients use an array
示例 3: 请求
定义自定义message_uid前缀
$response = Sms::to(['2547XXXXXYYY', '2547XXXXXZZZ']) ->message('This cold...Mayoooo!!!') ->prefix('notification') // custom message_uid prefix ->send(); // OR $response = Sms::send('2547XXXXXYYY', 'This cold...Mayoooo!!!', 'notification');
示例 4: 响应
每次请求后,都会以数组格式返回响应
// success response // a confirmation from Wasiliana that the request has been received. Array ( [status] => success [data] => Successfully Dispatched the sms to process [message_uid] => conversation_id_20220831154811 ) // error response Array ( [status] => error [message] => Error in the data provided [data] => Array ( [0] => The message field is required. ) )
消息是否成功发送到指定号码的确认将发送到您账户中配置的回调。
2. 充值
在顶部导入Sms Facade;
use Wasiliana\LaravelSdk\Facades\Airtime;
示例 1: 请求
使用wasiliana配置文件中配置的默认服务
$response = Airtime::amount(10)->phone('0720XXXYYY')->send();
示例 2: 请求
一次性向多个号码发送相同金额的充值
$response = Airtime::amount(10)->->phone(['0723XXXYYY', '0711YYYXXX'])->send();
示例 3: 请求
使用wasiliana配置文件中配置的不同服务
$response = Airtime::amount(10)->phone('0720XXXYYY')->service('service_2')->send();
示例 4: 响应
返回成功和错误响应
// success response Array ( [status] => success [message] => Ksh. 10 has been toped up sucessfuly ) // error response Array ( [status] => error [message] => Error in the data provided [data] => Array ( [0] => The phone field is required. ) ) Array ( [status] => error [message] => You do not have sufficient airtime [data] => )
环境变量
您可以将您的 .env
更新为具有 SENDER_ID 和 API_KEY 值,而不是在配置文件中;
SMS_SERVICE_1_SENDER_ID=<Sender_Id> SMS_SERVICE_1_API_KEY=<Api_Key> AIRTIME_SERVICE_1_API_KEY=<Api_Key>
注意: 当您使用共享的 WASILIANA
SENDER_ID 时,您不需要在 .env
中定义 SENDER_ID
许可
MIT。有关更多信息,请参阅许可文件。