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

  1. 01

    Pair the phone

    Scan a one-time code in the app. The phone gets its own credentials — your API keys never touch it.

  2. 02

    Pick the SIM

    Multi-SIM phones report every card. Choose which one sends, or set routing rules.

  3. 03

    Call the API

    One POST queues a message. Idempotency keys make retries safe.

  4. 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.