- How do I install toneflix-code/kudi-sms-php in a Laravel app?
- Install it with Composer using composer require toneflix-code/kudi-sms-php, then publish the package config if the service provider exposes one. Laravel package auto-discovery should register the service provider and facade, so manual wiring in config/app.php is normally unnecessary. After publishing, add your KudiSMS credentials to .env rather than hardcoding them in the config file. Because the package has no external dependents yet, review the source and run a test send before rolling it out.
- Which Laravel and PHP versions does kudi-sms-php support?
- The package declares its supported PHP and Laravel versions in the require block of its composer.json, so check that file before adopting. Its most recent release is from July 2025, which makes current Laravel and PHP 8.2+ plausible, but that is not confirmed here. If your application is on PHP 8.4 or Laravel 12 and the constraint is too narrow, you can fork the package and widen it because the wrapper is small. Treat the version constraint check as a pre-adoption gate rather than an afterthought.
- How do I configure KudiSMS credentials in Laravel?
- Configuration typically follows the standard shape for this author's packages: a publishable config file with values read from environment variables, plus an API key or bearer token. Put the credentials in .env and reference them with env() inside the published config so they never end up in version control. Use a secrets manager in production and make sure config:cache runs as part of your deploy. Redact the API key and message bodies from logs and exception handlers.
- How do I send an SMS with the KudiSMS PHP wrapper?
- Sending is normally a single facade or injected-client call: pass the recipient and message, then inspect the returned delivery response. The package handles the HTTP dispatch to the KudiSMS gateway so you do not hand-craft Guzzle requests. Wrap the call in your own service or a Laravel notification channel instead of calling the facade directly from controllers. Queue the send in production so a slow gateway response does not block the request cycle.
- Can I fake kudi-sms-php in tests with Http::fake?
- If the package is built on Laravel's HTTP client, Http::fake() should intercept its outgoing calls and let you assert on the request payload without hitting the gateway. Verify this by reading the source, since a package using raw Guzzle or curl needs a different mocking strategy. If the repository has no test suite, budget time to write characterization tests that pin the expected endpoint, payload, and response mapping. Contract tests against a KudiSMS sandbox are worth more than mocks here.
- Is it safe to use a package with zero stars and no dependents?
- Zero stars and zero dependents means there is no peer-reported evidence that the wrapper works against the current KudiSMS API, so you are the first mover. The mitigating factor is that it is a thin SDK wrapper: if the maintainer abandons it, forking or reimplementing the send call is roughly a hundred lines of code. Pin the exact version, commit your lockfile, review the source before the first install, and enable Dependabot for update alerts. Then run a live test send against a sandbox or production account before trusting it.
- Does kudi-sms-php support delivery reports and bulk SMS?
- The available information does not confirm whether the package exposes delivery reports, balance and quota checks, sender-ID management, or per-recipient bulk status. Ask before adoption: can you confirm delivery or only submission, and must you loop for bulk sends? If the wrapper only covers fire-and-forget sending, you can still call the KudiSMS HTTP API directly for those operational endpoints. Keep vendor-specific response types out of your domain code so adding them later is cheap.
- How should I handle errors and retries with the KudiSMS wrapper?
- Thin wrappers often throw on any non-2xx response, which conflates retryable failures like 429 or 503 with permanent ones like 400 or 401. Wrap every call in your own adapter and normalize the outcome into a success, failure, or retryable result type your application understands. Add backoff and a capped retry count for transient errors, and never let an SMS failure roll back a business transaction. Log the vendor response, redacted, so you have incident data when something goes wrong.
- What is a good alternative to toneflix-code/kudi-sms-php?
- It depends on why you chose KudiSMS: if the vendor is fixed, using Laravel's HTTP client directly is a perfectly good replacement for a thin wrapper. If you just need SMS in Laravel, established packages and notification channels for providers like Twilio, Vonage, or Termii offer far more validation and documentation. Note that KudiSMS is a Nigerian aggregator, so if your recipients are outside West Africa the vendor decision matters much more than the wrapper. Hide whichever option you choose behind an application-owned SmsSender interface.
- How do I integrate kudi-sms-php cleanly into a Laravel application?
- Treat it as a leaf dependency at the edge of your domain: define an SmsSender port interface, implement it with a KudiSMS adapter, and call the port from a queued job or a Laravel notification channel. Do not let the package facade or Toneflix\KudiSms types leak into controllers, jobs, or domain services. This keeps the blast radius small if the vendor changes its payload or you switch providers. Expect roughly half a day to two days of work including tests for a competent Laravel engineer.