DEV Community

Cover image for PubNub 및 IFTTT를 사용한 SMS 알림 시스템

PubNub 및 IFTTT를 사용한 SMS 알림 시스템

개발자라면 IaaS(서비스형 인프라), PaaS(서비스형 플랫폼), 서비스형 소프트웨어와 같은 개념에 대해 들어보셨을 겁니다. SaaS(서비스형 소프트웨어). 이러한 개념은 애플리케이션과 서비스를 구축, 관리 및 배포하는 데 매우 중요합니다. IaaS는 인터넷을 통해 확장 가능한 컴퓨팅 리소스를 제공합니다. PaaS는 개발자가 기본 인프라를 구축하고 유지 관리하는 복잡한 작업 없이 애플리케이션을 개발, 실행 및 관리할 수 있는 플랫폼을 제공합니다. SaaS는 또한 인터넷을 통해 소프트웨어 애플리케이션을 제공합니다. SaaS 플랫폼인 IFTTT(If This Then That)와 IaaS 플랫폼인 PubNub와 같은 서비스는 자동화 및 실시간 커뮤니케이션을 위한 유용한 도구를 제공하여 애플리케이션을 그 어느 때보다 빠르게 프로덕션에 출시할 수 있도록 해줍니다.

기술 개요

PubNub 이벤트 및 액션(E&A)

PubNub 이벤트 및 액션 (E&A)는 PubNub 플랫폼의 확장 기능입니다. PubNub 이벤트 및 액션을 사용하면 자체 PubNub 이벤트를 필터링/처리하고 이러한 이벤트를 다양한 방식으로 설정한 타사 서비스로 보낼 수 있습니다.

사용자가 메시지를 게시하거나 사용자의 프레즌스 상태가 변경되거나 기타 여러 이벤트가 발생할 때 PubNub 이벤트가 생성될 수 있습니다( 이벤트 문서 를 참조하세요.) 그런 다음 PubNub 이벤트는 PubNub 이벤트 리스너에 의해 수신됩니다. PubNub 리스너는 특정 이벤트를 수신하고 그에 해당하는 작업을 실행합니다. 이 프로세스는 코딩 없이 PubNub 포털에서 직접 수행됩니다.

IFTTT 및 SMS 알림

IFTTT 는 사용자가 다양한 웹 애플리케이션과 서비스를 연결하여 작업을 자동화하고 새로운 기능을 발견할 수 있는 웹 기반 자동화 플랫폼입니다. 애플릿이라고 하는 간단한 조건부 문을 만들어 애플리케이션이나 서비스의 변경 사항이 트리거될 수 있도록 도와줍니다.

IFTTT를 통해 설정할 수 있는 100개 이상의 연동 기능 중 두 가지가 웹훅과 SMS 알림입니다. 이러한 통합은 PubNub 이벤트 및 작업(E&A)에 연결됩니다. 아래 다이어그램은 우리가 만들 시스템을 시각화하는 데 도움이 될 것입니다.

전제 조건

PubNub 계정에 가입했는지 확인하고 다음을 확인하세요. 이벤트 및 액션 가격 페이지에서 비용 세부 정보를 확인하세요. 또한 Pubnub 관리자 포털에서 이벤트 및 활동으로 이동하여 "업그레이드"를 선택하면 이벤트 및 활동의 요금제를 확인할 수 있습니다. 이 블로그에서는 PubNub 디버그 콘솔을 사용하여 메시지를 게시하고 IFTTT를 사용하여 처리할 것입니다.

위의 다이어그램에서 볼 수 있듯이 SMS 연동을 설정하고 웹훅을 통해 연결하기 위해 IFTTT 계정을 사용하므로 반드시 가입해야 합니다.

E&A 시작하기 및 고급 세부 정보에 대한 자세한 내용은 PubNub 이벤트 및 작업에 관한 다른 콘텐츠를 참조하세요:

PubNub와 IFTTT 연결하기

우리의 docs 를 참조하세요.

이 안내에서는 PubNub 이벤트 및 작업 IFTTT 통합을 사용하여 PubNub 인스턴스를 IFTTT에 직접 연결하겠습니다. 특정 채널을 통해 메시지가 전송될 때 휴대폰으로 SMS 알림을 자동으로 보내도록 하겠습니다.

먼저 PubNub 포털 내에서 이벤트 리스너를 만들어 보겠습니다. 이 이벤트 리스너는 "Send_SMS" 채널을 통해 전송되는 메시지를 수신하는 역할을 담당합니다.

아래 구성은 "Send_SMS" 채널을 통해 전송되는 메시지를 수신하도록 기본 필터를 설정하는 방법을 보여줍니다. 그러나 고급 JSON 경로 기능을 사용할 때 PubNub 이벤트 필터로 훨씬 더 많은 작업을 할 수 있습니다.

