erfanhemmati / kavenegar

laravel 4 和 5 的 kavenegar 集成

安装: 465

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 29

类型:laravel-package

dev-master 2024-07-20 11:24 UTC

This package is auto-updated.

Last update: 2024-09-20 11:37:16 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 密钥放入代码中

<?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()
}

使用此模式发送 VerifyLookup 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
{

}

重写 toKavenegar 函数

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 的测试账户。

文档

要查看完整的文档信息,请访问 短信 Web 服务 页面或 Web 服务文档

波斯语指南

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

更多信息

要了解更多信息,请访问Kavenegar短信网关介绍页面。

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

http://kavenegar.com