我想为我的客户启用事件通知。有许多可能的方式来发送通知:电子邮件,短信,XMPP /其他IM,通过SIP预先录制的语音消息,特定于电话的消息推送服务,REST回调等。
我不想自己开发所有这些传输,因此我需要一个可以为客户管理这些通知的Web服务。此外,我不想存储电子邮件/电话/其他个人身份信息。
通知是交易性的(即,它不会向所有人传递相同的消息)。我们欢迎付费解决方案。
有http://pagerduty.com,但它是
因此,它给受访者带来了更多的负担,我想要一些用户无需设置的东西。
Monitis是另一个例子。它有多种传输方式,包括Twitter,但它又是为内部人士设计的,而不是为大量号码的服务用户设计的。
亚马逊SNS似乎太低级,因为它只管理推送通知的传送,但是为了延迟它们,我必须编写一个我不想要的移动应用程序。
How best to deliver notifications to various IM / notification services?中描述的XMPP服务器传统上支持不同传输的想法,但我想要第三方托管服务。
Twilio只有2个传输:短信和语音呼叫,更多的是针对完整的双方通信。
我甚至无法找到合适的Google关键字来搜索我想要的服务/ SaaS。
问题是,有没有这样的服务?一些样本会让我知道要寻找什么。
答案 0 :(得分:1)
这很晚,也许为时已晚......但
您不需要实现任何传输,但可能需要构建一些网关,并且您很可能需要组装与每个网关通信的应用程序。你可能不会为此找到一个服务。
您已经概述了该策略。你基本上有这些作品:
每个传输都可以通过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"
您需要存储每个传输终端的基本信息,例如,短信的电话号码,聊天的用户名等,如果您有PII安全问题需要解决,则需要想想虽然如此。一种选择可能是将所有PII转交给每个提供商,但您仍然需要为每个提供商中的用户保留每个帐户,并且您可能需要了解用户的某些信息,例如" $ {用户名}"以上,在您的申请中适当地个性化您的通知。因此,从您的应用程序中删除所有PII似乎不太可能。
我不确定这有多大帮助,但也许它会给你一些想法。