我即将开始在我的 Web 应用程序中构建 SMS 警报功能。目的是提供两种服务:
- 主办方付费 - 例如发送短信提醒用户取消活动
- 用户付费 - 例如提醒已发送一封电子邮件,其中包含新事件的详细信息(显然是用户离开电子邮件系统时的要求!)
我还认为,还会有其他用户付费场景,例如他们是否有想要提醒的辅助手机,因为主机只想为每个用户支付一部手机。
根据我的研究:
我可以使用第 3 方 SMS 网关提供商。每条消息的费用约为 0.05 英镑。我可以向 999999999@TheGatewayProvider.com 发送电子邮件,也可以在 URL 中使用带有合适参数的 HTTP 请求。
我可以向用户的网络提供商发送电子邮件(我相信这仅在美国可用)
编辑:各种提供者将如何处理发件人/主题和消息存在差异,因此发送的实际消息的呈现可能难以预测。
- 我可以建立自己的网关(我认为这超出了我的能力范围,可能会给我们的数据中心带来悲痛!)
让我印象深刻的是:
我们发送的电子邮件有时会在我的服务器的 SMTP 队列中延迟,更不用说任何下游队列了。向网络提供商的 SMS 网关发送电子邮件似乎通常被视为低优先级。
因此,第三方 SMS 网关提供商的 HTTP 应该给我最短的延迟(对于“今天下午的活动因天气恶劣而取消”很重要)
当我偶尔从手机发送短信时,它们需要几天才能到达 - 我想这是我们必须忍受的事情?
话虽如此,我们也会有低优先级的信息消息,并且通过最便宜的路线发送这些消息很有吸引力!所以我计划允许用户为此类消息输入电子邮件地址 - 目的是他们将电子邮件地址用于其手机公司的 SMS 重定向服务或类似服务(即设备的电子邮件地址,而不是收件箱) .
我还想知道允许用户输入 IM、Twitter 或其他类似的东西在实践中是否可能会被很好地使用和有效?
从我看过的第 3 方网关看来:
有些人使用比其他人更高等级的网络,这可能会影响性能吗?(或者它只是营销废话?)
有些提供比其他更好的反馈。我需要将关于计费的争论——以及客户到底用了多少“信用”——保持在最低限度;因此,得到“OK”/“电话号码不存在”的答复让我觉得很重要。我发现的一个提供商每天都会创建一个文本日志文件,可以下载该文件,并且可以与我的传出日志进行核对。
我将感谢您在以下方面的意见和经验:
用户将输入他们知道的手机号码。我是否需要强制执行 +9912345... 才能获得国家代码?
如果手机是国外的(我在英国)会发生什么情况 收件人是否支付国际部分?还是网关提供商可能有本地传输服务?
我需要用非字母字符做什么?英镑符号“£”和 CR / LF 浮现在脑海中。如果这些被编码,可能会导致长度限制上的消息在编码后超过它(这样我需要将其构建到消息创建表单的验证中)。新行是 CR+LF 还是只有 CR?
是否有任何网关具有模拟功能?这样我就可以测试我的应用程序而不会产生任何 SMS 文本的实际成本。
我计划记录任何失败尝试的手机号码并标记用户的记录,以便他们下次登录时我可以鼓励他们更正号码。
您的任何其他问题和建议将不胜感激。谢谢。