2017 © Pedro Peláez
 

library laravel-ovh-sms

The OVH Sms Api integration for Laravel 5.

image

akibatech/laravel-ovh-sms

The OVH Sms Api integration for Laravel 5.

  • Thursday, February 16, 2017
  • by MarceauKa
  • Repository
  • 2 Watchers
  • 4 Stars
  • 392 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 1 Open issues
  • 2 Versions
  • 20 % Grown

The README.md

Laravel OVH SMS

This is an unofficial integration of the php-ovh-sms library for Laravel 5., (*1)

Summary

Installation

Require this package with composer:, (*2)

composer require akibatech/laravel-ovh-sms

After updating composer, add the ServiceProvider to the providers array in config/app.php:, (*3)

Akibatech\Ovhsms\ServiceProvider::class,

If you want to use the Facade for rapid message sending, you can add this line to your config/app.php in the aliases section:, (*4)

'Ovhsms' => Akibatech\Ovhsms\Facade::class,

Then, you should publish the laravel-ovh-sms to your config folder with the following command., (*5)

php artisan vendor:publish --provider="Akibatech\Ovhsms\ServiceProvider"

Usage

Send a message (using Facade) anywhere in your app:, (*6)

Ovhsms::sendMessage('+33611223344', 'Hello!');

Send a message in a controller using DI:, (*7)

public function myControllerAction(Akibatech\Ovhsms\OvhSms $client)
{
    $client->sendMessage('+33611223344', 'Hello!');
}

Package API workflow

This package give you an access to a ready to use Ovh\Sms\SmsApi instance with your configured credentials and your default sms account (if present)., (*8)

It also offer some helpers over the original Api., (*9)

$client = app('ovhsms');

// Prepare a new SMS instance and return it.
$sms = $client->newMessage('the phone number');
$sms->send('Hi!');

// Same as above but the SMS is marked as a marketing message.
$sms = $client->newMarketingMessage($phone); // Alias of newMessage($phone, true);
$sms->send('Hello!');

// Attach many receivers
$sms = $client->newMessage(['phone1', 'phone2'], ...);
$sms->send('Hi guys!');

// Send directly the message
$client->sendMessage($phone, 'Hello!');
// Or
$client->sendMarketingMessage($phone, 'Super price this sunday!');

Original API workflow

If you don't want to use ready-to-use helpers, you can follow the original workflow. Here's an example:, (*10)

// Retrieve OVH SMS instance
$ovhsms = app('ovhsms'); // Or Ovhsms::getClient();

// Get available SMS accounts
$accounts = $ovhsms->getAccounts();

// Set the account you will use
$ovhsms->setAccount($accounts[0]);

// Create a new message that will allow the recipient to answer (to FR receipients only)
$sms = $ovh->createMessage(true);
$sms->addReceiver("+33601020304");
$sms->setIsMarketing(false);

// Plan to send it in the future
$sms->setDeliveryDate(new DateTime("2018-02-25 18:40:00"));
$sms->send("Hello world!");

Using with Laravel Notifications

This package can be used as a driver for Laravel Notifications (Laravel >= 5.3)., (*11)

Example notification

Here's a simple notification example., (*12)

namespace App\Notifications;

use Akibatech\Ovhsms\Notifications\OvhSmsChannel;
use Akibatech\Ovhsms\Notifications\OvhSmsMessage;
use Illuminate\Notifications\Notification;

class ExampleNotification extends Notification
{
    /**
     * Notification via OvhSmsChannel.
     */
    public function via($notifiable)
    {
        return [OvhSmsChannel::class];
    }

    /**
     * Your notification must implements "toOvh()"
     */
    public function toOvh($notifiable)
    {
        return (new OvhSmsMessage('A new invoice was paid! Amount: $9.00'));
    }
}

Also, your Notifiable model must implements routeNotificationForOvh()., (*13)

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * Returns the user's phone number.
     */
    public function routeNotificationForOvh()
    {
        return $this->phone; // Ex: +33611223344
    }
}

Nice, you're ready to use the new Laravel Notifications system., (*14)

Getting credentials

You can get your credentials from the official API Explorer site at OVH., (*15)

Once your credentials in hands, you need to put them in config/laravel-ovh-sms.php.
For convenience, you can put them in your .env file., (*16)

Config keys are: - OVHSMS_APP_KEY => your application key - OVHSMS_APP_SECRET => your application secret - OVHSMS_CONSUMER_KEY => your consumer key - OVHSMS_ENDPOINT => your endpoint (defaults to ovh-eu), (*17)

Optional keys:
- OVHSMS_ACCOUNT => your sms account ID (formatted like "sms-LLXXXXX-X") - OVHSMS_USER_LOGIN => your API user ID - OVHSMS_SENDER => phone number or alphanumeric sender designation, (*18)

Support

Issues related to ovh/php-ovh-sms should be posted on its own repo.
For this Laravel package, feel free to post your issues in the issues section., (*19)

Contributors

Licence

MIT, (*20)

The Versions

16/02 2017

dev-master

9999999-dev

The OVH Sms Api integration for Laravel 5.

  Sources   Download

MIT

The Requires

 

by Avatar MarceauKa

laravel api sms laravel5 ovh

16/02 2017

1.1.5

1.1.5.0

The OVH Sms Api integration for Laravel 5.

  Sources   Download

MIT

The Requires

 

by Avatar MarceauKa

laravel api sms laravel5 ovh