Comment envoyer une notification par SMS dans Laravel 5.3

Send SMS notifications with ClickSend & Laravel header image

By Mark Pratt

22 novembre 2023

13 minutes read

Introduction

Dans Laravel 5.3, ils ont introduit un nouveau système de notification qui te permet d'envoyer des notifications facilement à l'aide de SMS, d'emails et plus encore.

Aujourd'hui, nous allons voir comment envoyer des notifications par SMS à l'aide de ClickSend.

Pour simplifier les choses, nous allons faire un petit scénario d'exemple.

Dans cet exemple, nous avons un site de commerce électronique et nous voulons envoyer une notification par SMS si l'un de nos clients a payé avec succès sa commande.

Conditions préalables

Tu dois avoir une installation de Laravel 5.3 qui fonctionne déjà. Si ce n'est pas le cas, tu peux aller ici pour installer Laravel 5.3 : https://laravel.com/docs/5.3#install-laravel Et tu dois aussi avoir tes informations d'identification pour l'API ClickSend. Si tu n'en as pas, tu peux aller ici : https://dashboard.clicksend.com/

Installation

Maintenant que tout est installé, nous pouvons commencer à nous amuser.

La première étape consiste à installer notre bibliothèque ClickSend Laravel Notification Channel. Ajoute ceci dans ton fichier composer.json:

N'oublie pas de faire une mise à jour de composer pour récupérer notre bibliothèque Laravel Notification Channel.

La deuxième étape consiste à ajouter et à mettre à jour les informations d'identification de l'API ClickSend. Va dans ton fichier config/services.php et ajoute le code suivant :

La dernière étape consiste à créer notre propre événement de notification. Dans notre scénario, nous pouvons créer notre notification OrderPaid. Tu peux facilement créer unenotification comme suit :

Exécute cette commande dans le répertoire de ton projet.

Le fichier de notification sera alors ajouté dans ton dossier app/Notifications . Allez-y et modifiez ce fichier app/Notifications/OrderPaid.php. Copie et colle ce qui suit :

En gros, ce que nous faisons ici, c'est dire à Laravel que si nous avons déclenché une notification OrderPaid, nous utiliserons ClickSend comme canal.

Tu peux aussi mettre à jour le message de notification en remplaçant le message dans ta fonction content().

À ce stade, tu es complètement installé. C'est très simple.

Utilisation de la notification

L'utilisation du système de notification est maintenant assez simple. Ok, en supposant que nous ayons le modèle Order Eloquent dans notre code. Tu peux y ajouter le trait Notification, comme suit :

La clé ici est d'utiliser le code use Notifiable dans ton modèle Eloquent.

Maintenant que nous avons déjà configuré notre modèle Eloquent pour qu'il utilise le nouveau système de notification. Nous pouvons maintenant l'utiliser pour envoyer des notifications.

En supposant que, tout au long de ton code, tu aies initialement instancié un modèle Order Eloquent. Par exemple : Un client a commandé quelques articles et tu as attribué à la commande l'ID : 56.

Lorsque notre client a payé sa commande, nous pouvons maintenant lui envoyer une notification par SMS l'informant de son paiement.

Pour envoyer une notification par SMS, c'est assez facile. Tu peux simplement le faire, comme ça :

(Optionnel) Comment personnaliser le numéro de téléphone du destinataire ?

Si tu veux aussi personnaliser le numéro de téléphone du destinataire, tu peux procéder comme suit :

Ajoute le champ du numéro de téléphone dans ton modèle Eloquent :

Ou ajoute une fonction dans ton fichier de modèle Eloquent :

Va ici pour en savoir plus sur la personnalisation du numéro de téléphone du destinataire : https://github.com/omarusman/laravel_notification_clicksend#usage

Conclusion

Dans ce guide, nous avons montré comment installer et configurer facilement le nouveau système de notification de Laravel 5.3 et faire usage de cette nouvelle fonctionnalité pour envoyer des notifications SMS via ClickSend dans tes projets Laravel existants ou futurs.

Ce blog a été initialement publié le 21 novembre 2016
  • laravel
  • Automatisation des SMS
  • API
  • PHP

Related Posts