Key Takeaways
- Version your integration contract (payloads, auth, webhooks) independently of the Android APK.
- Do not ship a mobile update that breaks pairing and call it “API v2.”
- Idempotency keys and webhook signatures are part of the version — treat them as stable or bump.
- Link the phone-as-gateway hub; pin live fields to Developer Center.
- Platform pricing stays devices + send volume regardless of how many adapter versions you run.
Version the contract, not the phone
On a phone-as-gateway architecture, “version your integrations” usually means stop copy-pasting curl into five services. The phone is a modem. What bit-rots is the contract with the control plane: auth, JSON body, webhooks, and timeout behavior.
Hub cornerstone: Android phone as SMS gateway. Live fields: Developer Center. Pricing is devices plus SMS volume; BYO Android and operator credit. Free is 300 SMS lifetime. Samples on /codebase-php and /codebase-csharp are REST examples — pin a git tag of your wrapper.
Maturity steps
v0
Scattered curls
v1
One adapter
v2
Signed webhooks
v3
Idempotent OTP
Compatibility matrix
“If OTP and billing alerts share an unversioned helper, the next small payload tweak ships as an outage with a commit message that says refactor.”
| Layer | Version? | Why |
|---|---|---|
| HTTP adapter to POST /messages | Yes | Contract other services import |
| Webhook handler | Yes | Old consumers during rollout |
| OTP records in your DB | Migrate carefully | Product state, not transport |
| Android APK | Canary, not API semver | Radio client; retest pairing |
| Operator airtime / SIM | No | Still your bill |
| Plan SKU | No | Devices + volume independent of adapter vN |
Webhook event versions
Webhooks deliver DLR and inbound. Verify signatures. Persist event ids. New shapes: additive fields or a second endpoint until every consumer moves.
Keys and pairing
Rotate API keys on staff change. A new integration version should not force re-pairing every phone — that is the wrong layer. Pairing flow: setup.
Rollout without a silent outage
Feature-flag the adapter. Canary OTP on staff numbers. Watch failed webhook rates before 100% cutover. Never run two conflicting retry loops against the same verification row.
APK vs API version
APK updates fix radio behavior and OEM quirks. They are not a substitute for adapter semver. After each APK, canary send + DLR on one device before fleet-wide update.
Breaking changes
Required new fields, changed error codes, auth scheme changes, and webhook envelope renames are breaking. Renaming an internal helper is not. Document migrations in your changelog; do not dress a client bump as a carrier-airtime giveaway.
Changelog habits
One adapter package (or module) with a VERSION file. Link Developer Center for live fields. Note that platform meters stay devices + volume — adapter v3 does not unlock free carrier airtime.
Next steps
Return to hub overview, pricing, API docs.
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





