簡體   English   中英

Web服務通過多個傳輸提供通知

[英]Web service providing notifications over multiple transports

我想為我的客戶啟用事件通知。 有許多可能的方式來發送通知:電子郵件,短信,XMPP /其他IM,通過SIP預先錄制的語音消息,特定於電話的消息推送服務,REST回調等。

我不想自己開發所有這些傳輸,因此我需要一個可以為客戶管理這些通知的Web服務。 此外,我不想存儲電子郵件/電話/其他個人身份信息。

通知是交易性的(即它不是向每個人傳遞相同的消息)。 歡迎付費解決方案。

http://pagerduty.com,但確實如此

  • 旨在在企業內部而不是與外部客戶合作
  • 專注於事件響應的完整周期而不是簡單的消息傳遞

因此,它給受訪者帶來了更多的負擔,我想要一些用戶無需設置就能完成的工作。

Monitis是另一個例子。 它有多種傳輸方式,包括Twitter,但它又是為內部人員設計的,而不是為大量號碼的服務訂戶設計的。

亞馬遜SNS似乎太低級別,因為它只管理推送通知的傳遞,但是為了延遲它們,我必須編寫一個我不想要的移動應用程序。

如何最好地向各種IM /通知服務發送通知中描述的XMPP服務器 傳統上支持不同傳輸的想法,但我想要第三方托管服務。

Twilio只有2個傳輸:短信和語音呼叫,更多的是完全雙向通信。

我甚至找不到合適的谷歌關鍵字來搜索我想要的服務/ SaaS。

問題是,有沒有這樣的服務? 一些樣本會讓我知道要尋找什么。

這來得太晚了,也許為時已晚......

您不需要實現任何傳輸,但可能需要構建一些網關,並且您很可能需要組裝與每個網關通信的應用程序。 您不太可能為此找到單一服務。

你已經概述了這個策略。 你基本上有這些作品:

  1. 運輸
  2. 網關
  3. 應用

每個傳輸都可以通過API或CLI通過某個客戶端訪問 - 因此您需要弄清楚您的環境是什么。 Java可能是一個不錯的選擇,但其他跨平台環境可能會起作用。 Apache ServiceMix等現有基礎架構支持其中一些傳輸:

https://cwiki.apache.org/confluence/display/SM/Components+list

並且可能還有其他具有相似,不同運輸的中間件。

對於每種傳輸類型,您可能需要為每個提供程序提供網關。 您可以找到一個能夠為多種傳輸提供充分服務的提供商,例如Twilio的短信和語音,但這可能是個例外。 您可能還會發現,由於傳輸(以及功能)的不同,為每種傳輸類型構建網關更方便。 因此,您的SMS網關中可能有兩個已配置的提供程序,一個用於Twilio,另一個用於Kannel,您可能在SMS網關和SIP網關中使用了Twilio帳戶。

最后一步是將您的應用程序組裝成有意義的東西。 這可能是這樣的:

sent.......: "Thanks for your purchase, ${username}!"

發送到可能由用戶配置並且能夠從用戶收集響應的信道(即,提供者 - 傳輸對):

response...: "It was a pleasure! --Bob"

您需要存儲每個傳輸端點的基礎知識,例如,SMS的電話號碼,聊天的用戶名等,因此如果您有PII安全問題需要解決,您需要考慮這一點。 一種選擇可能是將所有PII轉交給每個提供商,但您仍需要為每個提供商中的用戶保留每個帳戶,並且您可能需要了解有關該用戶的信息,例如上面的“$ {username}” ,在您的申請中適當地個性化您的通知。 因此,從您的應用程序中刪除所有PII似乎不太可能。

我不確定這有多大幫助,但也許它會給你一些想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM