PHP code example of scriptdevelop / whatsapp-manager
1. Go to this page and download the library: Download scriptdevelop/whatsapp-manager library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
$phoneDetails = Whatsapp::phone()->getPhoneNumberDetails('564565346546');
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
$account = Whatsapp::phone()->getBusinessAccount('356456456456');
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$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
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$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
'Visítanos en YouTube: http://youtube.com', // Enlace
true // Habilitar vista previa de enlaces
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$message = Whatsapp::message()->sendReplyTextMessage(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
'wamid.HBgMNTczMTM3MTgxOTA4FQIAEhggNzVCNUQzRDMxRjhEMUJEM0JERjAzNkZCNDk5RDcyQjQA', // ID del mensaje de contexto
'Esta es una respuesta al mensaje anterior.' // Mensaje
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
// Reacción con corazón rojo โค๏ธ
$message = Whatsapp::message()->sendReplyReactionMessage(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
'wamid.HBgMNTczMTM3MTgxOTA4FQIAEhggNzZENDMzMEI0MDRFQzg0OUUwRTI1M0JBQjEzMUZFRUYA', // ID del mensaje de contexto
"\u{2764}\u{FE0F}" // Emoji de reacción
);
"\u{1F44D}" // ๐ (Me gusta)
"\u{1F44E}" // ๐ (No me gusta)
"\u{1F525}" // ๐ฅ
"\u{1F60D}" // ๐
"\u{1F622}" // ๐ข
"\u{1F389}" // ๐
"\u{1F680}" // ๐
"\u{2705}" // โ
"\u{274C}" // โ
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$filePath = storage_path('app/public/laravel-whatsapp-manager.png');
$file = new \SplFileInfo($filePath);
$message = Whatsapp::message()->sendImageMessage(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
$file // Archivo de imagen.
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$message = Whatsapp::message()->sendImageMessageByUrl(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
'https://example.com/image.png' // Enlace de imagen
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$filePath = storage_path('app/public/laravel-whatsapp-manager.png');
$file = new \SplFileInfo($filePath);
$message = Whatsapp::message()->sendStickerMessage(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
$file // Archivo de stiker
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$filePath = storage_path('app/public/audio.ogg');
$file = new \SplFileInfo($filePath);
$message = Whatsapp::message()->sendAudioMessage(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
$file // Archivo de Audio
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$message = Whatsapp::message()->sendAudioMessageByUrl(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
'https://example.com/audio.ogg' // URL o Enlace
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$filePath = storage_path('app/public/document.pdf');
$file = new \SplFileInfo($filePath);
$message = Whatsapp::message()->sendDocumentMessage(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
$file // Archivo del documento
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$message = Whatsapp::message()->sendDocumentMessageByUrl(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
'https://example.com/document.pdf' // URL o Enlace de documento
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
// Ejemplo 1
$message = Whatsapp::message()->sendLocationMessage(
$phone->phone_number_id, // ID del número de teléfono
'57', // Código de país
'3237121901', // Número de teléfono
4.7110, // Latitud
-74.0721, // Longitud
'Bogotá', // Nombre del lugar
'Colombia' // Dirección
);
// Ejemplo 2
$message = Whatsapp::message()->sendLocationMessage(
phoneNumberId: $phone->phone_number_id,
countryCode: '57', // Código de país
phoneNumber: '3137183308', // Número de teléfono
latitude: 19.4326077, // Latitud
longitude: -99.133208, // Longitud
name: 'Ciudad de México', // Nombre del lugar
address: 'Plaza de la Constitución' // Dirección
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
//EJEMPLO 1
$buttonResponse = Whatsapp::sendButtonMessage($phone->phone_number_id)
->to('57', '31371235638')
->withBody('¿Confirmas tu cita para mañana a las 3 PM?')
->addButton('confirmar', 'โ Confirmar')
->addButton('reagendar', '๐ Reagendar')
->withFooter('Por favor selecciona una opción')
->send();
//EJEMPLO 2
$buttonResponse = Whatsapp::sendButtonMessage($phone->phone_number_id)
->to('57', '31371235638')
->withBody('¿Cómo calificarías nuestro servicio?')
->addButton('excelente', 'โญ๏ธโญ๏ธโญ๏ธโญ๏ธโญ๏ธ Excelente')
->addButton('bueno', 'โญ๏ธโญ๏ธโญ๏ธโญ๏ธ Bueno')
->addButton('regular', 'โญ๏ธโญ๏ธโญ๏ธ Regular')
->withFooter('Tu opinión nos ayuda a mejorar')
->send();
//EJEMPLO 3
// Obtener ID de un mensaje anterior (debes tener uno real)
$contextMessage = \ScriptDevelop\WhatsappManager\Models\Message::first();
$contextId = $contextMessage->wa_id;
$buttonResponse = Whatsapp::sendButtonMessage($phone->phone_number_id)
->to('57', '31371235638')
->withBody('Selecciona el tipo de soporte que necesitas:')
->addButton('soporte-tecnico', '๐ ๏ธ Soporte Técnico')
->addButton('facturacion', '๐งพ Facturación')
->addButton('quejas', '๐ฃ Quejas y Reclamos')
->withFooter('Horario de atención: L-V 8am-6pm')
->inReplyTo($contextId) // Aquí especificas el mensaje al que respondes
->send();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
// EJEMLPO 1
$listBuilder = Whatsapp::sendListMessage($phone->phone_number_id)
->to('57', '31371235638')
->withButtonText('Ver Productos')
->withBody('Nuestros productos destacados:')
->withHeader('Catálogo Digital')
->withFooter('Desliza para ver más opciones');
$listBuilder->startSection('Laptops')
->addRow('laptop-pro', 'MacBook Pro', '16" - 32GB RAM - 1TB SSD')
->addRow('laptop-air', 'MacBook Air', '13" - M2 Chip - 8GB RAM')
->endSection();
$listBuilder->startSection('Smartphones')
->addRow('iphone-15', 'iPhone 15 Pro', 'Cámara 48MP - 5G')
->addRow('samsung-s23', 'Samsung S23', 'Pantalla AMOLED 120Hz')
->endSection();
$response = $listBuilder->send();
// EJEMLPO 2
$listBuilder = Whatsapp::sendListMessage($phone->phone_number_id)
->to('57', '31371235638')
->withButtonText('Ver Servicios')
->withBody('Selecciona el servicio que deseas agendar:')
->withFooter('Desliza para ver todas las opciones');
$listBuilder->startSection('Cortes de Cabello')
->addRow('corte-mujer', 'Corte Mujer', 'Estilo profesional')
->addRow('corte-hombre', 'Corte Hombre', 'Técnicas modernas')
->addRow('corte-niños', 'Corte Niños', 'Diseños infantiles')
->endSection();
$listBuilder->startSection('Tratamientos')
->addRow('keratina', 'Keratina', 'Tratamiento reparador')
->addRow('coloracion', 'Coloración', 'Tintes profesionales')
->addRow('mascarilla', 'Mascarilla', 'Hidratación profunda')
->endSection();
$response = $listBuilder->send();
// EJEMLPO 3
// Obtener ID de un mensaje anterior (debes tener uno real)
$contextMessage = \ScriptDevelop\WhatsappManager\Models\Message::first();
$contextId = $contextMessage->wa_id;
$listBuilder = Whatsapp::sendListMessage($phone->phone_number_id)
->to('57', '31371235638')
->withButtonText('Seleccionar Servicio')
->withBody('Para el tipo de cita que mencionaste, tenemos estas opciones:')
->inReplyTo($contextId); // Aquí especificas el mensaje al que respondes
$listBuilder->startSection('Consultas')
->addRow('consulta-general', 'Consulta General', '30 min - $50.000')
->addRow('consulta-especial', 'Consulta Especializada', '60 min - $90.000')
->endSection();
$listBuilder->startSection('Tratamientos')
->addRow('tratamiento-basico', 'Tratamiento Básico', 'Sesión individual')
->addRow('tratamiento-premium', 'Tratamiento Premium', 'Incluye seguimiento')
->endSection();
$response = $listBuilder->send();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$productId = 'PROD-12345'; // ID del producto en tu catálogo
// Enviar un solo producto con texto descriptivo
WhatsappManager::message()->sendSingleProductMessage(
$phone->phone_number_id,
'52', // Código de país (México)
'5512345678', // Número de destino
$productId,
'¡Mira este increíble producto que tenemos para ti!'
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
use ScriptDevelop\WhatsappManager\Services\CatalogProductBuilder;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$builder = new CatalogProductBuilder(
WhatsappManager::getDispatcher(),
$phone->phone_number_id,
);
$builder->to('52', '5512345678')
->withBody('Productos recomendados para ti:')
->withHeader('Ofertas Especiales')
->withFooter('Válido hasta el 30 de Junio')
// Sección 1
->startSection('Productos Destacados')
->addProduct('PROD-12345')
->addProduct('PROD-67890')
->endSection()
// Sección 2
->startSection('Nuevos Lanzamientos')
->addProduct('PROD-54321')
->addProduct('PROD-09876')
->endSection()
->send();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
use ScriptDevelop\WhatsappManager\Services\CatalogProductBuilder;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
WhatsappManager::message()->sendFullCatalogMessage(
$phone->phone_number_id,
'52',
'5512345678',
'Ver Catálogo', // Texto del botón
'Explora nuestro catálogo completo de productos',
'¡Envíanos un mensaje para más información!' // Footer
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
use ScriptDevelop\WhatsappManager\Services\CatalogProductBuilder;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
// Responder a un mensaje específico con un producto
$contextMessageId = 'wamid.XXXXXX'; // ID del mensaje original
WhatsappManager::message()->sendSingleProductMessage(
$phone->phone_number_id,
'52',
'5512345678',
'PROD-12345',
'Este es el producto que mencionaste:',
$contextMessageId
);
$message = Whatsapp::message()->markMessageAsRead('01JW939646VBZTS7JEJN21FGVE'); // ID del Mensaje a marcar como leidoo
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
// Obtener una instancia de WhatsApp Business Account
$account = WhatsappBusinessAccount::find($accountId);
// Obtener todas las plantillas de la cuenta
Whatsapp::template()->getTemplates($account);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
// Obtener una instancia de WhatsApp Business Account
$account = WhatsappBusinessAccount::find($accountId);
// Obtener plantilla por su nombre
$template = Whatsapp::template()->getTemplateByName($account, 'order_confirmation');
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
// Obtener una instancia de WhatsApp Business Account
$account = WhatsappBusinessAccount::find($accountId);
// Obtener plantilla por su ID
$template = Whatsapp::template()->getTemplateById($account, '559947779843204');
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
// Obtener una instancia de WhatsApp Business Account
$account = WhatsappBusinessAccount::find($accountId);
// Soft delete
// Eliminar plantilla por su ID
$template = Whatsapp::template()->gdeleteTemplateById($account, $templateId);
// Eliminar plantilla por su Nombre
$template = Whatsapp::template()->deleteTemplateByName($account, 'order_confirmation');
// Hard delete
// Eliminar plantilla por su ID
$template = Whatsapp::template()->gdeleteTemplateById($account, $templateId, true);
// Eliminar plantilla por su Nombre
$template = Whatsapp::template()->deleteTemplateByName($account, 'order_confirmation', true);
use ScriptDevelop\WhatsappManager\Models\Template;
use ScriptDevelop\WhatsappManager\Exceptions\TemplateComponentException;
use ScriptDevelop\WhatsappManager\Exceptions\TemplateUpdateException;
$template = Template::find('template-id');
try {
$updatedTemplate = $template->edit()
->setName('nuevo-nombre-plantilla')
->changeBody('Nuevo contenido del cuerpo {{1}}', [['Ejemplo nuevo']])
->removeHeader()
->addFooter('Nuevo texto de pie de página')
->removeAllButtons()
->addButton('URL', 'Visitar sitio', 'https://mpago.li/2qe5G7E')
->addButton('QUICK_REPLY', 'Confirmar')
->update();
return response()->json($updatedTemplate);
} catch (TemplateComponentException $e) {
// Manejar error de componente
return response()->json(['error' => $e->getMessage()], 400);
} catch (TemplateUpdateException $e) {
// Manejar error de actualización
return response()->json(['error' => $e->getMessage()], 500);
}
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_3')
->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();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
// Obtener la cuenta empresarial
$account = WhatsappBusinessAccount::first();
// Crear una plantilla de marketing con texto
$template = Whatsapp::template()
->createMarketingTemplate($account)
->setName('personal_promotion_text_only')
->setLanguage('en')
->addHeader('TEXT', 'Our {{1}} is on!', ['Summer Sale'])
->addBody(
'Shop now through {{1}} and use code {{2}} to get {{3}} off of all merchandise.',
['the end of August', '25OFF', '25%']
)
->addFooter('Use the buttons below to manage your marketing subscriptions')
->addButton('QUICK_REPLY', 'Unsubscribe from Promos')
->addButton('QUICK_REPLY', 'Unsubscribe from All')
->save();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
// Obtener la cuenta empresarial
$account = WhatsappBusinessAccount::first();
// Ruta de la imagen
$imagePath = storage_path('app/public/laravel-whatsapp-manager.png');
// Crear una plantilla de marketing con imagen
$template = Whatsapp::template()
->createMarketingTemplate($account)
->setName('image_template_test')
->setLanguage('en_US')
->setCategory('MARKETING')
->addHeader('IMAGE', $imagePath)
->addBody('Hi {{1}}, your order {{2}} has been shipped!', ['John', '12345'])
->addFooter('Thank you for your purchase!')
->save();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
// Obtener la cuenta empresarial
$account = WhatsappBusinessAccount::first();
// Ruta de la imagen
$imagePath = storage_path('app/public/laravel-whatsapp-manager.png');
// Crear una plantilla de marketing con imagen y botones de URL
$template = Whatsapp::template()
->createMarketingTemplate($account)
->setName('image_template_test_2')
->setLanguage('en_US')
->setCategory('MARKETING')
->addHeader('IMAGE', $imagePath)
->addBody('Hi {{1}}, your order {{2}} has been shipped!', ['John', '12345'])
->addFooter('Thank you for your purchase!')
->addButton('PHONE_NUMBER', 'Call Us', '+573234255686')
->addButton('URL', 'Track Order', 'https://mpago.li/{{1}}', ['2qe5G7E'])
->save();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
// Obtener la cuenta empresarial
$account = WhatsappBusinessAccount::first();
// Crear una variación de plantilla de marketing
$template = Whatsapp::template()
->createMarketingTemplate($account)
->setName('personal_promotion_text_only_22')
->setLanguage('en')
->addHeader('TEXT', 'Our {{1}} is on!', ['Summer Sale'])
->addBody(
'Shop now through {{1}} and use code {{2}} to get {{3}} off of all merchandise.',
['the end of August', '25OFF', '25%']
)
->addFooter('Use the buttons below to manage your marketing subscriptions')
->addButton('QUICK_REPLY', 'Unsubscribe from Promos')
->addButton('QUICK_REPLY', 'Unsubscribe from All')
->save();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
// Obtener la cuenta empresarial
$account = WhatsappBusinessAccount::first();
$phone = WhatsappPhoneNumber::first();
// Enviar plantilla 1
$message = Whatsapp::template()
->sendTemplateMessage($phone)
->to('57', '3137555908')
->usingTemplate('order_confirmation_4')
->addBody(['12345'])
->send();
// Enviar plantilla 2
$message = Whatsapp::template()
->sendTemplateMessage($phone)
->to('57', '3135666627')
->usingTemplate('link_de_pago')
->addHeader('TEXT', '123456')
->addBody(['20000'])
->addButton('URL', 'Pagar', '1QFwRV', ['[https://mpago.li/1QFwRV]'])
->send();
$message = Whatsapp::template()
->sendTemplateMessage($phone)
->to('57', '3135666627')
->usingTemplate('link_de_pago')
->addHeader('TEXT', '123456')
->addBody(['20000'])
->addButton(
'URL', // Tipo de boton
'Pagar', // Texto del boton
'1QFwRV', // Variable del boton 'Solo Tipo URL'
['[https://mpago.li/1QFwRV]'] // URL de ejemplo 'No se envia solo se toma de ejemplo'
)
->send();
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
// Obtener la cuenta empresarial
$account = WhatsappBusinessAccount::first();
$phone = WhatsappPhoneNumber::first();
// Crear Bot de whatsapp
$bot = Whatsapp::bot()
->createBot(
[
'name' => 'Soporte Técnico',
'phone_number_id' => $phone->phone_number_id,
'trigger_keywords' => ['soporte', 'ayuda'],
]);
// Ver detalle de un Bot de whatsapp
$botDetail = Whatsapp::bot()->getById($bot->whatsapp_bot_id);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
// 1. Seleccionar cuenta y numero para el bot
// Cuenta de whatsapp
$account = WhatsappBusinessAccount::find(214545545097167);
// Numerod e whatsapp
$phone = $account->phoneNumbers->first();
// 2. Crear bot
$bot = Whatsapp::bot()->createBot([
'name' => 'Bot Bienvenida',
'phone_number_id' => $phone->phone_number_id,
'description' => 'Bot de Bienvenida',
'on_failure_action' => 'assign_agent',
'failure_message' => 'Transferiendo a agente...'
]);
// 3. Crear flujo
$flow = Whatsapp::flow()->createFlow([
'name' => 'Flujo de pruebas',
'description' => 'Flujo que funciona para realizar pruebas',
'type' => 'inbound',
'trigger_mode' => 'any',
'is_default' => false
]);
$flow->addKeywordTrigger(['Hola', 'Buenos dias'], false, 'contains');
$flow = $flow->build();
$bot->flows()->attach($flow->flow_id);
// 4. Crear servicio de pasos
$stepService = Whatsapp::step($flow);
use ScriptDevelop\WhatsappManager\Enums\StepType;
// Paso 1: Bienvenida
$step1 = $stepService->createStep('Bienvenida', StepType::MESSAGE_SEQUENCE)
->addTextMessage("¡Hola! Este flujo es de pruebas.", 1, 0)
->build();
// Paso 2: Pregunta edad
$step2 = $stepService->createStep('Pregunta Edad', StepType::OPEN_QUESTION)
->addTextMessage("¿Cuántos años tienes?", 1, 0)
->addVariable('edad', 'number', 'global', ['t_id' => $step1->step_id]);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
$phoneDetails = Whatsapp::phone()->getPhoneNumberDetails('564565346546');
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
$account = Whatsapp::phone()->getBusinessAccount('356456456456');
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
use ScriptDevelop\WhatsappManager\Models\WhatsappPhoneNumber;
$account = WhatsappBusinessAccount::first();
$phone = $account->phoneNumbers->first();
$message = Whatsapp::message()->sendTextMessage(
$phone->phone_number_id, // Phone number ID
'57', // Country code
'3237121901', // Phone number
'Hello, this is a test message.' // Message content
);
$message = Whatsapp::message()->sendTextMessage(
$phone->phone_number_id,
'57',
'3237121901',
'Visit us on YouTube: http://youtube.com',
true // Enable link preview
);
$message = Whatsapp::message()->sendReplyTextMessage(
$phone->phone_number_id,
'57',
'3237121901',
'wamid.HBgMNTczMTM3MTgxOTA4FQIAEhggNzVCNUQzRDMxRjhEMUJEM0JERjAzNkZCNDk5RDcyQjQA', // Context message ID
'This is a reply to the previous message.'
);
use ScriptDevelop\WhatsappManager\Facades\Whatsapp;
use ScriptDevelop\WhatsappManager\Models\WhatsappBusinessAccount;
$account = WhatsappBusinessAccount::find($accountId);
Whatsapp::template()->getTemplates($account);
$template = Whatsapp::template()
->createUtilityTemplate($account)
->setName('order_confirmation_3')
->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();
$template = Whatsapp::template()
->createMarketingTemplate($account)
->setName('personal_promotion_text_only')
->setLanguage('en')
->addHeader('TEXT', 'Our {{1}} is on!', ['Summer Sale'])
->addBody(
'Shop now through {{1}} and use code {{2}} to get {{3}} off of all merchandise.',
['the end of August', '25OFF', '25%']
)
->addFooter('Use the buttons below to manage your marketing subscriptions')
->addButton('QUICK_REPLY', 'Unsubscribe from Promos')
->addButton('QUICK_REPLY', 'Unsubscribe from All')
->save();
$imagePath = storage_path('app/public/laravel-whatsapp-manager.png');
$template = Whatsapp::template()
->createMarketingTemplate($account)
->setName('image_template_test')
->setLanguage('en_US')
->setCategory('MARKETING')
->addHeader('IMAGE', $imagePath)
->addBody('Hi {{1}}, your order {{2}} has been shipped!', ['John', '12345'])
->addFooter('Thank you for your purchase!')
->save();