Product Decisions This Supports
- Feature: Algeria phone verification and OTP. Supports onboarding, login step-up, password reset, and high-risk actions for Algerian users with built-in OTP generation, HMAC storage, expiry, attempt limits, resend throttling, and hourly caps.
- Feature: promotional SMS campaigns. Enables queued, batched marketing sends with opt-out suppression and Algeria quiet hours (21:00–08:00), reducing compliance and customer-experience risk.
- Localization and cost control. Arabic, French, and English message templates plus GSM-7/UCS-2 segment calculation and
gsm() accent conversion help product and finance forecast SMS cost per campaign.
- Build vs buy: Buy for the Algeria SMS abstraction, OTP lifecycle, opt-out registry, quiet hours, notification channel, validation rule, events, and test fake. Building these in-house would duplicate compliance and messaging plumbing before product-market fit.
- Roadmap fit: Good for an Algeria-first MVP or expansion into Algeria. It supports a phased roadmap: OTP first, then transactional notifications, then marketing campaigns after provider contracting and deliverability validation.
- Use cases: Customer registration verification, order/delivery notifications, authentication fallback, re-engagement campaigns, promotion blasts, and Laravel notification-based alerts for Algerian mobile numbers.
- Decision guardrail: Treat provider selection and integration as a product dependency. The generic
http driver and AlgeriaSms::extend() reduce lock-in, but the team must still contract a local provider and configure credentials/endpoints.
When to Consider This Package
- Consider it when the product targets Algeria and must handle Algerian mobile numbers across formats and carriers (Ooredoo, Mobilis, Djezzy).
- Consider it for a Laravel/PHP application that needs OTP, transactional SMS, or promotional SMS with compliance controls without building the workflow from scratch.
- Consider it when compliance requirements include opt-out management, quiet hours, rate limits, and auditable opt-out storage via
sms_opt_outs.
- Consider it when engineering needs testability through
AlgeriaSms::fake(), events, a notification channel, and a validation rule.
- Consider it when you want a driver-based abstraction:
log for development, generic HTTP for a contracted REST provider, custom drivers via extend(), and multiple named providers.
- Look elsewhere when the roadmap requires multi-country SMS beyond Algeria, global number validation, or carrier-grade routing across regions.
- Look elsewhere when you need bundled, certified provider drivers with delivery receipts and deep provider SLAs out of the box. This v1.0.0 relies on a generic HTTP driver or custom integration.
- Look elsewhere for full campaign management: visual journey builders, A/B testing, advanced analytics, inbox/two-way messaging, WhatsApp/RCS/voice, or cross-channel orchestration.
- Look elsewhere if the team cannot own provider contracting, endpoint configuration, and production monitoring, or if the stack is not Laravel/PHP.
- Treat the v1.0.0 and Arabic-first documentation as adoption risks: validate documentation fit for the engineering team and plan a pilot before broad rollout.
How to Pitch It (Stakeholders)
For executives: This package shortens time-to-market for Algeria SMS OTP and campaigns while embedding compliance controls that usually become costly custom work: opt-outs, quiet hours, rate limits, and localized templates. It reduces build-vs-buy risk for an Algeria-first product and gives finance a clearer view of SMS costs through segment calculation. Approve a limited pilot with one contracted provider before committing to broad campaigns.
For engineering: It is a Laravel-native package with drivers, queue support, migrations, events, a notification channel, validation rule, and AlgeriaSms::fake() for CI. The extension point and generic HTTP driver avoid hard provider lock-in, but v1.0.0 requires provider configuration and production monitoring. Start with the log driver in development, integrate one REST provider in staging, and verify opt-out, quiet-hours, and rate-limit behavior before launch.
For product/legal: The package supports Algeria-specific customer safeguards—opt-out registry, quiet hours, OTP attempt/resend limits—but legal should still review consent capture and campaign policy. Marketing sends should be gated behind opt-in provenance and monitored for deliverability and complaints.