How to set up WhatAapp cloud webhook on Laravel PHP framework
09:55 25 Aug 2022

I have been trying to set up WhatsApp cloud API on my Laravel MVC project. I'm stuck trying to set up webhook to receive WhatsApp notifications when someone sends a message. The below is my code and it is not simply working giving server error or 405 method not allowed error, in the WhatsApp cloud api side it does not pass the validation point.

API

Route::GET('/webhook' , 'admin\InventoryInvoiceController@webhook')->name('webhook');

Controller

public function webhook() {
    if($_SERVER['REQUEST_METHOD']=="GET"){
        echo $_GET['hub_challenge']; //respond back hub_callenge key
        http_response_code(200);
    }else{
        $data = json_decode(file_get_contents('php://input'), true);
        error_log(json_encode($data)); //print inbound message     
    }
    
}

I have added this route to the exception so it's run with the need for CSRF validation. Error received on the Whatsapp API Cloud side:

The callback URL or verify token couldn't be validated. Please verify the provided information or try again later.

What can I try next?

php laravel cloud whatsapp