Key Takeaways
- Kotlin against an Android SMS gateway API is REST: HTTPS JSON, Bearer, deviceIds. There is no official Kotlin/Maven SDK from us.
- Put the token on a server. A Play Store APK with a gateway Bearer is a stolen-radio incident waiting.
- Coroutines do not make GSM faster. Timeouts and DLR still apply.
- Isolate OTP deviceIds. Dual SIM is not two Kotlin clients.
- Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Free’s 300 SMS lifetime is a canary.
Kotlin talks HTTPS, not GSM
A Kotlin Android SMS gateway API integration is your backend speaking JSON. The paired phone still submits the PDU. Developer Center. SMS API documentation. Kotlin docs.
If the Bearer lives in the same APK users install from Play, you did not ship Kotlin. You shipped a stolen SIM waiting to happen.
Client vs radio
| Layer | Kotlin may | Must not |
|---|---|---|
| Product app | Call your API | Hold the gateway token |
| Backend | POST with deviceIds | Assume 201 is delivered |
| Gateway app | Stay paired, send SMS | Be replaced by a Ktor client |
| SIM | Spend operator credit | Share OTP with Black Friday CSVs |
OkHttp/Ktor, not a Kotlin SDK
Same rule as PHP samples and C# samples: copy the HTTPS shape, do not invent a package. Go webhooks if you receive DLR in another language.
First send from a backend
- Keep secrets on the server. Env / secret manager. Never BuildConfig.TOKEN in a client APK.
- POST JSON with deviceIds. Confirm names in Developer Center. Typical: POST /api/v1/messages.
- Timeout the HTTP call. Do not block a user request on GSM. Enqueue.
- Idempotency on user + challenge. A coroutine retry must not double-text.
- Map 201 to queued, DLR to outcome. Webhooks on Starter+; poll with backoff on Free.
- Staff canary on a charged phone. Then customer OTP. Isolate that deviceId.
Pairing: device setup. OTP verification. Delivery reports.
Do not put the Bearer in the Play app
The gateway Android app is the modem. Your consumer Kotlin app is unrelated. Reverse-engineered tokens drain airtime and platform volume.
Retries still spend pulsa
Service pricing is based on device count and total SMS sent through the gateway. You need a working Android phone with a SIM and SMS credit from your mobile operator. Operator message costs are yours—we do not sell carrier SMS balance. Paid from $19/month. Device and SMS volume pricing.
Next steps
Server-side OkHttp, isolated OTP radio, staff DLR. Then stop looking for implementation com.sms-gateway:kotlin-sdk.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy
- download the Android gateway appGet the APK





