Système de notification par SMS avec PubNub et IFTTT
Published: 2024-03-14 17:05:45

Si vous êtes développeur, vous avez très probablement entendu parler de concepts tels que IaaS (Infrastructure as a Service), PaaS (Platform as a Service) et [SaaS (Software as a Service)](https://www.pubnub.com/solutions/enterprise-software/). Ces concepts sont essentiels pour créer, gérer et déployer des applications et des services. L'IaaS vous fournit des ressources informatiques évolutives sur l'internet. Le PaaS offre une plateforme qui permet aux développeurs de développer, d'exécuter et de gérer des applications sans la complexité de la construction et de la maintenance de l'infrastructure sous-jacente. Le SaaS fournit également des applications logicielles sur l'internet. Des services tels que IFTTT (If This Then That), une plateforme SaaS, et PubNub, une plateforme IaaS, fournissent des outils précieux pour l'automatisation et la communication en temps réel, vous permettant de mettre votre application en production plus rapidement que jamais.

Aperçu technique
----------------

### PubNub Event & Actions (E&A)

[PubNub Events & Actions](https://www.pubnub.com/docs/serverless/events-and-actions/overview) (E&A) est une extension de la plateforme PubNub. PubNub Events & Actions vous permet de filtrer/traiter vos propres événements PubNub et d'envoyer ces événements à des services tiers que vous pouvez avoir mis en place de différentes manières.

Les événements PubNub peuvent être générés lorsqu'un utilisateur publie un message, lorsque l'état de présence de l'utilisateur change ou lorsqu'un certain nombre d'autres événements se produisent (voir notre [Documentation sur les événements](https://www.pubnub.com/docs/serverless/events-and-actions/events) pour une liste complète). Les événements PubNub sont ensuite captés par un auditeur d'événements PubNub. L'écouteur PubNub est à l'écoute d'un événement spécifique et déclenche l'action correspondante. Ce processus est réalisé directement sur le portail PubNub sans aucun codage.

### IFTTT et notifications par SMS

[IFTTT](https://ifttt.com/) est une plateforme d'automatisation basée sur le web qui permet aux utilisateurs de connecter différentes applications et services web pour automatiser des tâches et découvrir de nouvelles fonctionnalités. Elle permet de créer des instructions simples et conditionnelles, appelées "applets", qui déclenchent des changements dans les applications ou les services.

Deux des plus de 100 intégrations que vous pouvez mettre en place via IFTTT sont un Webhook et des notifications par SMS. Ces intégrations se connecteront à PubNub Events & Actions (E&A). Le diagramme ci-dessous permet de visualiser le système que nous allons créer.

![](https://www.pubnub.com/cdn/3prze68gbwl1/1IXhfT1ibiNjXbPOhJAAyn/57dc31be82227fe229993d7bdd1afd4f/Frame_1.png)

Conditions préalables
---------------------

Assurez-vous d'avoir ouvert un compte PubNub, et consultez la page [Prix des événements et actions](https://www.pubnub.com/docs/general/resources/events-and-actions-pricing) pour en savoir plus sur les coûts. Vous pouvez également naviguer vers Events & Actions dans le portail d'administration de PubNub et sélectionner "Upgrade" pour voir les plans de prix pour Events & Actions. Nous utiliserons la console PubNub Debug pour ce blog afin de publier des messages et de les traiter en utilisant IFTTT.

Assurez-vous d'avoir ouvert un compte IFTTT, car nous l'utiliserons pour configurer l'intégration SMS et nous y connecter via un WebHook, comme le montre le diagramme ci-dessus.

Pour en savoir plus sur le démarrage et les détails plus avancés sur E&A, assurez-vous de lire certains de nos autres contenus concernant PubNub Events & Actions :

-   [Configurer les événements et les actions](https://www.pubnub.com/how-to/set-up-events-and-actions/)
    
-   [Différence entre E&A et fonctions](http://pubnub.com/blog/events-and-actions-or-pubnub-functions-picking-the-right-tool/)
    
-   [Comment filtrer les messages en utilisant Advanced JSONPath](https://www.pubnub.com/how-to/eanda-advanced-jsonpath-filter/)
    

Connecter PubNub avec IFTTT
---------------------------

Référez-vous à nos [docs](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-ifttt-action) pour plus d'informations sur la configuration de PubNub avec IFTTT.

Dans ce walkthrough, nous allons utiliser l'intégration PubNub Events & Actions IFTTT et connecter notre instance PubNub directement à IFTTT. Nous allons automatiser les notifications SMS sur votre téléphone lorsqu'un message est envoyé via un canal spécifique.

Tout d'abord, créons un Event Listener dans le portail PubNub. Cet écouteur d'événement sera responsable de l'écoute des messages envoyés par le canal "Send\_SMS".

![](https://www.pubnub.com/cdn/3prze68gbwl1/cqscJ3G6ji9oVY84zLmfC/a4874dcaa52203e484cde8370ee66006/Screenshot_2024-03-11_at_12.51.17_AM.png)

La configuration ci-dessous montre comment mettre en place un filtre de base pour écouter les messages envoyés par le canal "Send\_SMS". Cependant, il y a beaucoup plus de choses que vous pouvez faire avec les filtres d'événements PubNub lorsque vous utilisez la fonctionnalité Advanced JSON Path.

![](https://www.pubnub.com/cdn/3prze68gbwl1/6rQ3JLm967DVo6FcLkyfgN/f9db88a18de625133c2e8d16f36e0a88/Screenshot_2024-03-11_at_12.50.55_AM.png)

Maintenant que nous avons configuré le filtre d'événement, nous pouvons attacher notre action PubNub. Le nom de l'événement sera utilisé plus tard lors de la configuration de l'environnement IFTTT. Nous allons également saisir la clé du Webhook IFTTT et configurer notre workflow IFTTT. De plus, vous pouvez ajouter des en-têtes à la requête Webhook ; ceci n'est pas nécessaire pour connecter PubNub à IFTTT.

![](https://www.pubnub.com/cdn/3prze68gbwl1/707m0doUUFo4vXgIPGrq1s/254983405bb2d2cf73e8285d2ff12869/Screenshot_2024-03-13_at_9.42.27_PM.png)

Après avoir ajouté l'action PubNub, allez sur IFTTT, cliquez sur Create et sélectionnez "If This". Dans la barre de recherche, cherchez "Webhook". Nous utiliserons l'option "Receive a web request with a JSON payload", comme le montre l'image ci-dessous.

![](https://www.pubnub.com/cdn/3prze68gbwl1/3zSQLTPtmqAnirqNxo2Omn/eae7a7d6a85f48a7e08e75e3deb82407/Screenshot_2024-03-13_at_10.32.44_PM.png)

Saisissez le "Nom de l'événement" de l'action PubNub que nous avons mise en place, qui est, dans ce cas, "publish\_message". Le nom de l'événement doit être le même entre PubNub et IFTTT. Après avoir créé votre déclencheur "If This", saisissez la clé Webhook, naviguez jusqu'à la [Page du service Webhook](https://ifttt.com/maker_webhooks)cliquez sur documentation et copiez votre clé Webhook à partir de là.

Pour le déclencheur "Then That", recherchez "SMS" et créez cette action. Nous allons maintenant ajouter un "Filter Code" au flux de travail pour analyser l'événement PubNub et n'envoyer que la partie message.

![](https://www.pubnub.com/cdn/3prze68gbwl1/6LQGoclDVwVXGyeJiSylmD/998ed40b1fa206d40d73cf6f5a233516/Screenshot_2024-03-13_at_10.46.47_PM.png)

Reportez-vous à l'événement PubNub ci-dessous pour comprendre tout ce que contient un événement publié. Nous allons utiliser l'analyse du message.

```js
{
  "event": {
    "channel": "Channel-Barcelona",
    "eventCategory": "message",
    "eventType": "message.publish",
    "eventId": "8997eeb6-2a94-455b-ad6f-57296b785273",
    "eventPayload": {
      "message": "Enter message here",
      "meta": null
    },
    "iso8601timestamp": "2024-03-14T01:24:38Z",
    "subscribeKey": "...",
    "timetoken": "17103794788490465",
    "senderId": "Jack-device"
  },
  "eventsAndActionsMetadata": {
    "eventListenerMetadata": {
      "eventListenerId": "d69b8f9c-5d24-47f0-81d0-98accd38fdba"
    },
    "actionMetadata": {
      "actionId": "96cb5d6c-c121-4a0d-a703-cd78be1099d0",
      "actionInstanceId": "f395ae94-0aaf-4ed7-9add-57ee9db30272",
      "actionInvocationId": "81f7ea47-dace-4812-b546-a26057c127ce",
      "webhookMetadata": {
        "retryMetadata": {
          "retryIntervalSeconds": 450,
          "attemptNum": 0,
          "maxNumRetries": 2
        }
      }
    }
  }
}
```

Le code du filtre ci-dessous analyse l'événement PubNub et envoie la partie "message" sous forme de message texte.

```js
// Add your code here. All actions will run unless you explicitly skip them.
// Quick tips!
// Auto-complete is on. Start typing to see ingredient options.
// Hover over any ingredient to see the variable type and an example.
// TypeScript v2.92
var json = JSON.parse(MakerWebhooks.jsonEvent.JsonPayload);

var message = json.event.eventPayload.message;

Sms.sendMeText.setMessage(message);
```

L'Applet finie et l'intégration PubNub devraient maintenant écouter un événement publié de PubNub à travers le canal "Send\_SMS," et analyser l'événement PubNub du côté IFTTT et envoyer les messages SMS à votre numéro de téléphone.

![](https://www.pubnub.com/cdn/3prze68gbwl1/32wxNb95y5H4Pc7I3OJuQp/57b25e2194e989536a5bac8df90c58f4/Screenshot_2024-03-13_at_11.00.19_PM.png)

Cas d'utilisation pour les développeurs
---------------------------------------

Plongeons dans quelques cas d'utilisation pour voir PubNub avec une intégration IFTTT dans un scénario réel.

### Applications de chat

Une entreprise utilise une application de chat pour la communication interne entre ses employés. Elle souhaite améliorer son système de support interne pour les problèmes informatiques. L'objectif est d'automatiser la création de tickets de support à partir des messages de chat et de notifier en temps réel l'équipe de support informatique concernée.

**Application de chat avec PubNub**: L'application interne de [application de chat](https://www.pubnub.com/solutions/chat/) utilise PubNub pour la messagerie en temps réel. Chaque département a son propre canal de chat, y compris le canal de support informatique.

**Intégration IFTTT**: L'application de chat est intégrée à IFTTT à l'aide de PubNub Events & Actions. L'intégration est configurée de manière à ce que des mots-clés ou des phrases spécifiques tapés dans n'importe quel canal de chat départemental puissent déclencher des actions en dehors de l'application de chat.

**Configuration des déclencheurs**: Dans l'application de chat, un employé peut signaler un problème informatique en envoyant un message avec des mots-clés spécifiques, tels que "problème informatique", suivi d'une brève description du problème. PubNub détecte ce message en temps réel et déclenche une applet IFTTT prédéfinie.

**Applet IFTTT pour la création d'un ticket**: L'applet IFTTT déclenchée est configurée pour créer un nouveau ticket d'assistance dans le système de ticketing de l'entreprise (par exemple, Jira, Zendesk). L'applet extrait le contenu du message et l'utilise pour remplir les détails du nouveau ticket d'assistance.

**Notification au personnel d'assistance informatique**: Une fois le ticket d'assistance créé, une autre applet IFTTT est déclenchée pour notifier l'équipe d'assistance informatique. Cela peut se faire par différents canaux pris en charge par IFTTT, comme l'envoi d'un SMS ou d'un e-mail ou même la publication d'un message directement dans le canal de discussion de l'assistance informatique dans l'application de discussion.

**Message de confirmation**: Un message de confirmation est envoyé au canal de discussion original où le problème a été signalé, confirmant que le ticket a été créé et que l'équipe de support informatique a été notifiée. Ce message peut inclure l'identifiant du ticket pour référence.

### Surveillance des appareils IoT

Une entreprise dispose d'un ensemble de dispositifs [IoT](https://www.pubnub.com/solutions/iot-device-control/) (par exemple, des capteurs environnementaux, des compteurs intelligents, des caméras de sécurité) déployés à diverses fins opérationnelles. Ces appareils sont connectés et communiquent via PubNub, ce qui permet la transmission et la surveillance des données en temps réel. L'entreprise utilise une application de chat alimentée par PubNub pour les communications internes. L'intégration avec IFTTT permet à l'entreprise d'automatiser les réponses ou les notifications en fonction des données reçues des appareils IoT.

**Transmission de données en temps réel**: Chaque appareil IoT est configuré pour publier ses mises à jour d'état et ses alertes directement sur un canal PubNub dédié. Ces messages peuvent inclure différents types de données, comme des anomalies de température, des niveaux de batterie ou des alertes d'accès non autorisé.

**Fonction PubNub pour le traitement des données**: Une fonction PubNub est déployée pour filtrer et traiter en temps réel les données provenant des appareils IoT. Cette fonction peut évaluer les messages entrants en fonction de conditions ou de seuils spécifiques qui indiquent qu'une attention urgente est nécessaire (par exemple, un capteur détectant une température en dehors d'une plage prédéfinie).

**Intégration IFTTT pour des actions automatisées**: Lorsque l'écouteur d'événements PubNub détecte une condition d'alerte, il déclenche un événement IFTTT par le biais d'un crochet Web IFTTT. Cet événement est configuré pour effectuer des actions automatisées, qui peuvent inclure :

-   l'envoi d'un [courriel](https://ifttt.com/email) ou un [SMS](https://ifttt.com/sms) au personnel spécifique ou aux sous-traitants externes responsables de la gestion de l'appareil IoT en question.
    
-   Création d'un nouveau ticket d'assistance dans le système de tickets de l'entreprise (p. ex, [Jira](https://ifttt.com/jira)). L'applet sait ce qui ne va pas avec l'appareil informatique grâce au message d'alerte et peut rapporter le fichier journal de l'appareil IoT directement dans le ticket.
    
-   L'événement est enregistré dans un journal de maintenance pour une analyse et une action futures.
    

**Applets IFTTT pour les commandes de contrôle des appareils**: L'application de chat permet aux membres de l'équipe de renvoyer des commandes via PubNub aux appareils IoT pour effectuer des actions immédiates (par exemple, réinitialiser l'appareil, ajuster les paramètres) basées sur des applets prédéfinis dans IFTTT qui répondent à des mots clés spécifiques ou à des commandes affichées dans le chat.

Démarrer avec PubNub
--------------------

Nous venons de décrire comment utiliser l'action IFTTT et configurer un simple écouteur d'événements PubNub. Pour aller plus loin dans l'utilisation des événements et actions PubNub, nous vous invitons à découvrir d'autres actions proposées par PubNub.

-   [Faire un appel Webhook](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-webhook-action) (c'est-à-dire appeler votre serveur pour chaque événement filtré)
    
-   [Sauvegarder dans SQS](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-sqs-action) (c.-à-d. enregistrer chaque événement dans la file d'attente SQS d [le service de mise en file d'attente SQS d'Amazon](https://aws.amazon.com/sqs/))
    
-   [Envoyer à Kinesis](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-kinesis-action) (c.-à-d. envoyer au service d'ingestion d'événements [service d'ingestion d'événements d'Amazon](https://aws.amazon.com/kinesis/))
    
-   [Envoi vers S3](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-s3-action) (c'est-à-dire stocker les données dans un panier [Amazon S3](https://aws.amazon.com/s3/))
    
-   [Envoyer à Kafka](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-kafka-action) (c'est-à-dire envoyer les données à [Apache Kafka](https://kafka.apache.org/))
    

PubNub fournit un large éventail de [SDK](https://www.pubnub.com/docs/sdks) pour intégrer ces actions dans vos applications. Ces SDKs facilitent l'implémentation des capacités de PubNub dans vos applications actuelles, ce qui permet d'ajouter facilement des fonctionnalités de streaming, de traitement et de communication de données en temps réel. Qu'il s'agisse d'applications web, mobiles ou côté serveur, les SDK de PubNub offrent les outils dont vous avez besoin pour créer des applications hautement interactives et réactives.

N'hésitez pas à contacter l'équipe chargée des relations avec les développeurs à l'adresse devrel@pubnub.com si vous avez des questions ou des préoccupations.

#### Sommaire

[Aperçu techniquePubNub](#h-0)[Event & Actions (E&A)](#h-1)[IFTTT et SMS](#h-2)[NotificationsPrérequisConnexion](#h-3)[de](#h-2)[PubNub avec](#h-4)[IFTTTCas d'utilisation pour](#h-5)[les](#h-4)[développeursApplications](#h-6)[chatSurveillance des appareils](#h-7)[IoTDémarrer avec PubNub](#h-8)

Comment PubNub peut-il vous aider ?
===================================

Cet article a été publié à l'origine sur [PubNub.com](https://www.pubnub.com/blog/sms-notification-system-with-ifttt/)

Notre plateforme aide les développeurs à construire, fournir et gérer l'interactivité en temps réel pour les applications web, les applications mobiles et les appareils IoT.

La base de notre plateforme est le réseau de messagerie périphérique en temps réel le plus grand et le plus évolutif de l'industrie. Avec plus de 15 points de présence dans le monde, 800 millions d'utilisateurs actifs mensuels et une fiabilité de 99,999 %, vous n'aurez jamais à vous soucier des pannes, des limites de concurrence ou des problèmes de latence causés par les pics de trafic.

Découvrez PubNub
----------------

Découvrez le [Live Tour](https://www.pubnub.com/tour/introduction/) pour comprendre les concepts essentiels de chaque application alimentée par PubNub en moins de 5 minutes.

S'installer
-----------

Créez un [compte PubNub](https://admin.pubnub.com/signup/) pour un accès immédiat et gratuit aux clés PubNub.

Commencer
---------

La [documentation PubNub](https://www.pubnub.com/docs) vous permettra de démarrer, quel que soit votre cas d'utilisation ou votre [SDK](https://www.pubnub.com/docs).