Description
SMS Gateways – Multi-Provider SMS + OTP Plugin for Botble CMS
SMS Gateways – Multi-Provider SMS + OTP Plugin for Botble CMS is a production-grade, multi-provider SMS notification + OTP plugin for Botble CMS. It ships seven built-in drivers (Twilio, Vonage/Nexmo, AWS SNS, Plivo, Msg91, Fast2SMS, BulkSMSBD) with country-based driver routing auto-pick the cheapest driver per phone-number prefix — and integrates with six host plugins (ecommerce, marketplace, real-estate, job-board, car-manager, hotel) via Laravel events with zero host-plugin source edits.
Highlighted Features:
- Plug-and-Play Installation – Upload the zip, activate, paste credentials. No composer install needed — every driver uses pure HTTP via Laravel’s HTTP facade.
- 7 Built-in SMS Drivers – Twilio, Vonage (Nexmo), AWS SNS, Plivo, Msg91 (India DLT Flow), Fast2SMS (India), BulkSMSBD (Bangladesh) — and a smsg_driver_register filter hook for adding your own drivers without touching plugin source.
- Country-Based Driver Routing – Map E.164 prefixes to driver keys (e.g. +91 → Msg91, +880 → BulkSMSBD, +1 → Twilio, +44 → Vonage) with longest-prefix match. Save 60-80% on SMS cost for global ecom by routing each country to its cheapest local driver.
- Multi-Vertical Support – Works with ecommerce customers, marketplace vendors, real-estate accounts, job-board candidates / companies, car-manager customers, and hotel customers — all via Laravel events, zero host-plugin edits.
- OTP Subsystem – SHA-256 hashed code storage (never plaintext), configurable TTL + max attempts, per-phone hourly rate limit (brute-force hardening), opaque API tokens.
- Generic Submit-Gate OTP Pattern – One reusable abstract middleware/controller pair. Apply OTP confirmation to ecommerce checkout (reduce fake COD orders), job-board apply (reduce spam applications), car-manager booking (reduce fake test-drive requests), real-estate consult (reduce fake inquiries), hotel booking (reduce fake bookings) — all via the same pattern.
- Anonymous Order Tracking via Phone + OTP – Standard pattern for South-Asian / Middle-Eastern ecom: visitor enters order ID + phone, receives 6-digit code, then sees order detail. No email needed. Anti-enumeration: wrong phone+order pair still generates an OTP (no oracle).
- Templates Per Event × Locale × Subject – Every SMS body is admin-editable. Variable picker, GSM-7 / UCS-2 segment counter with cost estimate, live preview with sample data, per-template test-send to any phone.
- Delivery Logs – Every send tracked: status flow (queued → sending → sent → delivered / failed / rejected), provider message ID, cost, currency, retry count, error message, request/response payload. Filterable by status, driver, event, date range, phone wildcard. Bulk retry.
- Outbound Webhook CRUD – Multi-endpoint, per-endpoint HMAC-SHA256 secret, 6 lifecycle events (sms.queued / sms.sent / sms.delivered / sms.failed / sms.opted_out / otp.verified). Enable / disable without losing the URL. In-admin Test button.
- Inbound Provider Delivery Callbacks – Twilio HMAC-SHA1, Vonage HMAC-SHA256, AWS SNS X.509 (via openssl_verify), Plivo HMAC-SHA256, Fast2SMS token auth. Raw-body signature verification middleware (captures request bytes before Laravel body parsing). BulkSMSBD status is polled on a schedule since it lacks push delivery receipts.


