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

Kudi Sms Php Laravel Package

toneflix-code/kudi-sms-php

A Laravel/PHP package for sending SMS through the Kudi SMS API. It offers a simple, framework-friendly interface for adding transactional or bulk messaging to your applications, with straightforward configuration and a clean API for quick integration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • SMS/OTP vendor selection for the Nigerian market. KudiSMS is a domestic aggregator; a PHP wrapper lets you price out "what does integrating this actually cost us" in hours instead of a vendor-evaluation cycle. Useful when OTP delivery for signup and password-reset is a launch blocker.
  • Build vs. buy on the integration layer. The real decision isn't "KudiSMS or not," it's "do we pay a developer to own raw HTTP calls, or take a dependency?" This package sits at the low-effort end of that spectrum — a thin wrapper over a REST API, MIT-licensed, so the "price" is maintenance and vendor risk, not license fees. The 1.0.6 senderId → senderID rename reinforces the point: the maintenance cost is real but small, and it's yours either way.
  • Time-to-market on transactional messaging. Registration verification, payment confirmations, order and delivery notifications, dunning reminders. If those flows are on the critical path for a release, this is a same-sprint unblock.
  • Roadmap: multi-provider SMS strategy. The honest strategic takeaway is that SMS is commodity infrastructure and should be behind your interface, not a vendor's. Use this as a throwaway adapter under a SmsSender contract so KudiSMS (or Termii, Africa's Talking, Twilio) is swappable without touching product code. The 1.0.6 rename is exactly the class of churn your adapter should absorb so product code never sees it.
  • Cost and deliverability benchmarking. Cheap enough to A/B against an incumbent provider on cost-per-message and delivery latency in-country — a decision that scales with volume and is worth getting right early.
  • Explicitly not a differentiator. Don't let this consume roadmap attention. It's plumbing; the product decision is which flows get SMS and how much we're willing to spend per user per month.

When to Consider This Package

Consider it when:

  • You have already chosen (or are actively trialing) KudiSMS as a vendor and need a PHP/Laravel integration this sprint.
  • You're an MVP or small team with modest volume, and you'll wrap it in your own adapter and pin the version — pinning now matters more than it did yesterday (see below).
  • You want to prototype the OTP flow before committing engineering time to a first-party client.
  • You're comfortable reading the wrapper's source (it's small) to confirm which KudiSMS endpoints it actually covers.

Look elsewhere — or call the REST API directly — when:

  • Adoption signal matters. 0 stars, 0 dependents, first release 2025-07-14. There is no production track record, no community patch history, no third-party security review. In practice you'd be the first adopter. For a payment-adjacent OTP path, that's a real supply-chain consideration, not a formality.
  • You need predictable versioning. 1.0.6 is a patch release that renames a public parameter (senderId → senderID). Anyone passing named arguments, or persisting that key in config, breaks on a routine composer update. That's a semver-hygiene signal: treat minor and patch bumps as potentially breaking, pin exactly, and read the diff before upgrading.
  • You need Laravel-native ergonomics. This is a plain PHP wrapper, not a Laravel package — verify before assuming a service provider, facade, config publishing, or queue integration exists. If not, you're writing that glue, which erodes the "buy" case.
  • Your requirements exceed the wrapper's surface. Bulk sends, templated messages, sender-ID registration, delivery receipts, and webhook handling are common gaps. If you need them, Laravel's Http client (or a typed SDK such as Saloon) gives you the same result with no third-party in the path.
  • You operate at volume, across regions, or under messaging regulation. Sender-ID/DLT compliance and provider failover are operational concerns you want to own, not delegate to a dependency with a single maintainer.
  • Long-lived, audited product. Bus factor 1 and no downstream users is a liability you'll eventually have to explain.

How to Pitch It (Stakeholders)

To executives: This is a glue library, not a platform commitment. The cost is a day or two of developer time; there's no license fee (MIT). The decision to adopt it is small, but the decision to depend on it is not: it's brand new with no users, and its latest patch release renamed a public parameter — the kind of churn a version-pinned dependency absorbs but a loosely-pinned one does not. Recommendation: trial KudiSMS behind our own sending interface, pin the exact version, and have a cheap second provider wired up as fallback. SMS is commodity infrastructure — we should optimize for exit cost, not for a deep integration.

To engineering: Small, readable surface area, MIT-licensed, so forking is a legitimate escape hatch — and a recent patch-level rename means forking or wrapping is the sane default, not a contingency. Three asks: (1) wrap it — nothing in product code should import the vendor namespace directly; (2) pin the exact version (1.0.6), not a caret range, and treat upgrades as reviewed changes rather than automatic; (3) add a mocked-HTTP test around our adapter that asserts the outgoing payload includes senderID (capital-D), so a future upstream rename fails our test instead of production OTP. Worth 30 minutes up front to confirm whether it ships a Laravel service provider, how credentials are configured, and which endpoints are covered versus missing. If it's thinner than we need, skip it and write the client ourselves — at this size the wrapper saves us hours, not weeks.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings