kheme / laravel-supertext-nigeria

此包已被弃用且不再维护。未建议替代包。

Laravel包,用于SuperText Nigeria的短信API

v1.0.0 2020-09-19 20:04 UTC

This package is auto-updated.

Last update: 2020-12-03 05:52:48 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads License

弃用

由于现在这里有一个框架无关的PHP版本,因此该项目目前已被弃用并归档:PHP包装器用于SuperText Nigeria短信网关

简介

这是一个简单的Laravel包装器,用于SuperText Nigeria的短信API网关。

安装

使用Composer

composer require kheme/laravel-supertext-nigeria

Laravel 5.5或更高版本上的安装

如果你使用的是Laravel 5.5或更高版本,则该包将自动注册supertext提供者和外观。

Laravel 5.4及以下版本上的安装

对于Laravel 5.4及以下版本,将Kheme\SuperTextNg\SuperTextNgServiceProvider添加到你的config/app.php文件中的providers列表中

'providers' => [
    // Other service providers...
    Kheme\SuperTextNg\SuperTextNgServiceProvider::class,
],

如果你想使用外观接口,可以在需要时使用外观类

use Kheme\SuperTextNg\Facade\SMS;

或者按照以下方式添加到你的config/app.php文件中的别名列表中

'aliases' => [
    ...
    'SuperTextNg' => Kheme\SuperTextNg\Facade\SMS::class,
],

Lumen上的安装

Laravel SuperTextNg也与Lumen兼容!你需要手动做一些工作来使其运行。首先,使用Composer安装该包

composer require kheme/laravel-supertext-nigeria

接下来,我们需要告诉Lumen我们的库存在。更新bootstrap/app.php并按照以下方式注册SuperTextNgServiceProvider

$app->register(Kheme\SuperTextNg\SuperTextNgServiceProvider::class);

此时,在.env文件中设置SUPERTEXTNG_USERNAMESUPERTEXTNG_PASSWORDSUPERTEXTNG_SENDERSUPERTEXTNG_IGNORE_DND,它应该对你有效。

配置

运行artisan vendor:publish将分发配置文件复制到你的应用配置目录。

php artisan vendor:publish --provider="Kheme\SuperTextNG\SuperTextNgServiceProvider"

Lumen上的配置

不幸的是,Lumen不支持发布文件,因此你需要自己创建配置文件。首先,创建配置目录(如果不存在),然后将配置文件从包中复制到你的项目中。在你的项目根目录中,在终端运行以下命令

mkdir config
cp vendor/kheme/laravel-supertext-nigeria/config/supertextng.php config/supertextng.php

使用你的SuperText Nigeria凭据和设置更新config/supertextng.php。或者,你可以更新你的.env文件,将相应的值更新如下

SUPERTEXTNG_USERNAME=(your supertextng.com username)
SUPERTEXTNG_PASSWORD=(your supertextng.com password)
SUPERTEXTNG_SENDER=(you SMS sender ID)
SUPERTEXTNG_IGNORE_DND=('yes' or 'no' indicating whether to send to do-not-disturb numbers)

最后,将$app->configure('supertextng');添加到你的bootstrap/app.php中,在注册服务提供者之前某个位置。

用法

在使用之前不要忘记导入外观

use Kheme\SuperTextNg\Facades\SMS;

发送给单个收件人

SMS::from('Kheme')
    ->to('2348153332428')
    ->message('Using the facade to send a message.')
    ->send();

如果成功,这将返回true,否则将抛出异常。

向多个收件人发送

您可以通过在调用中包含多个 to() 来向多个收件人发送短信

SMS::from('Kheme')
    ->to('2348153332428')
    ->to('2348056511193')
    ->message('Using the facade to send a message.')
    ->send();

或者,通过向单个 to() 提供电话号码数组

SMS::from('Kheme')
    ->to(
        [
            '2348153332428',
            '2348056512393',
        ]
    ),
    ->message('Using the facade to send a message.')
    ->send();

向已启用DND的电话号码发送

要向已启用“请勿打扰”(DND)的电话号码发送短信,请在调用中包含 ignoreDND()

SMS::from('Kheme')
    ->to('2348153332428')
    ->message('Using the facade to send a message.')
    ->ignoreDND()
    ->send();

发送后返回单元余额

如果您希望在发送后返回账户余额,请在调用中包含 returnBalance()

SMS::from('Kheme')
    ->to('2348153332428')
    ->message('Using the facade to send a message.')
    ->returnBalance()
    ->send();

返回发送所使用的单元数量

如果您希望在发送后返回所使用的单元总数,请在调用中包含 returnUnitsUsed()

SMS::from('Kheme')
    ->to('2348153332428')
    ->message('Using the facade to send a message.')
    ->returnUnitsUsed()
    ->send();

组合选项

上述方法选项,除下面的 balance() 外,可以像以下示例一样组合

SMS::from('Kheme')
    ->to('2348153332428')
    ->message('Using the facade to send a message.')
    ->returnBalance()
    ->returnUnitsUsed()
    ->ignoreDND()
    ->send();

检查账户余额

要检查SuperText Nigeria的信用余额,只需调用 balance()

return SMS::balance();

错误

如果发生错误,调用将返回以下错误

左侧的数字是SuperText Nigeria的相应错误代码,但不会包含在错误响应中

  • 100: 缺少或拼写错误的一个或多个必需的URL参数
  • 101: 用户名是空的
  • 102: 密码是空的
  • 103: 目的地是空的
  • 104: 消息是空的
  • 105: 发件人是空的
  • 200: 用户名或密码错误
  • 201: 账户尚未激活
  • 202: 非活动账户
  • 300: 信用不足
  • 400: 发送失败(未扣除信用)