이제 이벤트 필터를 구성했으니 PubNub 액션을 첨부할 수 있습니다. 이벤트 이름은 나중에 IFTTT 환경을 설정할 때 사용됩니다. 또한 IFTTT 웹훅 키를 가져와 IFTTT 워크플로우를 설정합니다. 또한 웹훅 요청에 헤더를 추가할 수 있으며, 이는 PubNub를 IFTTT에 연결하는 데 필요하지 않습니다.

PubNub 액션을 추가한 후 IFTTT로 이동하여 만들기를 클릭하고 "이 경우"를 선택합니다. 검색창에서 "웹훅"을 검색합니다. 아래 이미지와 같이 "JSON 페이로드가 포함된 웹 요청 수신" 옵션을 사용합니다.

설정한 PubNub 액션의 "이벤트 이름"(이 경우 "publish_message")을 입력합니다. 이벤트 이름은 PubNub와 IFTTT 간에 동일해야 합니다. "If This" 트리거를 만든 후 웹훅 키를 가져와서 웹훅 서비스 페이지로 이동하여 문서를 클릭하고 거기에서 웹훅 키를 복사합니다.

"Then That" 트리거의 경우 "SMS"를 검색하여 해당 액션을 만듭니다. 이제 워크플로우에 "필터 코드"를 추가하여 PubNub 이벤트를 파싱하고 메시지 부분만 전송합니다.

게시된 이벤트에 포함된 모든 내용을 이해하려면 아래의 PubNub 이벤트를 참조하세요. 이 이벤트에서 메시지를 파싱하는 데 사용하겠습니다.

{
  "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
        }
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

아래 필터 코드는 PubNub 이벤트를 파싱하여 "메시지" 부분을 문자 메시지로 전송합니다.

// 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);
Enter fullscreen mode Exit fullscreen mode

이제 완성된 Applet과 PubNub 통합은 "Send_SMS" 채널을 통해 PubNub에서 게시된 이벤트를 수신하고, IFTTT 측에서 PubNub 이벤트를 파싱하여 휴대폰 번호로 SMS 메시지를 전송합니다.

개발자 사용 사례

몇 가지 사용 사례를 통해 실제 시나리오에서 IFTTT가 통합된 PubNub를 살펴 보겠습니다.

채팅 애플리케이션

한 회사에서 직원들 간의 내부 커뮤니케이션을 위해 채팅 애플리케이션을 사용합니다. 이 회사는 IT 문제에 대한 내부 지원 시스템을 개선하고자 합니다. 채팅 메시지에서 지원 티켓을 자동으로 생성하여 관련 IT 지원 담당자에게 실시간으로 알리는 것이 목표입니다.

PubNub을 사용한 채팅 애플리케이션: 내부 채팅 애플리케이션 은 실시간 메시징에 PubNub을 사용합니다. 각 부서에는 IT 지원 채널을 포함한 채팅 채널이 있습니다.

IFTTT 통합: 채팅 애플리케이션은 PubNub 이벤트 및 작업을 사용하여 IFTTT와 통합됩니다. 부서별 채팅 채널에 입력된 특정 키워드나 문구가 채팅 앱 외부에서 작업을 트리거할 수 있도록 통합이 설정되어 있습니다.

트리거 설정: 채팅 애플리케이션에서 직원이 'IT 문제'와 같은 특정 키워드와 함께 문제에 대한 간단한 설명이 포함된 메시지를 전송하여 IT 문제를 보고할 수 있습니다. PubNub은 이 메시지를 실시간으로 감지하여 미리 정의된 IFTTT 애플릿을 트리거합니다.

티켓 생성을 위한 IFTTT 애플릿: 트리거된 IFTTT 애플릿은 회사의 티켓팅 시스템(예: Jira, Zendesk)에서 새 지원 티켓을 만들도록 구성됩니다. 애플릿은 메시지 콘텐츠를 추출하여 이를 사용하여 새 지원 티켓의 세부 정보를 입력합니다.

IT 지원 스태프에게 알림: 지원 티켓이 만들어지면 또 다른 IFTTT 애플릿이 트리거되어 IT 지원 담당자에게 알립니다. 이 작업은 SMS나 이메일을 보내거나 채팅 앱의 IT 지원 채팅 채널에 직접 메시지를 게시하는 등 IFTTT에서 지원하는 다양한 채널을 통해 수행할 수 있습니다.

확인 메시지: 문제가 보고된 원래의 채팅 채널로 티켓이 만들어졌고 IT 지원팀에 통보되었음을 알리는 확인 메시지가 다시 전송됩니다. 이 메시지에는 참조를 위해 티켓 ID가 포함될 수 있습니다.

IoT 디바이스 모니터링

