Send sms from SmsUkraine
, (*1)
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ SMS ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ Laravel-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ "SMS Ukraine"., (*2)
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:, (*3)
$ composer require kagatan/sms-ukraine
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ
composer
. ΠΠ»Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅., (*4)
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Laravel Π²Π΅ΡΡΠΈΠΈ 5.5 ΠΈ Π²ΡΡΠ΅, ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ Π² ΡΠ΅ΠΊΡΠΈΠΈ providers
ΡΠ°ΠΉΠ»Π° ./config/app.php
:, (*5)
'providers' => [ // ... Kagatan\SmsUkraine\SmsUkraineServiceProvider::class, ]
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΡΠ°Π΄:, (*6)
'aliases' => [ ... 'SmsUkraine' => Kagatan\SmsUkraine\Facades\SmsUkraine::class ]
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² ΡΠ°ΠΉΠ» config/services.php
:, (*7)
// config/services.php ... 'sms-ukraine' => [ 'key' => function_exists('env') ? env('SMSUKRAINE_KEY', '') : '', 'login' => function_exists('env') ? env('SMSUKRAINE_LOGIN', '') : '', 'password' => function_exists('env') ? env('SMSUKRAINE_PASSWORD', '') : '', 'from' => function_exists('env') ? env('SMSUKRAINE_FROM', '') : '', ], ...
ΠΠ»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°:, (*8)
php artisan vendor:publish --provider="Kagatan\SmsUkraine\SmsUkraineServiceProvider"
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ./.env
Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊΠ»ΡΡΠΈ, (*9)
SMSUKRAINE_KEY=xxxxxxxxxxxxxxxxxxxxxx SMSUKRAINE_FROM=SENDER-NAME
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·ΠΊΡ Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°ΡΠΎΠ»Ρ ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠΈ:, (*10)
SMSUKRAINE_LOGIN=xxxxx SMSUKRAINE_PASSWORD=xxxxx SMSUKRAINE_FROM=SENDER-NAME
composer update kagatan/sms-ukraine
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π½ΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ Π² Laravel-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ :, (*11)
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° SmsUkraineMessage:, (*12)
ΠΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
from() |
ΠΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
to() |
ΠΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
content() |
Π’Π΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ |
sendAt() |
ΠΠ°ΡΠ° Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
key() |
API ΠΊΠ»ΡΡ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· config(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
login() |
API Π»ΠΎΠ³ΠΈΠ½, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· config(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
password() |
API ΠΏΠ°ΡΠΎΠ»Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· config(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) |
toJson() |
ΠΠ±ΡΠ΅ΠΊΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π² JSON |
toArray() |
ΠΠ±ΡΠ΅ΠΊΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ |
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ:, (*13)
<?php use Illuminate\Notifications\Notification; use Kagatan\SmsUkraine\SmsUkraineChannel; use Kagatan\SmsUkraine\SmsUkraineMessage; /** * Notification object. */ class InvoicePaid extends Notification { /** * Get the notification channels. * * @param mixed $notifiable * * @return array|string */ public function via($notifiable) { return [SmsUkraineChannel::class]; } /** * Get the SMS Ukraine Message representation of the notification. * * @param mixed $notifiable * * @return SmsUkraineMessage */ public function toSmsUkraine($notifiable) { return SmsUkraineMessage::create() ->content('Some SMS notification message'); } }
Π ΡΠ²ΠΎΠ΅ΠΉ Π½ΠΎΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ routeNotificationForSmsUkraine()
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ
Π½ΠΎΠΌΠ΅ΡΠΎΠ²., (*14)
<?php namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Notifications\Notifiable; class User extends Model { use Notifiable; /** * Route notifications for the SmsUkraine channel. * * @param $notifiable * @return string */ public function routeNotificationForSmsUkraine($notifiable) { return $this->phone; } }
ΠΡΠΈΠΌΠ΅Ρ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Notifiable Trait:, (*15)
$user->notify(new InvoicePaid());
ΠΡΠΈΠΌΠ΅Ρ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Notification Facade:, (*16)
Notification::send($users, new InvoicePaid());
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΠ°Π΄ΠΎΠ²(Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Notification):, (*17)
<?php use Kagatan\SmsUkraine\Facades\SmsUkraine; use Kagatan\SmsUkraine\SmsUkraineMessage; public function test(){ $message = SmsUkraineMessage::create() ->content("Example sending SMS.") ->to("380987654210") ->from("WiFi-POINT") ->toArray(); $id = SmsUkraine::send($message); echo $id; }
ΠΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT., (*18)