macellan/ileti-merkezi

Ileti Merkezi SMS 通知通道,用于 Laravel

v1.2.0 2024-03-08 22:23 UTC

This package is auto-updated.

Last update: 2024-09-13 00:32:35 UTC


README

Latest Stable Version Total Downloads

此包简化了使用 Ileti Merkezi 发送 SMS 通知的过程,适用于 Laravel 7.0+、8.0+、9.0+、10.0+ 和 11.0+

内容

安装

您可以通过 composer 安装此包

composer require macellan/ileti-merkezi

设置 Ileti Merkezi 服务

将您的 Ileti Merkezi SMS 网关登录名、密码和默认发送者姓名添加到 config/services.php

// config/services.php
...
    'sms' => [ 
        'iletimerkezi' => [
            'key' => env('ILETIMERKEZI_KEY'),
            'secret' => env('ILETIMERKEZI_SECRET'),
            'origin' => env('ILETIMERKEZI_ORIGIN'),
            'enable' => env('ILETIMERKEZI_ENABLE', true),
            'debug' => env('ILETIMERKEZI_DEBUG', false), //will log sending attempts and results
            'sandboxMode' => env('ILETIMERKEZI_SANDBOX_MODE', false) //will not invoke API call
        ],
    ],
...

使用

您可以在通知中的 via() 方法中使用该通道

use Illuminate\Notifications\Notification;
use Macellan\IletiMerkezi\IletiMerkeziMessage;

class AccountApproved extends Notification
{
    public function via($notifiable)
    {
        return ['iletimerkezi'];
    }

    public function toIletiMerkezi($notifiable)
    {
        return IletiMerkeziMessage::create()
            ->setBody('Your account was approved!')
            ->setSendTime(now());  
    }
}

在您的可通知模型中,确保包含一个 routeNotificationForSms() 方法,该方法返回一个电话号码或电话号码数组。

public function routeNotificationForSms()
{
    return str_replace(['+', ' '], '', $this->phone);
}

按需通知

有时您可能需要向未存储为您的应用程序“用户”的人发送通知。使用 Notification::route 方法,您可以在发送通知之前指定临时通知路由信息

Notification::route('sms', '905322234433')  
            ->notify(new AccountApproved());

更新日志

有关最近更改的更多信息,请参阅 更新日志

安全

如果您发现任何安全相关的问题,请通过电子邮件 fatih@aytekin.me 联系,而不是使用问题跟踪器。

贡献

有关详细信息,请参阅 贡献

致谢