Перейти к содержимому
ChatVendor ChatVendor

SMS API

Одним POST ставите SMS в очередь; подключённый телефон отправляет её через SIM.

Скоупы: messages:send, messages:read, devices:read. Используйте заголовок Idempotency-Key, чтобы повторный запрос никогда не отправил дважды. Тестовые ключи (cv_test_) проходят весь процесс, не трогая SIM.

SMS

Поставьте SMS в очередь через свой Android-телефон, проверьте статус, получите список устройств.

Передайте ключ как bearer token и отправьте сообщение POST-ом; подключённый телефон отправит его через SIM. Ответ — 202 с id сообщения; статус смотрите через GET /messages/{id} или вебхуки.

Передавайте заголовок Idempotency-Key при каждой отправке: повтор с тем же ключом вернёт исходный ответ, а не отправит второе SMS. «Sent» — SIM передала сообщение оператору; «delivered» требует отчёта оператора, который возвращают не все.

Base URL: https://chatvendor.net/api/v1 · каждый ответ {"success": true, "data": …}

POST /messages Queue an SMS

Право: messages:send

Параметры

Idempotency-Keyheader · string

Retrying with the same key returns the original response instead of sending twice

Тело запроса (application/json)

tostringобязательно

International format; local numbers need default_region

messagestringобязательно
device_idstring

Send from this phone only — fails rather than silently using another

sim_idstring

A specific SIM of that device

prioritystring: low | normal | high

high jumps the queue; rate limits still apply

client_referencestring

Your own id, returned and filterable

schedule_atstring (date-time)

Send at this time (ISO 8601)

expires_ininteger

Seconds (30–86400): expires instead of arriving late

callback_urlstring (uri)

Per-message webhook (unsigned)

consent_categorystring: transactional | otp | notification | marketing
default_regionstring

Two-letter country for local-format numbers

Ответ 202 · SmsMessage

id stringto stringmessage stringstatus string: queued | scheduled | assigned | sent | delivered | failed | cancelled | expireddevice_id stringcreated_at string (date-time)

curl -X POST https://chatvendor.net/api/v1/messages \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
  -H "Content-Type: application/json" \
  -d '{"to":"+998901234567","message":"Your code is 483921"}'
GET /messages List SMS messages

Право: messages:read

Параметры

statusquery · string
toquery · string
device_idquery · string
client_referencequery · string
per_pagequery · integer

Ответ 200 · SmsMessage[]

id stringto stringmessage stringstatus string: queued | scheduled | assigned | sent | delivered | failed | cancelled | expireddevice_id stringcreated_at string (date-time)

curl https://chatvendor.net/api/v1/messages \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET /messages/{message} SMS status and timeline

Право: messages:read

Параметры

messagepath · stringобязательно

Message public id

Ответ 200 · SmsMessage

id stringto stringmessage stringstatus string: queued | scheduled | assigned | sent | delivered | failed | cancelled | expireddevice_id stringcreated_at string (date-time)

curl https://chatvendor.net/api/v1/messages/123 \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
POST /messages/{message}/cancel Cancel a queued SMS

Право: messages:send

Параметры

messagepath · stringобязательно

Message public id

Ответ 200 · SmsMessage

id stringto stringmessage stringstatus string: queued | scheduled | assigned | sent | delivered | failed | cancelled | expireddevice_id stringcreated_at string (date-time)

curl -X POST https://chatvendor.net/api/v1/messages/123/cancel \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET /devices List paired phones

Право: devices:read

Ответ 200 · Device[]

id stringname stringstatus stringlast_seen_at string (date-time)

curl https://chatvendor.net/api/v1/devices \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"
GET /devices/{device} One device

Право: devices:read

Параметры

devicepath · stringобязательно

Device public id

Ответ 200 · Device

id stringname stringstatus stringlast_seen_at string (date-time)

curl https://chatvendor.net/api/v1/devices/{device} \
  -H "Authorization: Bearer cv_live_xxxxxxxxxxxx"