- Can I install archer/clickatell-bundle in a Laravel application?
- No. This is a Symfony bundle, not a Laravel package, so it has no Laravel service provider, configuration publishing, facade, or notification channel integration. Its Symfony bundle registration and dependency injection conventions do not exist in Laravel. Treat it only as reference source for Clickatell message-composition logic.
- Does this package support Laravel 9, 10, 11, or 12?
- No. The bundle targets Symfony 2.x-era conventions and PHP 5.3+, which cannot coexist with a supported Laravel 9 through 12 and PHP 8.x runtime. Composer may resolve unrelated code, but the package is not a Laravel dependency. Do not plan Laravel version support around this bundle.
- How do I send a Clickatell SMS from Laravel if this package is not usable?
- Build a thin Clickatell client with Guzzle or Laravel's HTTP client behind a notification channel contract, bind it in a service provider, expose it through a facade if needed, and dispatch sends through the queue. Target Clickatell's current REST API rather than the legacy HTTP endpoint used by this bundle. This gives you Laravel-native configuration caching, HTTP fakes, retries, and testability.
- Which Clickatell API does this bundle use?
- It targets Clickatell's legacy HTTP API at api.clickatell.com/http/sendmsg with user, password, and api_id query parameters. That API has been superseded by the REST API using /rest/message, an X-Version header, and bearer or API-key authentication. Even a clean install would produce a client that likely fails against the live vendor API.
- Is this package safe to use in production?
- It carries high technical risk: zero stars, zero dependents, no downstream validation, no issue history, and no maintenance community. Legacy Clickatell authentication also embeds username, password, and api_id in query strings, which can leak into proxy logs and APM traces. The legacy API can return HTTP 200 with an ERR body on failure, so a client that checks only transport status may silently report rejected messages as successes.
- How should I test a Clickatell SMS integration in Laravel?
- Do not try to test the Symfony bundle in Laravel. Test your own adapter with Laravel's Http::fake, asserting the outbound URL, authentication headers, JSON payload, recipient formatting, and sender ID. Cover both success responses and Clickatell ERR responses, and assert that queued jobs handle retries and failures correctly.
- Does this bundle handle delivery receipts, inbound SMS, retries, scheduling, or idempotency?
- There is no evidence that it supports any of those capabilities. The documented scope is one-way outbound send to one or more recipients. Product plans must not assume delivery receipts, two-way messaging, templating, scheduling, retries, observability, or idempotency, because those would be bespoke work regardless of this package.
- What alternatives should I evaluate instead of this Clickatell bundle?
- For Laravel, evaluate a small owned adapter against Clickatell's current REST API, or compare Twilio, MessageBird, and AWS SNS because integration cost is comparable and their maintenance profiles are stronger. For a legacy Symfony service, use the maintained Symfony Notifier Clickatell bridge instead of this bundle. If Clickatell is an inherited vendor rather than a signed commitment, run a short vendor comparison before writing code.
- What configuration does archer/clickatell-bundle expose?
- It exposes Clickatell credentials and sender defaults through Symfony bundle configuration and a container service for messaging. In Laravel you would instead use config files, environment variables, and a service provider, keeping secrets out of source control. Do not copy legacy query-string credential patterns into a new Laravel integration.
- How much effort is required to integrate or replace this package?
- Reframe the work item from integrating this bundle to using it as reference for a roughly 150 to 200 line owned adapter. Actual effort depends on Clickatell API version, queueing and retry requirements, delivery receipts, inbound messaging, and sender-ID registration. The important decision is to avoid adopting the bundle as a dependency and to own the Laravel-native client instead.