woenel/laravel-txtbox

TxtBox API for Laravel.

v2.0.4 2022-09-16 11:16 UTC

This package is auto-updated.

Last update: 2024-09-16 15:47:01 UTC


README

TxtBox SMS API for Laravel.

Packagist Version Packagist

什么是TxtBox

Txtbox 允许您通过一行代码发送短信。无需复杂的设置,无需处理电信协议和流程。

更多信息,您可以访问他们的网站: https://www.txtbox.com

要求

  • PHP: 7.2.x 及以上或 8.0.x
  • Laravel: 8.x.x 或 9.x.x(对于 Laravel 7.x.x,请使用版本 1.x.x
  • TxtBox API 密钥

安装

使用 Composer 安装

For Laravel 8:
$ composer require woenel/laravel-txtbox

For Laravel 7:
$ composer require woenel/laravel-txtbox "^1.3"

发布名为 txtbox.php 的配置文件并设置 TxtBox API 密钥。

$ php artisan vendor:publish --provider="Woenel\TxtBox\TxtBoxServiceProvider"

用法

发送短信

您可以使用以下三种方法发送短信

1. 使用外观
use Woenel\TxtBox\Facades\TxtBox;

$result = TxtBox::to('09123456789')->message('Hello World!')->send();

if($result->success) {
  echo $result->message;
} else {
  echo $result->message;
}
2. 实例化类(链式调用)
use Woenel\TxtBox\TxtBox;

$txtbox = new TxtBox;

$result = $txtbox->to('09123456789')->message('Hello World!')->send();

if($result->success) {
  echo $result->message;
} else {
  echo $result->message;
}
3. 实例化类(逐一调用)
use Woenel\TxtBox\TxtBox;

$txtbox = new TxtBox;

$txtbox->to = '09123456789';
$txtbox->message = 'Hello World!';
$result = $txtbox->send();

if($result->success) {
  echo $result->message;
} else {
  echo $result->message;
}

成功和失败返回

TxtBox Laravel API 返回对象类型值。

成功

短信已成功发送至 09XXXXXXXXX
这发生在您成功发送短信时。

{
  "success": true,
  "message": 'Message successfully sent to 09XXXXXXXXX'
}

失败

无效令牌
这发生在您未提供有效 API 密钥时。API 密钥可以在 config 文件夹下的 txtbox.php 文件中修改。

{
  "success": false,
  "message": 'Invalid Token'
}

不可处理实体
这发生在您未输入值时。 电话号码 to()消息 message() 都是必需的实体。

{
  "success": false,
  "message": 'Unprocessable Entity',
  "errors": {
    "number": [
      0 => 'The message field is required.'
    ],
    "message": [
      0 => 'The number field is required.'
    ]
  }
}

信用不足。请购买更多信用才能使用此服务。
这发生在您已使用完所有短信信用时。

{
  "success": false,
  "message": 'Insufficient credits. Please buy more credit to use this service.'
}