SMS infrastructure
Send SMS through your own phone and SIM.
Install the Android app, pair the phone, and call one REST endpoint from your CRM, Laravel app, or bot. No per-message carrier contract — your SIM does the sending.
curl -X POST https://chatvendor.net/api/v1/messages \
-H "Authorization: Bearer sms_live_xxxxxxxxxxxx" \
-d '{"to": "+998901234567", "message": "Your code is 483921"}'
How it works
-
01
Pair the phone
Scan a one-time code in the app. The phone gets its own credentials — your API keys never touch it.
-
02
Pick the SIM
Multi-SIM phones report every card. Choose which one sends, or set routing rules.
-
03
Call the API
One POST queues a message. Idempotency keys make retries safe.
-
04
Track delivery
Queued, assigned, sent, delivered — with a timeline showing exactly where each message went.
Built for production
Exactly once
A message is claimed atomically. Two workers can never hand the same SMS to two phones.
Honest statuses
Sent means the carrier took it. Delivered means the carrier confirmed it. We never fake the difference.
Expiry that matters
Set expires_in on an OTP and a stale code is dropped rather than arriving twenty minutes late.
SIM protection
Layered rate limits, down to per-SIM, so a loop in your code cannot flood a physical card.
Multi-device
Pair several phones. Route by device, least-busy, or round-robin, with failover.
Test mode
sms_test_ keys walk the whole flow without touching a SIM, so integration costs nothing.