Web服务通过多个传输提供通知

npo*_*cop 11 notifications alert web-services saas instant-messaging

我想为我的客户启用事件通知.有许多可能的方式来发送通知:电子邮件,短信,XMPP /其他IM,通过SIP预先录制的语音消息,特定于电话的消息推送服务,REST回调等.

我不想自己开发所有这些传输,因此我需要一个可以为客户管理这些通知的Web服务.此外,我不想存储电子邮件/电话/其他个人身份信息.

通知是交易性的(即它不是向每个人传递相同的消息).欢迎付费解决方案.

http://pagerduty.com,但确实如此

  • 旨在在企业内部而不是与外部客户合作
  • 专注于事件响应的完整周期而不是简单的消息传递

因此,它给受访者带来了更多的负担,我想要一些用户无需设置就能完成的工作.

Monitis是另一个例子.它有多种传输方式,包括Twitter,但它又是为内部人员设计的,而不是为大量号码的服务订户设计的.

亚马逊SNS似乎太低级别,因为它只管理推送通知的传递,但是为了延迟它们,我必须编写一个我不想要的移动应用程序.

如何最好地向各种IM /通知服务发送通知中描述的XMPP服务器传统上支持不同传输的想法,但我想要第三方托管服务.

Twilio只有2个传输:短信和语音呼叫,更多的是完全双向通信.

我甚至找不到合适的谷歌关键字来搜索我想要的服务/ SaaS.

问题是,有没有这样的服务?一些样本会让我知道要寻找什么.

Jan*_*sen 1

这一切来得很晚,或许已经太晚了,但是……

您不需要实现任何传输,但可能需要构建一些网关,并且您很可能需要组装与每个网关通信的应用程序。您不太可能为此找到任何服务。

您已经概述了该策略。你基本上有这些部分:

  1. 运输
  2. 网关
  3. 应用

每个传输都是通过某个客户端通过 API 或 CLI 进行访问的 - 因此您需要弄清楚您的环境是什么。Java 可能是一个不错的选择,但其他跨平台环境也可能有效。Apache ServiceMix 等现有基础设施支持其中一些传输:

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

并且可能还有其他具有类似、不同传输的中间件。

您可能需要为每种传输类型的每个提供商提供一个网关。您也许能够找到能够充分服务多种传输的提供商,例如 Twilio 的 SMS 和语音,但这很可能是例外。您可能还会发现,由于传输(以及功能)的差异,为每种传输类型构建网关会更方便。因此,您的 SMS 网关中可能有两个已配置的提供商,一个用于 Twilio,另一个用于 Kannel,并且您的 Twilio 帐户可能在 SMS 网关和 SIP 网关中使用。

最后一步是将您的应用程序组装成有意义的东西。这可能是这样的:

sent.......: "Thanks for your purchase, ${username}!"
Run Code Online (Sandbox Code Playgroud)

发送到可能由用户配置的通道(即提供商-传输对),并能够从用户收集响应:

response...: "It was a pleasure! --Bob"
Run Code Online (Sandbox Code Playgroud)

您需要存储每个传输端点的基本信息,例如短信的电话号码、聊天的用户名等,因此,如果您有需要解决的 PII 安全问题,您需要考虑这一点。一种选择可能是将所有 PII 移交给每个提供商,但您仍然需要在每个提供商中保留用户的每个帐户,并且您可能需要了解有关用户的信息,例如上面的“${username}” ,在您的应用程序中适当地个性化您的通知。因此,从应用程序中删除所有 PII 似乎不太可能。

我不确定这有多大帮助,但也许它会给你一些想法。