Recibir mensajes con Api Oficial de WhatsApp en Laravel
En este tutorial aprenderemos a Recibir mensajes con Api Oficial de WhatsApp en Laravel , solo debemos seguir estos pasos:
Creamos una app en Facebook

O podemos aceder a este link Todas las apps – Meta for Developers (facebook.com)





Configuramos el Api de WhatsApp






En este tutorial aprenderemos a Enviar mensajes con Api Oficial de WhatsApp en PHP, solo debemos seguir estos pasos:
Creamos una app en Facebook

O podemos aceder a este link Todas las apps – Meta for Developers (facebook.com)





Configuramos el Api de WhatsApp






Creamos nuestro host
Creamos una cuenta gratuita en Hosting made for everyone | alwaysdata







<?php
// /www2/routes/web.php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\WaController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/webhook', [WaController::class,'webhook']);
Route::post('/webhook', [WaController::class,'recibe']);

<?php
// /www2/app/Http/Controllers/WaController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class WaController extends Controller
{
/*
* VERIFICACION DEL WEBHOOK
*/
public function webhook(){
//TOQUEN QUE QUERRAMOS PONER
$token = 'HolaNovato';
//RETO QUE RECIBIREMOS DE FACEBOOK
$hub_challenge = isset($_GET['hub_challenge']) ? $_GET['hub_challenge'] : '';
//TOQUEN DE VERIFICACION QUE RECIBIREMOS DE FACEBOOK
$hub_verify_token = isset($_GET['hub_verify_token']) ? $_GET['hub_verify_token'] : '';
//SI EL TOKEN QUE GENERAMOS ES EL MISMO QUE NOS ENVIA FACEBOOK RETORNAMOS EL RETO PARA VALIDAR QUE SOMOS NOSOTROS
if ($token === $hub_verify_token) {
echo $hub_challenge;
exit;
}
}
/*
* RECEPCION DE MENSAJES
*/
public function recibe(){
//LEEMOS LOS DATOS ENVIADOS POR WHATSAPP
$respuesta = file_get_contents("php://input");
//echo file_put_contents("text.txt", "Hola");
//SI NO HAY DATOS NOS SALIMOS
if($respuesta==null){
exit;
}
//CONVERTIMOS EL JSON EN ARRAY DE PHP
$respuesta = json_decode($respuesta, true);
//EXTRAEMOS EL TELEFONO DEL ARRAY
$mensaje="Telefono:".$respuesta['entry'][0]['changes'][0]['value']['messages'][0]['from']."\n";
//EXTRAEMOS EL MENSAJE DEL ARRAY
$mensaje.="Mensaje:".$respuesta['entry'][0]['changes'][0]['value']['messages'][0]['text']['body'];
//GUARDAMOS EL MENSAJE Y LA RESPUESTA EN EL ARCHIVO text.txt
file_put_contents("text.txt", $mensaje);
}
}

<?php
// /www2/app/Http/Middleware/VerifyCsrfToken.php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array<int, string>
*/
protected $except = [
'/webhook'
];
}


