Мне необходимо приложение "WinForm" для переписки в viber.
"Webhook" планируется для получения данных(событий) из viber, далее полученные данные будут использоваться в приложении "WinForm".
Я сделал:
- создал проект "Веб приложение ASP.NET (.NET Framework)";
- выбрал шаблон - "Пустой" + "MVC" + "API";
- добавил котроллер "Контроллер MVC 5 - пустой". Имя контроллера "HookController";
- запускаю приложение "Postman";
- "Postman". устанавливаю запрос "POST" ;
- "Postman". устанавливаю ссылку "localhost:44836/Hook";
- "Postman". Нажимаю "SEND";
- Результат см. картинку "-= RESULT =-";
Если я правильно понял теорию, то после выполнения действия "Postman". Нажимаю "SEND", в котроллере HookController.cs должен выполняться метод ViberProcess(HttpContext context) и код должен остановиться в точке останова.
Этого не происходит.
Документация Viber REST API -
ссылкаВопрос.
Как правильно сделать "Webhook"?
Код HookController.csusing System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
//
using System.Runtime.Remoting.Contexts;
namespace WebAppl1.Controllers
{
public class HookController : Controller
{
// GET: Hook
//public ActionResult Index()
//{
// return View();
//}
[HttpPost]
// [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void ViberProcess(HttpContext context)
{
try
{
Stream s = context.Request.InputStream;
// Stream s = Context.Request.InputStream;
// or Stream s = HttpContext.Current.Request.InputStream;
s.Position = 0;
StreamReader reader = new StreamReader(s);
string jsonText = reader.ReadToEnd();
// Other code that converts json text to classes
}
catch (Exception e)
{
// .....
}
}
}
}
7. "Postman". Click "SEND"; 8. The result, see the picture "- = RESULT = -";