PHP code example of chat / whatsapp-integration
1. Go to this page and download the library: Download chat/whatsapp-integration 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/ */
chat / whatsapp-integration example snippets
'providers' => [
// ...
Chat\WhatsappIntegration\WhatsAppIntegrationServiceProvider::class,
]
use Chat\WhatsappIntegration\WhatsApp;
use Chat\WhatsappIntegration\Exceptions\WhatsAppException;
public function sendMessage(WhatsApp $whatsapp)
{
try {
$result = $whatsapp->sendMessage(
'+1234567890', // recipient's number
'Hello from Laravel!'
);
// Success
$messageSid = $result->sid;
$status = $result->status;
} catch (WhatsAppException $e) {
// Handle error
logger()->error('WhatsApp Error: ' . $e->getMessage());
}
}
try {
$result = $whatsapp->sendMessage(
'+1234567890',
'Your order has been confirmed',
'HX350d429d32e64a552466cafecbe95f3c', // template ID
json_encode(['1' => 'today', '2' => '3pm']) // variables
);
} catch (WhatsAppException $e) {
// Handle error
}
try {
$result = $whatsapp->handleWebhook(
$request->all(),
$request->fullUrl(),
$request->header('X-Twilio-Signature')
);
$messageBody = $result['Body'];
$fromNumber = $result['From'];
$mediaUrls = $result['MediaUrls'];
} catch (WhatsAppException $e) {
// Handle error
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Chat\WhatsappIntegration\WhatsApp;
use Chat\WhatsappIntegration\Exceptions\WhatsAppException;
class WhatsAppController extends Controller
{
protected $whatsapp;
public function __construct(WhatsApp $whatsapp)
{
$this->whatsapp = $whatsapp;
}
public function sendMessage(Request $request)
{
$request->validate([
'to' => 'nse()->json([
'success' => false,
'error' => $e->getMessage()
], 400);
}
}
public function handleWebhook(Request $request)
{
try {
$result = $this->whatsapp->handleWebhook(
$request->all(),
$request->fullUrl(),
$request->header('X-Twilio-Signature')
);
return response()->json(['status' => 'success']);
} catch (WhatsAppException $e) {
return response()->json([
'status' => 'error',
'message' => $e->getMessage()
], 400);
}
}
}
Route::prefix('whatsapp')->group(function () {
Route::post('/send', [WhatsAppController::class, 'sendMessage']);
Route::post('/webhook', [WhatsAppController::class, 'handleWebhook']);
});
try {
$result = $whatsapp->sendMessage($to, $message);
} catch (ValidationException $e) {
// Handle validation errors (invalid phone number, template, etc.)
} catch (RateLimitException $e) {
// Handle rate limiting
} catch (ConnectionException $e) {
// Handle Twilio API connection issues
} catch (WhatsAppException $e) {
// Handle other WhatsApp-related errors
}
bash
php artisan vendor:publish --provider="Chat\WhatsappIntegration\WhatsAppIntegrationServiceProvider" --tag="whatsapp-config"