회사에는 다양한 IoT 장치(예: 환경 센서, 스마트 계량기, 보안 카메라)를 다양한 운영 목적으로 배포하고 있습니다. 이러한 장치들은 PubNub을 통해 연결되고 통신하여 실시간 데이터 전송 및 모니터링이 가능합니다. 이 회사는 내부 커뮤니케이션을 위해 PubNub에서 제공하는 채팅 애플리케이션을 활용하고 있습니다. IFTTT와의 통합을 통해 IoT 장치에서 수신한 데이터를 기반으로 응답 또는 알림을 자동화할 수 있습니다.

실시간 데이터 전송: 각 IoT 장치는 상태 업데이트 및 알림을 전용 PubNub 채널에 직접 게시하도록 구성됩니다. 이러한 메시지에는 온도 이상, 배터리 잔량 또는 무단 액세스 알림과 같은 다양한 데이터 유형이 포함될 수 있습니다.

데이터 처리를 위한 PubNub 함수: IoT 디바이스의 데이터를 실시간으로 필터링하고 처리하기 위해 PubNub 함수가 배포됩니다. 이 기능은 수신 메시지를 평가하여 긴급한 주의가 필요한 특정 조건이나 임계값(예: 센서가 미리 정의된 범위를 벗어난 온도를 감지하는 경우)을 나타낼 수 있습니다.

자동화된 작업을 위한 IFTTT 통합: PubNub 이벤트 리스너가 알림 조건을 감지하면 IFTTT 웹훅을 통해 IFTTT 이벤트를 트리거합니다. 이 이벤트는 다음과 같은 자동화된 작업을 수행하도록 구성됩니다:

  • 이메일 보내기 이메일 또는 SMS 해당 IoT 장치를 관리하는 특정 담당자나 외부 협력업체에 이메일 또는 SMS 보내기.

  • 회사의 티켓 시스템에서 새 지원 티켓 만들기(예, Jira). 애플릿은 메시지 알림을 통해 IT 기기의 문제점을 파악하고 티켓 내에서 바로 IOT에 대한 로그 파일을 보고할 수 있습니다.

  • 향후 분석 및 조치를 위해 유지 관리 로그에 이벤트를 기록합니다.

장치 제어 명령용 IFTTT 애플릿: 채팅 애플리케이션을 사용하면 팀원들이 PubNub을 통해 IoT 장치에 명령을 다시 전송하여 채팅에 게시된 특정 키워드나 명령에 응답하는 IFTTT의 사전 정의된 애플릿을 기반으로 즉각적인 작업(예: 장치 재설정, 설정 조정)을 수행할 수 있습니다.

PubNub 시작하기

지금까지 IFTTT 액션을 사용하고 간단한 PubNub 이벤트 리스너를 설정하는 방법에 대해 설명했습니다. PubNub 이벤트 및 액션 사용을 확장하려면 PubNub에서 제공하는 몇 가지 다른 액션을 확인하세요.

PubNub는 다양한 SDK 를 제공하여 이러한 작업을 애플리케이션에 통합할 수 있습니다. 이러한 SDK는 PubNub의 기능을 현재 애플리케이션에 쉽게 구현하여 실시간 데이터 스트리밍, 처리 및 통신 기능을 간편하게 추가할 수 있도록 해줍니다. 웹, 모바일, 서버 측 애플리케이션 등 어떤 애플리케이션으로 작업하든 PubNub의 SDK는 고도로 상호작용하고 반응성이 뛰어난 애플리케이션을 구축하는 데 필요한 도구를 제공합니다.

궁금한 점이 있으면 언제든지 개발자 지원팀(devrel@pubnub.com)으로 문의하세요.

내용

기술 개요펍넙이벤트 및 작업(E&A)IFTTT 및 SMS알림전제조건펍넙과 IFTTT 연결하기개발자사용 사례챗애플리케이션IoT디바이스모니터링펍넙으로 시작하기

PubNub이 어떤 도움을 줄 수 있나요?

이 문서는 원래 PubNub.com에 게시되었습니다.

저희 플랫폼은 개발자가 웹 앱, 모바일 앱 및 IoT 디바이스를 위한 실시간 인터랙티브를 구축, 제공 및 관리할 수 있도록 지원합니다.

저희 플랫폼의 기반은 업계에서 가장 크고 확장성이 뛰어난 실시간 에지 메시징 네트워크입니다. 전 세계 15개 이상의 PoP가 월간 8억 명의 활성 사용자를 지원하고 99.999%의 안정성을 제공하므로 중단, 동시 접속자 수 제한 또는 트래픽 폭증으로 인한 지연 문제를 걱정할 필요가 없습니다.

PubNub 체험하기

라이브 투어를 통해 5분 이내에 모든 PubNub 기반 앱의 필수 개념을 이해하세요.

설정하기

PubNub 계정에 가입하여 PubNub 키에 무료로 즉시 액세스하세요.

시작하기

사용 사례나 SDK에 관계없이 PubNub 문서를 통해 바로 시작하고 실행할 수 있습니다.

Top comments (0)