Key Takeaways
- A Laravel bulk send loop is queued HTTPS/JSON to a paired Android — chunk, delay, idempotency — not a Composer SMS SDK.
- Horizon worker count cannot invent radios. Concurrency above paired devices empties the voucher faster.
- Campaign jobs must not share the OTP queue.
- HTTP accept is not DLR. Persist ids; verify delivery separately.
- Developer Center owns live send fields. This page is pacing and failure modes.
- You bring the phone and operator credit. We meter devices and send volume.
Jobs pace a modem, not Redis
Laravel bulk send loops on an Android SMS gateway API are how you drain a contact chunk through HTTPS without hammering one SIM until OEM rate ceilings bite. Dispatch jobs, sleep between chunks, cap concurrency to paired devices. Link the API cornerstone and the Laravel SMS gateway hub— do not rewrite either.
A successful job batch is not a campaign. Delivery still has to leave the handset.
REST samples, not a Laravel SDK
Http:: with JSON is a sample. It is not a Complete Laravel SDK, not a Packagist product we sell, and not a substitute for Developer Center field names. Language cousins: PHP HTTPS/JSON samples. CodeIgniter workers are a different spoke; this one is Laravel queues.
Queue vs radio
| Layer | What it can do | What it cannot |
|---|---|---|
| Horizon / Redis | Buffer jobs, retry with backoff | Create extra SIMs |
| HTTP accept | Idempotent enqueue on the gateway | Prove DLR |
| Android radio | Actually send | Survive OEM sleep without exemption |
| Operator | Deliver (or reject) the PDU | Honor your Laravel timeout |
Chunk by hundreds, not the whole CSV in one request. E.164 every row. STOP lists before enqueue. See bulk SMS from Excel and CSV.
OTP is a different bus
Transactional codes need a high-priority queue and their own device pool when you have more than one radio. A marketing loop that shares the OTP worker will starve login. Idempotency keys on order/user id — retries must not double-text. Do not load-test Free: 1 device / 300 SMS lifetime / 300 contacts.
Cost
You bring the Android and operator SMS credit. We meter devices plus platform volume. Job retries burn airtime. Starter / Pro / Business uncap platform volume with device caps 2 / 5 / 15; Developer is 25,000 SMS/year on 1 device. See device and SMS volume pricing.
Checklist
- No SDK product language.
- Chunk + delay written in the job.
- Concurrency ≤ paired devices.
- OTP queue isolated.
- Idempotency key stored.
- DLR handled off the send job.
- STOP applied before enqueue.
- Airtime budget includes retries.
Next steps
Pair in the device setup guide, estimate the voucher on the Laravel operator-cost how-to, and confirm send fields in Developer Center.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- bulk SMS from Excel and CSVSpreadsheet campaigns
- bulk SMS with consent best practicesHigh-volume outreach
- SMS API documentationLive endpoint reference
- PHP REST send samplesPHP code examples





