【问题标题】:Twilio How to collect incoming SMS messages using .net efficientlyTwilio 如何有效地使用 .net 收集传入的 SMS 消息
【发布时间】:2014-04-17 07:50:57
【问题描述】:

我在 VB.net 中创建了一个与调度软件相关的应用程序。它通过向我们的员工发送短信更新来让他们了解最新信息。员工可以回复我们。发送消息效果很好。该应用程序使用 Rest API 连接到 Twilio。我还可以获取传入消息的列表,但我似乎无法以适合我的方式获取它。

目前我的应用程序每 5 分钟检查一次是否有新消息。应用程序获取消息列表(使用过滤器 DateSent>=today),然后遍历消息并将新消息复制到我们的调度数据库中。

是否可以仅使用 VB.net 对新 SMS 消息进行更有效的数据提取?除了当前过滤器 DateSent>=today 之外,我可以包含一个时间过滤器来限制结果集吗?有什么建议么? (不幸的是,我不做网络编码)谢谢。

【问题讨论】:

    标签: vb.net sms twilio


    【解决方案1】:

    Twilio 布道者在这里。

    最好的方法是使用 Twilios web hook 让 Twilio 在每次收到消息时主动告诉您。你问的是什么网络钩子?好问题。

    Webhook 只是一个 HTTP 请求,当 Twilio 收到到您的 Twilio 电话号码的入站 SMS 消息后,它将立即发出该请求。您通常会告诉 Twilio 向您创建并发布到公共网站的 URL 发出此 HTTP 请求,您可以使用 ASP.NET 之类的工具轻松设置。在这种情况下,您可以将 Twilio 视为向您创建的 Web 应用程序发出请求的 Web 浏览器。

    您可以通过打开 Twilio 仪表板中的 Numbers 选项卡,然后找到并单击要配置的电话号码来告诉 Twilio 它应该请求哪个 URL:

    现在您在消息请求 URL 字段中设置您希望 Twilio 请求的 URL,然后单击保存:

    现在,当 Twilio 请求此 URL 时,它会传递一个 bunch of parameters 及其请求,您可以在应用程序逻辑中使用该请求。您还可以执行诸如将 TwiML 返回到 Twilio 之类的操作,以响应其告诉它执行诸如 send an SMS right back to the person who just sent one to you 之类的操作的 HTTP 请求。

    如果您正在逐步了解更多信息,我们网站上的 Quickstarts 非常容易理解,并且会引导您完成发送和接收短信的过程。示例使用 C# 编写,但非常简单,因此转换为 VB.NET 应该很容易。

    希望对您有所帮助。

    【讨论】:

    • 嗨 Twilio Evangelist,你知道他们在发帖时还会将请求中的加密 X-Twilio-Signature" 标头发送到 url 请求 URL
    【解决方案2】:

    我正在用 VB.Net 和 Twilio 做类似的事情。我的解决方案是建立一个 Azure 网站和一个 Azure SQL 数据库(两者可以相互通信)。我将 Twlio 设置为在我的 Azure 网站上调用 .ashx asp.net 网页。在该网页中,我有读取传入文本消息并将其保存到我的 Azure SQL 数据库的代码。

    效果很好,但我的问题是 Azure 数据库位于“云”中,而我发送原始 SMS 的应用程序\数据库位于 mylocal 网络上。不知道如何跨越这个鸿沟......(我应该补充一点,我的本地应用程序可以读取 Azure SQL 数据库,但不得不调用 Azure 来获取数据似乎很难看。本来希望将它保存在我的本地数据库开始。)

    可能不是一个很有帮助的帖子,但可能会给你一些架构上的想法。如果您想查看我的 .ashx 页面,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 2020-08-25
      相关资源
      最近更新 更多