smsapi/php-client
SMSAPI PHP Client is a Composer package for integrating your PHP app with the SMSAPI.COM and SMSAPI.PL APIs. Since v3 it supports PSR-17 and PSR-18 HTTP clients, with a ready-made Curl adapter. Install via composer require smsapi/php-client.
curl_init() failure handling), which removes the "abandoned dependency" objection.NotificationChannel."This is the official, actively maintained PHP client for SMSAPI, an EU-based messaging gateway. It lets us ship SMS notifications — OTPs, order confirmations, alerts — in days rather than weeks, with an EU provider that simplifies our GDPR story. It's a paid gateway, not a free self-hosted tool, so the value is speed to market and pricing leverage: we benchmark it against Twilio, pick the better commercial terms, and keep the integration small enough to swap later. The latest release confirms it tracks current PHP versions, so it won't become an upgrade blocker."
Key Risks to Mitigate:
*"This is the official SMSAPI REST client — framework-agnostic PHP, not a Laravel package. Expect to write a service provider, a config file, and (ideally) a Notification channel around it. It's a thin HTTP layer: you construct a client, pass credentials, and call send methods; the package does not manage queues, retries, or rate limiting for you — handle those in Laravel's queue and a circuit breaker.
What v4.0.1 changes:
curl_close() deprecation and a TypeError when curl_init() fails. The latter matters in practice: previously a failed handle could throw instead of surfacing a clean transport error, so error-path tests are worth re-running.curl_close() is a no-op as of PHP 8.0, so this is deprecation-hygiene, not a behavior change. Verify your pinned PHP version in CI covers both 8.4 and 8.5.Trade-offs:
config/services.php + env, never in a published config committed to the repo.SmsSender interface so swapping gateways is a one-class change.Next Steps:
How can I help you explore Laravel packages today?