Home > OS >  I can't configure a webhook URI for "Whatsapp Cloud API"
I can't configure a webhook URI for "Whatsapp Cloud API"

Time:05-30

I created an app and configure whatsapp but in configuring webhook I have issues

The error
URL can't be saved. The URL is ok, the endpoint was tested wih postman with no issues. the error

Server Code
I use Asp.Net Core - WebApi project and create a controller with the method and print in the console a log. I return Ok challenge if token is equals, otherwise 403 http response. My code

using Microsoft.AspNetCore.Mvc;

namespace MyApiZ.WebApi.Controllers
{
    [ApiController]
    [Route("")]
    public class MessageController : Controller
    {
        const string VerfifyToken = "1234";

        [HttpGet("webhook")]
        public ActionResult<string> SetupWebHook([FromQuery(Name = "hub_mode")] string hubMode,
                                                 [FromQuery(Name = "hub_challenge")] int hubChallenge,
                                                 [FromQuery(Name = "hub_verify_token")] string hubVerifyToken)
        {
            Console.WriteLine("█ WebHook with get executed. ");
            Console.WriteLine($"█ Parameters: hub_mode={hubMode}  hub_challenge={hubChallenge}  hub_verify_token={hubVerifyToken}");
            if (!hubVerifyToken.Equals(VerfifyToken))
            {
                return Forbid("VerifyToken doesn't match");
            }
            return Ok(hubChallenge);
        }

        [HttpPost("webhook")]
        public ActionResult ReceiveNotification([FromBody] string data)
        {
            Console.WriteLine("█ WebHook with Post executed. ");
            Console.WriteLine(data);
            return Ok();
        }

        public IActionResult Index()
        {
            return View();
        }
    }
}

Test with Postman
No issues in request from Postman test with postman

My app is hosted in Azure App Service. I checked the app log in Azure Portal. When the request is executed in Postman, the messages are printed. But when click on facebook in the "Verify and save button" the error is present, the message aren't print in the log, the endpoint is never called. azure logs

webhook error

CodePudding user response:

Simple change
from

public ActionResult<string> SetupWebHook([FromQuery(Name = "hub_mode")] string hubMode,
                                                 [FromQuery(Name = "hub_challenge")] int hubChallenge,
                                                 [FromQuery(Name = "hub_verify_token")] string hubVerifyToken)

to

public ActionResult<string> SetupWebHook([FromQuery(Name = "hub.mode")] string hubMode,
                                                 [FromQuery(Name = "hub.challenge")] int hubChallenge,
                                                 [FromQuery(Name = "hub.verify_token")] string hubVerifyToken)

CodePudding user response:

Once you click the Verify and Save button then you will get the API request from WhatsApp to your server webhook callback URL.

Now, your webhook needs to respond back > hub_challenge.

  • Related