signalads-co/laravel

laravel signalads 集成

安装次数: 8

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:laravel-package

1.0.5 2023-01-30 12:57 UTC

This package is auto-updated.

Last update: 2024-09-29 06:03:27 UTC


README

首先,您需要一个 API 密钥。您可以在 这里 获取一个。

支持的 Laravel 版本

我们强烈建议您始终使用最新版本的 Laravel

安装

步骤 1 - 安装包

  • 方法 1:您可以直接使用 Composer 在项目中安装 signalads/laravel
composer require signalads-co/laravel
  • 方法 2:将此行添加到您项目中的 Composer.json 文件
"signalads/laravel": "*"

然后运行以下命令使用 composer 下载扩展

$ composer update

步骤 2 - 发布

在您的项目目录中运行此命令

php artisan vendor:publish --tag=signalads-laravel

步骤 3 - API 密钥

现在您必须定义您的 API 密钥 并将您的线路添加到项目中。为此,请前往 config/signalads.php 然后将您的 API 密钥放入代码中

<?php
return [
    'apikey' => '',
    'sender' => '',
];

用法

您可以在任何需要的地方使用此包。

  • 首先使用类
use Signalads\Laravel\Facade\Signalads;
  • 异常处理
    try {
        // call SignalAdsApi function
    }
    catch(\SignalAds\Exceptions\ApiException $e){
        // در صورتی که خروجی وب سرویس 200 نباشد این خطا رخ می دهد
        echo $e->errorMessage();
    }
    catch(\SignalAds\Exceptions\HttpException $e){
        // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
        echo $e->errorMessage();
    }
  • 发送单个短信
$sender = "10004346"; //This is the Sender number if not set load from config

$message = "خدمات پیام کوتاه سیگنال"; //The body of SMS

$receptor = "09191234567"; //Receptors numbers

$result = Signalads::send($receptor, $message, $sender);

示例输出

{
    "data": {
        "message_id": "28561b88-8403-45b8-a114-508abdb9c436",
        "price": 120
    },
    "message": "پیام شما با موفقیت در صف ارسال قرار گرفت",
    "error": {
        "message": null,
        "errors": null
    }
}
  • 发送相同文本的多个短信
$sender = "10004346"; //This is the Sender number if not set load from config

$message = "خدمات پیام کوتاه سیگنال"; //The body of SMS

$receptors = array("09361234567","09191234567"); //Receptors numbers

$result = Signalads::sendGroup($receptors, $message, $sender);

示例输出

{
    "data": {
        "message_id": "55800454-fe52-44b3-9c44-43c87d6f29b2",
        "price": 240
    },
    "message": "پیام شما با موفقیت در صف ارسال قرار گرفت",
    "error": {
        "message": null,
        "errors": null
    }
}
  • 使用模式发送短信
$sender = "10004346"; //This is the Sender number if not set load from config

$patternId = 123; 

$patternParams = ["param 1", "param 2"];

$receptors = array("09361234567","09191234567"); //Receptors numbers

$result = Signalads::sendPattern($patternId, $patternParams, $receptors, $sender);

示例输出

{
    "data": {
        "message_id": "28561b88-8403-45b8-a114-508abdb9c436"
    },
    "message": "پیام شما با موفقیت در صف ارسال قرار گرفت",
    "error": {
        "message": null,
        "errors": null
    }
}
  • 获取消息状态 状态
PENDING = 1
SENDING = 2
BLACKLIST = 3
DELIVERED = 4
NOT_DELIVERED = 5
NOT_SENDING = 6
ERROR = 7
$messageId = 123;

$limit = 10; //optional

$offset = 0; //optional

$receptor = "09191234567"; //optional

$result = Signalads::status($messageId, $limit, $offset, $status, $receptor);

示例输出

{
    "data": {
        "items": [
            {
                "number": "09xxxxxxxxx",
                "status": 1
            },
            {
                "number": "09xxxxxxxxx",
                "status": 2
            },
            {
                "number": "09xxxxxxxxx",
                "status": 3
            },
            {
                "number": "09xxxxxxxxx",
                "status": 4
            },
            {
                "number": "09xxxxxxxxx",
                "status": 5
            },
            {
                "number": "09xxxxxxxxx",
                "status": 6
            },
            {
                "number": "09xxxxxxxxx",
                "status": 7
            }
        ],
        "count": 7,
        "sum": 0
    },
    "message": null,
    "error": {
        "message": null,
        "errors": null
    }
}
  • 获取账户余额
$result = Signalads::getCredit();

示例输出

{
    "data": {
        "credit": 12345
    },
    "message": null,
    "error": {
        "message": null,
        "errors": null
    }
}

在通知中使用

创建您的通知

php artisan make:notification SendOtp

从 SignaladsNotification 扩展您的通知

class SendOtp extends SignaladsNotification
{

}

重写 toSignalads 函数

class SendOtp extends SignaladsNotification
{

   public function __construct(Otp $otp)
   {
       $this->otp = $otp;
   }

    public function toSignalads($notifiable)
    {
        return (new SignaladsMessage("your verify code is $otp->code"))
            ->from('10004346');
    }
}

您应该在您的模型中添加 Notifiable 特性和 routeNotificationForSignalads 方法

class Otp extends Model
{
    use Notifiable;

    public function routeNotificationForSignalads($driver, $notification = null)
    {
        return $this->number;
    }

}
  • 使用模式发送
class SendWithPattern extends SignaladsBaseNotification
{
    public function toSignalads(mixed $notifiable): SignaladsMessage
    {
        return (new SignaladsMessage(''))
            ->patternId(123412341234)
            ->patternParams([1,2])
            ->sendMethod(SignalSendMethods::sendPattern);
    }
}
  • 发送群组
class SendWithPattern extends SignaladsBaseNotification
{
    public function toSignalads(mixed $notifiable): SignaladsMessage
    {
        return (new SignaladsMessage('پیام تست'))
            ->to(["09191234567", "09191234567"])
            ->sendMethod(SignalSendMethods::sendGroup);
    }
}

更多信息

有关更多详细信息,请参阅 短信服务介绍 页面。

如果您发现包有任何问题,可以发起 pull request 或通过电子邮件 support@signalads.com 与我们联系。

https://signalads.com