承接 akibatech/laravel-ovh-sms 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

akibatech/laravel-ovh-sms

Composer 安装命令:

composer require akibatech/laravel-ovh-sms

包简介

The OVH Sms Api integration for Laravel 5.

README 文档

README

This is an unofficial integration of the php-ovh-sms library for Laravel 5.

Summary

Installation

Require this package with composer:

composer require akibatech/laravel-ovh-sms

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

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:

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

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

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

Usage

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

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

Send a message in a controller using DI:

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).

It also offer some helpers over the original Api.

$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:

// 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).

Example notification

Here's a simple notification example.

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().

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.

Getting credentials

You can get your credentials from the official API Explorer site at OVH.

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.

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)

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

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.

Contributors

Licence

MIT

统计信息

  • 总下载量: 803
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 2
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-08-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固