bytes4sale/phone-number-info
Laravel package for validating phone numbers and querying hlrlookup.com for HLR insights: number type, real-time status, original network, porting info, SMS/MMS email addresses, plus request parameters and credit usage tracking.
config/phone-number-info.php).throttle middleware).phone_numbers table for caching results (e.g., number, carrier, country, last_checked_at).composer require bytes4sale/phone-number-info
php artisan vendor:publish --provider="Bytes4Sale\PhoneNumberInfo\PhoneNumberInfoServiceProvider"
.env with API keys (e.g., TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN).use Bytes4Sale\PhoneNumberInfo\Facades\PhoneNumberInfo;
$info = PhoneNumberInfo::getInfo('+15551234567');
PhoneNumberInfo::dispatch('+15551234567')->onQueue('phone-lookups');
Cache::remember("phone:{$number}", now()->addHours(1), function() use ($number) {
return PhoneNumberInfo::getInfo($number);
});
Log::error).composer.json for stability..env.Log::debug($info->rawData)).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| API Provider Outage | No phone number data | Fallback to secondary provider or cached data. |
| Rate Limit Exceeded | Throttled requests | Implement exponential backoff and retries. |
| Stale HLR Data | Inaccurate carrier/location info | Set shorter cache TTLs or disable caching. |
| API Key Compromise | Unauthorized usage/charges | Rotate keys and monitor usage logs. |
| Database Cache Corruption | Inconsistent cached results | Use Redis with persistence enabled. |
| Laravel/PHP Version Conflict | Integration breaks | Test on staging before deployment. |
How can I help you explore Laravel packages today?