use Devotel\Orbit\Webhook\WebhookVerifier;
// Laravel controller
class WebhookController extends Controller
{
public function handle(Request $request): JsonResponse
{
$verifier = new WebhookVerifier('whsec_your_secret');
$isValid = $verifier->verify(
$request->getContent(),
$request->header('X-Devotel-Signature'),
);
if (! $isValid) {
return response()->json(['error' => 'Invalid signature'], 401);
}
$event = json_decode($request->getContent(), true);
match ($event['type']) {
'message.delivered' => $this->handleDelivery($event),
'call.completed' => $this->handleCallComplete($event),
default => null,
};
return response()->json(['received' => true]);
}
}