Skip to content
ChatVendor ChatVendor

SMS gateway

Send SMS through your own phone and SIM

Install the ChatVendor app on an Android phone, pair it, and call one REST endpoint from your CRM, Laravel app or bot. Your SIM does the sending — no per-message carrier contract.

  • Free plan, no card
  • Uzbek, Russian, English
  • inPAY and MirPay
  • One REST API

Carrier SMS APIs are slow to get and expensive to keep

To send a one-time code from your app you normally need a contract with an SMS aggregator, a registered sender name, a monthly minimum and a week of paperwork. For a small business or a side project that is a wall.

Meanwhile a phone with an unlimited SMS plan sits in the office. It can send thousands of messages a month — it just cannot be called from code.

ChatVendor turns that phone into an API

The Android app pairs with your workspace by scanning a one-time code. From then on, POST /api/v1/messages queues a message, the phone picks it up over the internet and sends it through its SIM. Statuses come back — queued, sent, delivered — with a timeline for every message.

Several phones can be paired for capacity and failover, with routing by device, least-busy or round-robin. Rate limits protect every SIM from a loop in your code.

  • Exactly once — Messages are claimed atomically; two phones never send the same SMS.
  • Honest statuses — Sent means the carrier accepted it; delivered means the carrier confirmed it.
  • Test mode — cv_test_ keys walk the whole flow without touching a SIM.
  • Webhooks — message.sent, message.delivered, message.failed with an HMAC signature.

Three steps to your first SMS

  1. 01

    Pair the phone

    Install the app, scan the code from the dashboard. The phone gets its own credentials — your API key never touches it.

  2. 02

    Create an API key

    Keys have scopes (messages:send, messages:read…) and an environment: live or test.

  3. 03

    Call the API

    One POST with to and message. Use an Idempotency-Key so retries are safe.

Built for production

Multi-device

Pair several phones. Route by device, least-busy or round-robin, with automatic failover.

SIM protection

Layered rate limits down to per-SIM so a bug cannot flood a physical card.

Expiry that matters

Set expires_in on an OTP and a stale code is dropped instead of arriving late.

Bulk sends

Send to a list with scheduling and per-message callbacks.

Delivery timeline

Every state change with timestamps; delivery reports from the carrier when available.

SDKs

PHP SDK, WordPress plugin and OpenAPI 3.1 for any other language.

What people send

OTP and login codes

Codes with a short expiry and idempotent retries — the classic use.

Apps and websites

Order notifications

"Your order is ready", "courier is on the way" — triggered from your CRM.

Shops, delivery

Reminders

Appointment reminders the day before, sent from the clinic's own number.

Clinics, salons

SMS — questions

Which phones are supported?

Any Android 8+ phone with a SIM card. Dual-SIM phones report both cards and you choose which one sends.

How many SMS can one phone send?

That depends on your carrier tariff and the limits you set; hundreds to a few thousand per day is typical. Pair more phones for more capacity.

Is the phone secure?

The app only holds device credentials, not your API key. You can revoke a device from the dashboard at any time.

Can I receive SMS too?

Incoming messages on the paired phone are forwarded to your webhook as message.received (where the OS allows it).

What does it cost?

The Free plan includes one phone and a daily limit; paid plans add phones and volume. You pay your carrier for the SMS itself.

Your first SMS in five minutes

Create a free account, pair a phone, send a test message with a cv_test_ key.