Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Client Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Vendor Strategy / Cost Leverage: This is the official client for SMSAPI (an EU-based SMS gateway), so the decision is less "self-host vs. SaaS" and more "which gateway." Use a working integration to benchmark pricing and delivery against Twilio/AWS SNS and negotiate from a position of strength.
  • Feature Parity for Core Messaging: Supports the standard high-volume-of-value use cases — transactional alerts, OTPs, order confirmations — via a REST API. No MMS, two-way conversations, or analytics dashboards in the client itself.
  • Compliance/Data Sovereignty: An EU-headquartered provider is a genuinely useful option if GDPR data-residency and EU-based sub-processors matter. Verify the DPA and SCCs before committing; the client library itself is not a compliance artifact.
  • Roadmap Flexibility: A thin, framework-agnostic client is cheap to adopt and cheap to remove. Good for prototyping SMS (A/B campaigns, notification channels) without locking a quarter of engineering time into an integration.
  • Build vs. Buy: Strong "buy" signal. The client is a few hundred lines of HTTP plumbing over a paid gateway — there is no plausible case for building the gateway layer in-house. The only build decision is whether to write a Laravel notification channel wrapper on top.
  • Platform Currency (new in v4.0.1): PHP 8.5 compatibility fixes mean this won't block a future PHP/Laravel upgrade. Factor it into the upgrade roadmap rather than treating it as a technical-debt line item.

When to Consider This Package

  • Consider if:
    • You want a maintained, official SDK for a specific gateway rather than a hand-rolled cURL integration — v4.0.1 shows active upkeep (PHP 8.5 deprecation fixes, curl_init() failure handling), which removes the "abandoned dependency" objection.
    • Your use case is straightforward outbound SMS: notifications, OTPs, password resets, alerts.
    • You need an EU-based provider for data-residency reasons, or you're already evaluating SMSAPI on price.
    • Your team is comfortable wiring a framework-agnostic PHP client into Laravel's service container — there's no first-party Laravel package or facade, so expect to write a small service provider and a NotificationChannel.
    • You're on or planning PHP 8.4/8.5 and need dependencies that keep pace.
  • Look elsewhere if:
    • You need global scale with enterprise SLAs — this is a client library; reliability is a function of the gateway contract, not the code. Negotiate SLAs with SMSAPI directly.
    • You need advanced messaging — MMS, two-way SMS, carrier routing, or an analytics dashboard are not in scope here.
    • You're not on PHP — this is a plain PHP client and offers nothing to a Node/Python/serverless stack.
    • You want an opinionated Laravel integration (config publishing, queues, notification channel out of the box). A thin community wrapper or an in-house adapter is the better fit.
    • You require certifications (PCI-DSS, HIPAA) that the gateway cannot evidence — assess the provider, not the client.
  • Note: v4.0.1 is a patch release. It fixes PHP 8.5 compatibility and cURL error handling; it does not add features, change the public API, or alter pricing or delivery behavior. No migration work is implied beyond a routine dependency bump.

How to Pitch It (Stakeholders)

For Executives:

"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:

  • "Commercial exposure is to SMSAPI, not to this library. We'll get per-message pricing and volume commitments in writing before we commit a roadmap item to it."
  • "Deliverability is a provider question. We'll instrument delivery-rate monitoring with an alert threshold and keep a documented fallback path to a second gateway."

For Engineering:

*"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:

  • Fixes a PHP 8.5 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.
  • General cURL/HTTP client hardening from a second contributor. No public API changes, no breaking changes — a safe patch bump.
  • Note: 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:

  • No queuing/retry semantics — implement idempotency keys and retry policy at the Laravel layer.
  • Credentials are your responsibility: keep tokens in config/services.php + env, never in a published config committed to the repo.
  • Single-provider coupling — isolate the client behind your own SmsSender interface so swapping gateways is a one-class change.

Next Steps:

  1. Wrap the client in a small adapter interface; bind it in a service provider.
  2. Benchmark delivery success rate and latency against Twilio for our actual destination mix.
  3. Add a fallback gateway behind a circuit breaker.
  4. Pin the dependency and track releases; a patch cadence this recent is a good signal, but verify it continues before making it load-bearing."*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
encore2/laravel-admin2
cboxdk/laravel-console-kit
shapecode/doctrine-dbal-datetimeutc
gilads-otiannoh254/inertia-protocol
dakiquang/laravel-oauth-refresh-lock
woda/laravel-worktrees
dalefranks/ramasite
faghy/laracashbook
roundly-consulting/google-places-for-laravel
roundly-consulting/kubernetes-api-for-laravel
roundly-consulting/plausible-for-laravel
gvp/gvp-laravel-template
metasyncsite/laravel-metasync-client
roundly-consulting/onboarding-for-laravel
adachsoft/cli-process-tester
adachsoft/changelog-linter
adachsoft/collection
adachsoft/php-code-style
adachsoft/api-version-bundle
cgv/localized-resource