1. Go to this page and download the library: Download wapi2/whatsapp-php-sdk 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/ */
wapi2 / whatsapp-php-sdk example snippets
Wapi2\WhatsApp\WhatsAppClient;
use Wapi2\WhatsApp\Exception\WhatsAppException;
// Configurar cliente
$token = 'tu-token-de-wapi2';
$client = new WhatsAppClient($token);
try {
// Obtener sesiones disponibles
$sessions = $client->getSessions();
if (!empty($sessions['data'])) {
$sessionId = $sessions['data'][0]['session_id'];
// Verificar estado de la sesión
if ($sessions['data'][0]['status'] === 'ready') {
// Enviar un mensaje
$result = $client->sendMessage(
'34612345678', // Número destinatario o ID de grupo
'¡Hola desde WhatsApp!',
$sessionId
);
print_r($result);
}
}
} catch (WhatsAppException $e) {
echo "Error: " . $e->getMessage();
}
// Obtener todas las sesiones
$sessions = $client->getSessions();
// Verificar estado de una sesión
$status = $client->checkAuth($sessionId);
// Obtener lista de contactos
$contacts = $client->getContacts($sessionId);
// Obtener lista de grupos
$groups = $client->getGroups($sessionId);
// Verificar si un número está en WhatsApp
$isRegistered = $client->isRegisteredUser($phone, $sessionId);
Wapi2\WhatsApp\WhatsAppClient;
use Wapi2\WhatsApp\Exception\WhatsAppException;
$token = 'tu-token-de-wapi2';
try {
// Inicializar el cliente
$client = new WhatsAppClient($token);
// Obtener sesiones disponibles
$sessions = $client->getSessions();
if (!empty($sessions['data'])) {
$sessionId = $sessions['data'][0]['session_id'];
// Verificar autenticación
$auth = $client->checkAuth($sessionId);
if ($auth['authenticated']) {
// Enviar mensaje
$result = $client->sendMessage(
'34612345678',
'¡Hola desde el SDK!',
$sessionId
);
if ($result['status'] === 'success') {
echo "\nMensaje enviado exitosamente\n";
}
// Enviar documento
$documentResult = $client->sendOfficeDocument(
'34612345678',
'https://ejemplo.com/documento.docx',
'informe.docx',
'Informe mensual',
$sessionId
);
// Obtener grupos
$groups = $client->getGroups($sessionId);
if (!empty($groups['groups'])) {
// Enviar mensaje a un grupo
$groupId = $groups['groups'][0]['id'];
$client->sendMessage(
$groupId,
'Mensaje para el grupo',
$sessionId
);
}
} else {
echo "\nLa sesión no está autenticada\n";
}
} else {
echo "\nNo se encontraron sesiones disponibles\n";
}
} catch (WhatsAppException $e) {
echo "Error: " . $e->getMessage() . "\n";
echo "Código: " . $e->getCode() . "\n";
if ($errorData = $e->getErrorData()) {
echo "Datos adicionales del error:\n";
print_r($errorData);
}
}
try {
$result = $client->sendMessage($to, $message, $sessionId);
} catch (WhatsAppException $e) {
// Verificar tipo específico de error
if ($e->isValidationError()) {
// Manejar errores de validación (tamaño archivo, longitud nombre, etc)
switch ($e->getCode()) {
case WhatsAppException::ERROR_FILE_SIZE:
echo "El archivo excede el límite de 16MB";
break;
case WhatsAppException::ERROR_FILENAME_LENGTH:
echo "Nombre de archivo demasiado largo";
break;
case WhatsAppException::ERROR_CAPTION_LENGTH:
echo "Caption demasiado largo";
break;
}
} elseif ($e->isAuthenticationError()) {
// Manejar errores de autenticación y permisos
if ($e->isErrorType(WhatsAppException::ERROR_GROUP_PERMISSION)) {
echo "Sin permisos en el grupo";
}
}
// También puedes obtener:
echo $e->getMessage(); // Mensaje de error
echo $e->getCode(); // Código de error
$errorData = $e->getErrorData(); // Datos adicionales
}
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.