Inicio Introducción

Introducción

WhatsApp API Manager es un paquete completo para Laravel que te permite integrar fácilmente la API de WhatsApp Business Cloud en tu aplicación.

¿Qué es WhatsApp API Manager?

Es una solución integral que simplifica la integración de WhatsApp Business API en aplicaciones Laravel, proporcionando:

  • 📨 Gestión completa de mensajes - Envío y recepción de todo tipo de mensajes
  • 📋 Sistema de plantillas - Trabaja con plantillas aprobadas de WhatsApp
  • 📡 Eventos en tiempo real - Integración con Laravel Echo y WebSockets
  • 🗃️ Base de datos incluida - Modelos Eloquent y migraciones listas para usar
  • 🎨 Totalmente personalizable - Extiende y personaliza según tus necesidades

Características Principales

💬 Tipos de Mensajes Soportados

  • Texto - Mensajes de texto simples con formato
  • Multimedia - Imágenes, videos, audios, documentos y stickers
  • Ubicación - Comparte ubicaciones geográficas
  • Contactos - Envía información de contactos
  • Interactivos - Botones, listas y mensajes con respuesta rápida
  • Plantillas - Mensajes pre-aprobados con variables

🔧 Funcionalidades

Envío de Mensajes

// Mensaje de texto simple
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;

$account = WhatsappBusinessAccount::first();    // Obtener cuenta de whatsapp business
$phone = $account->phoneNumbers->first();       // Obtener Numero de whatsapp

$message = Whatsapp::message()->sendTextMessage(
    $phone->phone_number_id,        // ID del número de teléfono
    '57',                           // Código de país
    '3237121901',                   // Número de teléfono
    'Hola, este es un mensaje de prueba.' // Contenido del mensaje
);

Recepción de Mensajes

use ScriptDevelop\WhatsappManager\Events\TextMessageReceived;

Event::listen(TextMessageReceived::class, function ($event) {
    logger()->info("Nuevo mensaje: {$event->message->body}");
});

Gestión de Plantillas

Crear plantilla

// Crear plantilla con variable
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;

// Obtener la cuenta empresarial
$account = WhatsappBusinessAccount::first();

// Crear una plantilla transaccional
$template = Whatsapp::template()
    ->createUtilityTemplate($account)
    ->setName('order_confirmation')
    ->setLanguage('en_US')
    ->addHeader('TEXT', 'Order Confirmation')
    ->addBody('Your order {{1}} has been confirmed.', ['12345'])
    ->addFooter('Thank you for shopping with us!')
    ->addButton('QUICK_REPLY', 'Track Order')
    ->addButton('QUICK_REPLY', 'Contact Support')
    ->save();

Enviar plantilla

// Enviar plantilla con variable
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;

$account = WhatsappBusinessAccount::first();    // Obtener cuenta de whatsapp business
$phone = $account->phoneNumbers->first();       // Obtener Numero de whatsapp

// Enviar plantilla 1: plantilla sin botones o sin necesidad de proporcionar parámetros para botones
$message = Whatsapp::template()
    ->sendTemplateMessage($phone)
    ->to('57', '3137555908')
    ->usingTemplate('order_confirmation')
    ->addBody(['12345'])
    ->send();

Arquitectura

El paquete sigue las mejores prácticas de Laravel y utiliza:

  • Service Pattern - Para lógica de negocio
  • Repository Pattern - Para acceso a datos
  • Event-Driven - Para manejo de webhooks
  • Facades - Para API simple y elegante
  • Eloquent ORM - Para modelos de datos

Casos de Uso

E-commerce

  • Notificaciones de órdenes
  • Confirmaciones de pago
  • Actualizaciones de envío
  • Soporte al cliente

CRM

  • Seguimiento de leads
  • Recordatorios de citas
  • Campañas de marketing
  • Atención personalizada

Servicios

  • Recordatorios de citas
  • Confirmaciones de reservas
  • Notificaciones de estado
  • Alertas y avisos

Educación

  • Notificaciones a estudiantes
  • Recordatorios de clases
  • Distribución de contenido
  • Comunicación con padres

Requisitos del Sistema

  • PHP: 8.2 o superior
  • Laravel: 12 o superior
  • Extensiones PHP:
    • OpenSSL
    • PDO
    • Mbstring
    • cURL

WhatsApp Business API

Este paquete utiliza la API oficial de WhatsApp Business Cloud de Meta. Necesitarás:

  1. Cuenta de Meta Business - Crear cuenta
  2. Aplicación de WhatsApp - Crear en Meta for Developers
  3. Número de teléfono - Número verificado para WhatsApp Business
  4. Token de acceso - Credenciales de API

Soporte y Comunidad

Obtener Ayuda

Contribuir

Las contribuciones son bienvenidas. Por favor:

  1. Fork el repositorio
  2. Crea una rama para tu feature
  3. Haz commit de tus cambios
  4. Envía un pull request

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

Próximos Pasos

¿Listo para comenzar? Continúa con:


¿Tienes preguntas? Abre un issue en GitHub y con gusto te ayudaremos.

Compartir esta página