我正在尝试创建一个简单的Webhook来接收Nexmo短信服务的交付收据。他们网站上唯一的文档是这个:
在帐户设置期间,您将被要求提供给Nexmo一个用于交付收据的回调URL,我们将向其发送每个SMS提交的交付收据。这将确认您的消息是否已到达收件人的手机。请求参数通过GET(默认)发送到您的回调URL,并且Nexmo将期望响应200 OK响应,否则它将不断重试直到交付收据过期(最长达72小时)。
我一直在寻找方法来实现这一点,到目前为止,我从在线示例中找到了这种方法,但我不确定是否正确。无论如何,这是在ASP.NET上运行的,端口号为6563,所以我应该监听的是这个端口吗?我下载了一个叫做ngrok的应用程序,它可以将我的本地Web服务器暴露到互联网上,所以我运行了该应用程序并指示它监听端口6563,但没有成功。我一直在摆弄它,试图找到一些方法来向这个函数发送POST请求。
[HttpPost]
public ActionResult CallbackURL()
{
System.IO.StreamReader reader = new System.IO.StreamReader(HttpContext.Request.InputStream);
string rawSendGridJSON = reader.ReadToEnd();
return new HttpStatusCodeResult(200);
}
通常情况下,我可以直接调用函数来返回视图,只需访问
http://localhost:6563/Home/Index/CallbackURL
。
所以我在方法签名上插入了一个断点,但只有当我将[HttpPost]从中移除时才会被调用。我应该尝试哪些下一步?