signalads-co / laravel
laravel signalads 集成
1.0.5
2023-01-30 12:57 UTC
Requires
README
支持的 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 与我们联系。