Skip to main content

Overview

In this guide, we will cover how to handle incoming SMS webhooks and events using the Hypersender Laravel SDK. Webhooks are a powerful way to receive real-time updates from SMS, allowing your application to respond to messages, status changes, and other events as they happen.

Setting Up Webhooks

  1. The package auto-registers a POST route (default /sms/webhook).
  2. Verifies the signature using the secret in config/env.
  3. Dispatches a dedicated Laravel event for each webhook event type (e.g., MessagesUpserted, GroupsUpdated, etc.).
  4. Listen for events in your app:
use Hypersender\Events\Sms\MessagePhoneSent;

Event::listen(MessagePhoneSent::class, function ($event) {
    $event->payload
});
See the Webhook Usage in it’s dedicated section for more details webhook usage.

Available Webhook Events

The following events are available for handling sms webhooks:
  • Hypersender\Events\Sms\MessagePhoneSent
  • Hypersender\Events\Sms\MessageCallMissed
  • Hypersender\Events\Sms\MessageNotificationScheduled
  • Hypersender\Events\Sms\MessagePhoneDelivered
  • Hypersender\Events\Sms\MessagePhoneReceived
  • Hypersender\Events\Sms\MessageSendExpired
  • Hypersender\Events\Sms\MessageSendFailed
  • Hypersender\Events\Sms\PhoneHeartbeatDisabled
  • Hypersender\Events\Sms\PhoneHeartbeatOnline
  • Hypersender\Events\Sms\PhoneHeartbeatOffline
  • Hypersender\Events\Sms\PhoneHeartbeatMissed
  • Hypersender\Events\Sms\PhoneHeartbeatReceived

Customizing the Webhook Route

To customize the webhook route, you can publish the package’s configuration file and modify the webhook_route setting:
php artisan vendor:publish --tag="hypersender-config"
Then, update the sms_webhook_route in config/hypersender-config.php:
'sms_webhook_route' => 'your/custom/route',
I