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