wasiliana/laravel-sdk

此包旨在简化Laravel开发者与Wasiliana Api的交互。

v1.2.1 2022-09-02 03:38 UTC

This package is auto-updated.

Last update: 2024-08-30 01:26:33 UTC


README

Wasiliana Laravel Sdk

Latest Version on Packagist Total Downloads Build Status StyleCI

简介

此包为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。有关更多信息,请参阅许可文件