承接 nexmo/laravel-notification 相关项目开发

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

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

nexmo/laravel-notification

最新稳定版本:0.2.1

Composer 安装命令:

composer require nexmo/laravel-notification

包简介

Send SMS, WhatsApp, Viber and Facebook Messenger messages via Nexmo

README 文档

README

Nexmo is now known as Vonage

Although Nexmo is available in Laravel as the default SMS provider, the next generation of Nexmo APIs will offer more communication channels. This package adds the ability to send notifications to WhatsApp, Facebook Messenger and Viber via Nexmo.

Note that the Messages API that this package uses has not yet had its stable release so both the API and this library are subject to change

Usage

To use this package, run composer require nexmo/laravel-notification. Once it completes, you can implement the following methods on your notification:

  • toNexmoWhatsApp
  • toNexmoFacebook
  • toNexmoViberServiceMessage
  • toNexmoSms

See examples/Notification/MerryChristmas.php for a complete example.

To send a notification, specify the channel you'd like to use:

// To a user
$user->notify(new \App\Notifications\MerryChristmas());

// To any person
Notification::route(
    'nexmo-whatsapp',
    'YOUR_NUMBER'
)->notify(new \App\Notifications\MerryChristmas());

The available channels are:

  • nexmo-sms
  • nexmo-whatsapp
  • nexmo-facebook
  • nexmo-viber_service_msg

As each notification receives a $notifiable (usually a user) it can decide how best to route the information. In this case, it checks the via_whatsapp property on the user and sends via WhatsApp if it's true. Otherwise it falls back to email

public function via($notifiable)
{
    return $notifiable->via_whatsapp ? ['nexmo-whatsapp'] : ['mail'];
}

Message Types

Nexmo supports multiple message types, depending on the channel that you're sending to. The Text type is the safest if you want to deliver to all channels:

public function toNexmoWhatsApp($notifiable)
{
    return (new \Nexmo\Notifications\Message\Text)
        ->content('This is a message being sent to WhatsApp');
}

Caveats

For some channels you need to send a templated message before you can send a free text message due to spam control rules. Here's an example of how to use a preapproved template intended for two-factor authentication purposes:

public function toNexmoWhatsApp($notifiable)
{
    return (new \Nexmo\Notifications\Message\Template)
        ->name("whatsapp:hsm:technology:nexmo:verify")
        ->parameters([
            ["default" => "Your Brand"],
            ["default" => "64873"],
            ["default" => "10"],
        ]);
}

If the recipient replies to your message, you can send them Text type messages without any issues

Configuration

Authentication

This notifications package is built on top of nexmo/laravel and uses the Nexmo client from there.

For this to work, you need to set your application ID and path to your private key in the .env file:

NEXMO_APPLICATION_ID=my_application_id
NEXMO_PRIVATE_KEY=./private.key

Setting the from address

You can set a from address via the .env file. This package will look for provider specific entries before falling back to NEXMO_FROM.

NEXMO_FROM_SMS=""
NEXMO_FROM_WHATSAPP=""
NEXMO_FROM_MESSENGER=""
NEXMO_FROM_VIBER_SERVICE_MSG=""
NEXMO_FROM="" # This is the default if any of the above aren't set

Alternatively, you can set a from address for a single notification by calling the ->from() method on a message:

public function toNexmoViberServiceMessage($notifiable)
{
    return (new Text)->content('Merry Christmas Viber!')->from("YOUR_ID");
}

统计信息

  • 总下载量: 2.75k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 51
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 51
  • Watchers: 15
  • Forks: 9
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-11-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固