kavenegar/laravel

laravel 4 和 5 的 kavenegar 集成

安装次数: 204,871

依赖关系: 10

建议者: 0

安全性: 0

星星: 81

关注者: 5

分支: 30

类型:laravel-package

v1.3.8 2024-03-26 08:13 UTC

This package is auto-updated.

Last update: 2024-08-26 21:32:51 UTC


README

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

支持的 Laravel 版本
  • V.4
  • V.5
  • V.6
  • V.7
  • V.8
  • V.9
  • V.10

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

安装

步骤 1 - 安装包

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

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

$ composer update

步骤 2

转到 config/app.php 并将以下行添加到 providers 数组的末尾

Kavenegar\Laravel\ServiceProvider::class,

这样数组应该是这样的

'providers' => [
		/*
		* Laravel Framework Service Providers...
		*/
		.
		.
		.
		Kavenegar\Laravel\ServiceProvider::class
]

然后在 config/app.php 中添加以下行到 aliases 数组的末尾

'Kavenegar' => Kavenegar\Laravel\Facade::class,

步骤 3 - 发布

在项目目录中运行此命令

php artisan vendor:publish

在出现的信息中,找到 Kavenegar 的数字,输入相关的数字然后按 Enter。例如,在下面的情况下,您必须输入 9 然后按 Enter

Which provider or tag files would you like to publish?:
[0 ] Publish files from all providers and tags listed below
[1 ] Provider: Facade\Ignition\IgnitionServiceProvider
[2 ] Provider: Fideloper\Proxy\TrustedProxyServiceProvider
[3 ] Provider: Fruitcake\Cors\CorsServiceProvider
[4 ] Provider: Illuminate\Foundation\Providers\FoundationServiceProvider
[5 ] Provider: Illuminate\Mail\MailServiceProvider
[6 ] Provider: Illuminate\Notifications\NotificationServiceProvider
[7 ] Provider: Illuminate\Pagination\PaginationServiceProvider
**_ [8 ] Provider: Kavenegar\Laravel\ServiceProviderLaravel9_**
.
.
.

步骤 4 - Api-Key

现在您必须在项目中定义您的 API 密钥。为此,请转到 config/kavenegar.php,然后在代码中放入您的 API KEY

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

一切设置完成

使用方法

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

  • 首先使用类
use Kavenegar;

然后使用以下模式发送 SMS

try{
    $sender = "10004346";		//This is the Sender number

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

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

    $result = Kavenegar::Send($sender,$receptor,$message);
    if($result){
        foreach($result as $r){
            echo "messageid = $r->messageid";
            echo "message = $r->message";
            echo "status = $r->status";
            echo "statustext = $r->statustext";
            echo "sender = $r->sender";
            echo "receptor = $r->receptor";
            echo "date = $r->date";
            echo "cost = $r->cost";
        }
    }
}
catch(\Kavenegar\Exceptions\ApiException $e){
    // در صورتی که خروجی وب سرویس 200 نباشد این خطا رخ می دهد
    echo $e->errorMessage();
}
catch(\Kavenegar\Exceptions\HttpException $e){
    // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
    echo $e->errorMessage();
}catch(\Exceptions $ex){
   // در صورت بروز خطایی دیگر
    echo $ex->getMessage()
}

使用此模式发送验证查找 SMS

try{
    $receptor = "09123456789";
    $token = "123";
    $token2 = "456";
    $token3 = "789";
    $template="verify";
    //Send null for tokens not defined in the template
    //Pass token10 and token20 as parameter 6th and 7th
    $result = Kavenegar::VerifyLookup($receptor, $token, $token2, $token3, $template, $type = null);
    if($result){
        foreach($result as $r){
            echo "messageid = $r->messageid";
            echo "message = $r->message";
            echo "status = $r->status";
            echo "statustext = $r->statustext";
            echo "sender = $r->sender";
            echo "receptor = $r->receptor";
            echo "date = $r->date";
            echo "cost = $r->cost";
        }
    }
}
catch(\Kavenegar\Exceptions\ApiException $e){
    // در صورتی که خروجی وب سرویس 200 نباشد این خطا رخ می دهد
    echo $e->errorMessage();
}
catch(\Kavenegar\Exceptions\HttpException $e){
    // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
    echo $e->errorMessage();
}

您可以在 KaveNegar 网站找到所有 错误处理API 参数使用方法

在通知中使用

您还可以使用 KavengarChannel 进行通知

创建您的通知

php artisan make:notification InvoicePaid

从 KavenegarBaseNotification 扩展您的通知

class InvoicePaid extends KavenegarBaseNotification
{

}

重写 toKavengar 方法

class InvoicePaid extends KavenegarBaseNotification
{

   public function __construct(Invoice $invoice)
   {
       $this->invoice = $invoice;
   }

    public function toKavenegar($notifiable)
    {
        return (new KavenegarMessage("فاکتور شما به شماره $invoice->id پرداخت شد."))->from('10004346');
    }
}

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

class User extends Authenticatable
{
    use Notifiable;

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

}

** 注意:如果您没有在可通知模型中添加 routeNotificationForKavenegar,那么您应该在通知中设置您的接收者: **

class InvoicePaid extends KavenegarBaseNotification
{

    public function toKavenegar($notifiable)
    {
        return (new KavenegarMessage('فاکتور شما به شماره ۱۲۳۴ پرداخت شد.'))->from('10004346')->to('092100000');
    }
}

为了发送验证查找消息,您应该使用 verifyLookup 方法来设置方法名称和令牌

class InvoicePaid extends KavenegarBaseNotification
{

    public function toKavenegar($notifiable)
    {
        return (new KavenegarMessage())
            ->verifyLookup('verify_first',['token1','token2']);
    }
}

贡献

欢迎提交错误修复、文档和增强功能!请通过 support@kavenegar.com 通知我们

## 指南

介绍 KaveNegar 服务

KaveNegar 是一个用于发送和接收短信及语音通话的 Web 服务,您可以使用它。

创建账户

如果您还不是 KaveNegar Web 服务的成员,您可以通过 会员注册链接 注册并获取用于测试 API 的试用账户。

文档

要查看完整文档信息,请访问短信网关服务页面或网关服务文档页面。

波斯语指南

如果您想阅读波斯语版的Kavenegar开发套件指南,请访问短信发送代码页面。

更多信息

更多介绍,请访问Kavenegar短信网关服务介绍页面。

如果您在使用Kavenegar服务套件时遇到问题或有建议,请通过发送Pull Request或发送电子邮件至support@kavenegar.com与我们联系。

http://kavenegar.com