System powiadomień SMS z PubNub i IFTTT
Published: 2024-03-14 16:11:07

Jeśli jesteś programistą, najprawdopodobniej słyszałeś o pojęciach takich jak IaaS (infrastruktura jako usługa), PaaS (platforma jako usługa) i [SaaS (oprogramowanie jako usługa)](https://www.pubnub.com/solutions/enterprise-software/). Pojęcia te mają kluczowe znaczenie w tworzeniu, zarządzaniu i wdrażaniu aplikacji i usług. IaaS zapewnia skalowalne zasoby obliczeniowe przez Internet. PaaS oferuje platformę, która umożliwia programistom tworzenie, uruchamianie i zarządzanie aplikacjami bez złożoności budowania i utrzymywania podstawowej infrastruktury. SaaS dostarcza również aplikacje przez Internet. Usługi, takie jak IFTTT (If This Then That), platforma SaaS i PubNub, platforma IaaS, zapewniają cenne narzędzia do automatyzacji i komunikacji w czasie rzeczywistym, umożliwiając szybsze niż kiedykolwiek wdrożenie aplikacji do produkcji.

Przegląd techniczny
-------------------

### Zdarzenia i akcje PubNub (E&A)

[PubNub Events & Actions](https://www.pubnub.com/docs/serverless/events-and-actions/overview) (E&A) to rozszerzenie platformy PubNub. PubNub Events & Actions umożliwia filtrowanie/przetwarzanie własnych zdarzeń PubNub i wysyłanie ich do usług innych firm, które można skonfigurować na wiele sposobów.

Zdarzenia PubNub mogą być generowane, gdy użytkownik publikuje wiadomość, zmienia stan obecności użytkownika lub wiele innych zdarzeń (zobacz naszą dokumentację [Dokumentacja zdarzeń](https://www.pubnub.com/docs/serverless/events-and-actions/events) aby zapoznać się z pełną listą). Zdarzenia PubNub są następnie odbierane przez odbiornik zdarzeń PubNub. Listener PubNub nasłuchuje określonego zdarzenia i uruchamia odpowiednią akcję. Proces ten jest wykonywany bezpośrednio na portalu PubNub przy zerowym kodowaniu.

### IFTTT i powiadomienia SMS

[IFTTT](https://ifttt.com/) to internetowa platforma automatyzacji, która umożliwia użytkownikom łączenie różnych aplikacji i usług internetowych w celu automatyzacji zadań i odkrywania nowych funkcjonalności. Pomaga tworzyć proste, warunkowe instrukcje znane jako aplety, które mogą wyzwalać zmiany w aplikacjach lub usługach.

Dwie z ponad 100 integracji, które można skonfigurować za pośrednictwem IFTTT, to Webhook i Powiadomienia SMS. Integracje te będą łączyć się z PubNub Events & Actions (E&A). Poniższy diagram pomoże zwizualizować system, który będziemy tworzyć.

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

Wymagania wstępne
-----------------

Upewnij się, że posiadasz konto PubNub i zapoznaj się z cennikiem [Events & Actions Pricing](https://www.pubnub.com/docs/general/resources/events-and-actions-pricing) aby zapoznać się ze szczegółami kosztów. Możesz także przejść do sekcji Events & Actions w portalu administracyjnym Pubnub i wybrać "Upgrade", aby wyświetlić plany cenowe dla Events & Actions. W tym blogu użyjemy konsoli PubNub Debug do publikowania wiadomości i przetwarzania ich za pomocą IFTTT.

Upewnij się, że założyłeś konto IFTTT, ponieważ użyjemy go do skonfigurowania integracji SMS i połączenia się z nią za pomocą WebHook, jak pokazano na powyższym diagramie.

Aby dowiedzieć się więcej o rozpoczęciu pracy i bardziej zaawansowanych szczegółach dotyczących E&A, koniecznie przeczytaj niektóre z naszych innych treści dotyczących PubNub Events & Actions:

-   [Konfigurowanie zdarzeń i akcji](https://www.pubnub.com/how-to/set-up-events-and-actions/)
    
-   [Różnica między E&A a funkcjami](http://pubnub.com/blog/events-and-actions-or-pubnub-functions-picking-the-right-tool/)
    
-   [Jak filtrować wiadomości za pomocą Advanced JSONPath](https://www.pubnub.com/how-to/eanda-advanced-jsonpath-filter/)
    

Łączenie PubNub z IFTTT
-----------------------

Zapoznaj się z naszymi [dokumenty](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-ifttt-action) aby uzyskać bardziej szczegółowe informacje na temat konfigurowania PubNub z IFTTT.

W tym poradniku użyjemy integracji PubNub Events & Actions IFTTT i połączymy naszą instancję PubNub bezpośrednio z IFTTT. Zautomatyzujemy powiadomienia SMS na telefon, gdy wiadomość zostanie wysłana za pośrednictwem określonego kanału.

Najpierw utwórzmy Event Listener w portalu PubNub. Ten detektor zdarzeń będzie odpowiedzialny za nasłuchiwanie wiadomości wysyłanych przez kanał "Send\_SMS".

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

Poniższa konfiguracja pokazuje, jak skonfigurować podstawowy filtr do nasłuchiwania wiadomości wysyłanych przez kanał "Send\_SMS". Jednak za pomocą filtrów zdarzeń PubNub można zrobić znacznie więcej, korzystając z funkcji Advanced JSON Path.

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

Teraz, gdy skonfigurowaliśmy filtr zdarzeń, możemy dołączyć naszą akcję PubNub. Nazwa zdarzenia zostanie użyta później podczas konfigurowania środowiska IFTTT. Pobierzemy również klucz IFTTT Webhook i skonfigurujemy nasz przepływ pracy IFTTT. Dodatkowo możesz dodać nagłówki do żądania Webhook; nie jest to wymagane do połączenia PubNub z IFTTT.

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

Po dodaniu akcji PubNub przejdź do IFTTT, kliknij Utwórz i wybierz "Jeśli to". W pasku wyszukiwania wyszukaj "Webhook". Użyjemy opcji "Receive a web request with a JSON payload", jak widać na poniższym obrazku.

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

Wprowadź "Event Name" z akcji PubNub, którą skonfigurowaliśmy, czyli w tym przypadku "publish\_message". Nazwa zdarzenia musi być taka sama dla PubNub i IFTTT. Po utworzeniu wyzwalacza "If This", pobierz klucz Webhook, przejdź do strony [Strona usługi Webhook](https://ifttt.com/maker_webhooks), kliknij dokumentację i skopiuj stamtąd klucz Webhook.

Dla wyzwalacza "Then That" wyszukaj "SMS" i utwórz tę akcję. Dodamy teraz "Filter Code" do przepływu pracy, aby przeanalizować zdarzenie PubNub i wysłać tylko część wiadomości.

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

Zapoznaj się z poniższym zdarzeniem PubNub, aby zrozumieć wszystko, co zawiera opublikowane zdarzenie. Zamierzamy użyć parsowania wiadomości z niego.

```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
        }
      }
    }
  }
}
```

Poniższy kod filtru analizuje zdarzenie PubNub i wysyła część "message" jako wiadomość tekstową.

```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);
```

Gotowy aplet i integracja PubNub powinny teraz nasłuchiwać opublikowanego zdarzenia z PubNub za pośrednictwem kanału "Send\_SMS", a następnie analizować zdarzenie PubNub po stronie IFTTT i wysyłać wiadomości SMS na numer telefonu.

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

Przypadki użycia dla deweloperów
--------------------------------

Zapoznajmy się z kilkoma przypadkami użycia, aby zobaczyć PubNub z integracją IFTTT w rzeczywistym scenariuszu.

### Aplikacje czatu

Firma korzysta z aplikacji czatu do wewnętrznej komunikacji między swoimi pracownikami. Firma chce ulepszyć swój wewnętrzny system wsparcia w kwestiach IT. Celem jest zautomatyzowanie tworzenia zgłoszeń do pomocy technicznej z wiadomości czatu i powiadamianie odpowiedniego personelu wsparcia IT w czasie rzeczywistym.

**Aplikacja czatu z PubNub**: Wewnętrzna aplikacja [aplikacja czatu](https://www.pubnub.com/solutions/chat/) wykorzystuje PubNub do przesyłania wiadomości w czasie rzeczywistym. Każdy dział ma swój kanał czatu, w tym kanał wsparcia IT.

**Integracja** z IFTTT: Aplikacja czatu jest zintegrowana z IFTTT za pomocą PubNub Events & Actions. Integracja jest skonfigurowana tak, aby określone słowa kluczowe lub frazy wpisywane w dowolnym kanale czatu działu mogły wyzwalać działania poza aplikacją czatu.

**Konfiguracja wyzwalacza**: W aplikacji czatu pracownik może zgłosić problem informatyczny, wysyłając wiadomość zawierającą określone słowa kluczowe, takie jak "problem informatyczny", a następnie krótki opis problemu. PubNub wykrywa tę wiadomość w czasie rzeczywistym i uruchamia predefiniowany aplet IFTTT.

Aplet IFTTT**do tworzenia zgło**szeń: Uruchamiany aplet IFTTT jest skonfigurowany do tworzenia nowego zgłoszenia w firmowym systemie obsługi zgłoszeń (np. Jira, Zendesk). Aplet wyodrębnia treść wiadomości i wykorzystuje ją do wypełnienia szczegółów nowego zgłoszenia do pomocy technicznej.

**Powiadomienie personelu wsparcia IT**: Po utworzeniu zgłoszenia do pomocy technicznej uruchamiany jest kolejny aplet IFTTT w celu powiadomienia personelu pomocy technicznej IT. Można to zrobić za pomocą różnych kanałów obsługiwanych przez IFTTT, takich jak wysłanie wiadomości SMS lub e-mail, a nawet opublikowanie wiadomości bezpośrednio na kanale czatu wsparcia IT w aplikacji czatu.

**Wiadomość potwierdzająca**: Wiadomość potwierdzająca jest wysyłana z powrotem do oryginalnego kanału czatu, w którym zgłoszono problem, potwierdzając, że zgłoszenie zostało utworzone i że zespół wsparcia IT został powiadomiony. Wiadomość ta może zawierać identyfikator zgłoszenia.

### Monitorowanie urządzeń IoT

Firma posiada szereg [IoT](https://www.pubnub.com/solutions/iot-device-control/) (np. czujniki środowiskowe, inteligentne liczniki, kamery bezpieczeństwa) wdrożonych do różnych celów operacyjnych. Urządzenia te są połączone i komunikują się za pośrednictwem PubNub, umożliwiając transmisję danych i monitorowanie w czasie rzeczywistym. Firma wykorzystuje aplikację czatu zasilaną przez PubNub do komunikacji wewnętrznej. Integracja z IFTTT umożliwia firmie zautomatyzowanie odpowiedzi lub powiadomień na podstawie danych otrzymanych z urządzeń IoT.

**Transmisja danych w czasie rzeczywistym**: Każde urządzenie IoT jest skonfigurowane do publikowania aktualizacji statusu i alertów bezpośrednio na dedykowanym kanale PubNub. Komunikaty te mogą zawierać różne typy danych, takie jak anomalie temperatury, poziomy naładowania baterii lub alerty nieautoryzowanego dostępu.

Funkcja PubNub**do przetwarzania danych**: Funkcja PubNub jest wdrażana w celu filtrowania i przetwarzania danych z urządzeń IoT w czasie rzeczywistym. Funkcja ta może oceniać przychodzące wiadomości pod kątem określonych warunków lub progów, które wskazują, że konieczna jest pilna uwaga (np. czujnik wykrywający temperaturę poza predefiniowanym zakresem).

**Integracja IFTTT dla zautomatyzowanych działań**: Gdy PubNub Event Listener wykryje stan alarmowy, uruchamia zdarzenie IFTTT za pośrednictwem IFTTT Webhook. Zdarzenie to jest skonfigurowane do wykonywania automatycznych działań, które mogą obejmować:

-   wysłanie wiadomości [email](https://ifttt.com/email) lub [SMS](https://ifttt.com/sms) do określonych pracowników lub wykonawców zewnętrznych odpowiedzialnych za zarządzanie danym urządzeniem IoT.
    
-   Utworzenie nowego zgłoszenia pomocy technicznej w firmowym systemie zgłoszeń (np, [Jira](https://ifttt.com/jira)). Aplet wie, co jest nie tak z urządzeniem IT na podstawie alertu wiadomości i może zgłosić plik dziennika dla IOT bezpośrednio w zgłoszeniu.
    
-   Rejestrowanie zdarzenia w dzienniku konserwacji w celu przyszłej analizy i działania.
    

**Aplety IFTTT dla poleceń sterowania urządzeniami**: Aplikacja czatu umożliwia członkom zespołu wysyłanie poleceń z powrotem za pośrednictwem PubNub do urządzeń IoT w celu wykonania natychmiastowych działań (np. zresetowania urządzenia, dostosowania ustawień) w oparciu o predefiniowane aplety w IFTTT, które reagują na określone słowa kluczowe lub polecenia opublikowane na czacie.

Rozpoczęcie pracy z PubNub
--------------------------

Właśnie opisaliśmy, jak korzystać z akcji IFTTT i skonfigurować prosty odbiornik zdarzeń PubNub. Aby rozwinąć korzystanie z PubNub Events & Action, sprawdź kilka innych akcji, które zapewnia PubNub.

-   [Nawiązanie połączenia Webhook](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-webhook-action) (tj. wywołanie serwera dla każdego przefiltrowanego zdarzenia)
    
-   [Zapisz w SQS](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-sqs-action) (tj. zapisać każde zdarzenie w kolejce [Usługa kolejkowania SQS firmy Amazon](https://aws.amazon.com/sqs/))
    
-   [Wyślij do Kinesis](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-kinesis-action) (tj. wyślij do [Amazon's Event Ingestion Service](https://aws.amazon.com/kinesis/))
    
-   [Wyślij do S3](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-s3-action) (tj. przechowywać dane w zasobniku [Amazon S3 bucket](https://aws.amazon.com/s3/))
    
-   [Send to Kafka](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-kafka-action) (tj. wysyłanie danych do [Apache Kafka](https://kafka.apache.org/))
    

PubNub zapewnia szeroki zestaw [SDK](https://www.pubnub.com/docs/sdks) do integracji tych działań z aplikacjami. Te zestawy SDK ułatwiają implementację możliwości PubNub w bieżących aplikacjach, ułatwiając dodawanie funkcji przesyłania strumieniowego danych w czasie rzeczywistym, przetwarzania i komunikacji. Niezależnie od tego, czy pracujesz z aplikacjami internetowymi, mobilnymi czy po stronie serwera, zestawy SDK PubNub oferują narzędzia potrzebne do tworzenia wysoce interaktywnych i responsywnych aplikacji.

W razie jakichkolwiek pytań lub wątpliwości prosimy o kontakt z zespołem ds. relacji z deweloperami pod adresem devrel@pubnub.com.

#### Spis treści

[Przegląd technicznyPubNub](#h-0)[Event & Actions (E&A)](#h-1)[IFTTT and SMS](#h-2)[NotificationsPrequisitesConnecting](#h-3)[PubNub with IFTTTDeveloper](#h-4)[Use-CasesChat](#h-5)[ApplicationsIoT](#h-6)[Device MonitoringGetting](#h-7)[started with PubNub](#h-8)

Jak PubNub może ci pomóc?
=========================

Ten artykuł został pierwotnie opublikowany na [PubNub.com](https://www.pubnub.com/blog/sms-notification-system-with-ifttt/)

Nasza platforma pomaga programistom tworzyć, dostarczać i zarządzać interaktywnością w czasie rzeczywistym dla aplikacji internetowych, aplikacji mobilnych i urządzeń IoT.

Podstawą naszej platformy jest największa w branży i najbardziej skalowalna sieć komunikacyjna w czasie rzeczywistym. Dzięki ponad 15 punktom obecności na całym świecie obsługującym 800 milionów aktywnych użytkowników miesięcznie i niezawodności na poziomie 99,999%, nigdy nie będziesz musiał martwić się o przestoje, limity współbieżności lub jakiekolwiek opóźnienia spowodowane skokami ruchu.

Poznaj PubNub
-------------

Sprawdź [Live Tour](https://www.pubnub.com/tour/introduction/), aby zrozumieć podstawowe koncepcje każdej aplikacji opartej na PubNub w mniej niż 5 minut.

Rozpocznij konfigurację
-----------------------

Załóż [konto](https://admin.pubnub.com/signup/) PubNub, aby uzyskać natychmiastowy i bezpłatny dostęp do kluczy PubNub.

Rozpocznij
----------

[Dokumenty](https://www.pubnub.com/docs) PubNub pozwolą Ci rozpocząć pracę, niezależnie od przypadku użycia lub [zestawu SDK](https://www.pubnub.com/docs).