Boshlash

  1. Kabinetga telefon raqam va SMS kod bilan kiring. Hisob va balans Örgon Maps bilan bitta.
  2. Balansni Kaspi orqali to‘ldiring (kamida 1 000 ₸). 1 SMS — 20 ₸.
  3. «Kalit yaratish» — kalit (osk_…) faqat bir marta ko‘rsatiladi, saqlab qo‘ying.
  4. Har bir so‘rovga Authorization: Bearer osk_… sarlavhasini qo‘shing. Kalitni URL’ga yozmang.
  5. Bir kalit — bitta qurilma. Serveringizning doimiy identifikatorini X-Device-Id sarlavhasida yuboring (yo‘q bo‘lsa, IP manzil olinadi). Boshqa qurilmadan so‘rov 403 oladi, 3 ta begona qurilmadan keyin kalit butunlay bloklanadi. Serverni almashtirsangiz, kabinetda «Qurilmani almashtirish» ni bosing (kuniga bir marta).

Bazaviy manzil: https://sms.orgon.kz. Javob JSON. So‘rovlarni faqat o‘z serveringizdan yuboring: brauzerdan (CORS) ishlamaydi, kalit sahifada ochiq qolsa, tarqalib bloklanadi.

SMS yuborish POST /v1/send

toQozog‘iston mobil raqami: +77011234567 (majburiy)
textmatn, 6 SMS qismigacha (majburiy)
testtrue — faqat tekshirish va narx, yuborilmaydi va pul yechilmaydi
curl https://sms.orgon.kz/v1/send -H "Authorization: Bearer $ORGON_SMS_KEY" -H "X-Device-Id: my-server-1" \
  -H "content-type: application/json" -d '{"to": "+77011234567", "text": "Kod: 4821"}'

{ "ok": true, "id": "4f1c…", "to": "+77011234567", "status": "sent", "parts": 1, "cost": 20, "balance": 4980, … }

Yetkazilganini bilish GET /v1/status

idsyuborishda olingan id, vergul bilan 100 tagacha (majburiy)
curl "https://sms.orgon.kz/v1/status?ids=4f1c…,9a2b…" -H "Authorization: Bearer $ORGON_SMS_KEY" -H "X-Device-Id: my-server-1"

{ "ok": true, "items": [ { "id": "4f1c…", "to": "+77011234567", "status": "delivered", "parts": 1, "cost": 20, … } ] }

Balans GET /v1/balance

curl https://sms.orgon.kz/v1/balance -H "Authorization: Bearer $ORGON_SMS_KEY" -H "X-Device-Id: my-server-1"

{ "ok": true, "balance": 4980, "price": 20 }

SMS qismlari va narx

Lotin harflari (GSM-7): bitta SMS’ga 160 belgi, uzun matn 153 belgilik qismlarga bo‘linadi; ^ { } [ ] ~ | € \ ikki belgi hisoblanadi. Kirill, qozoq harflari, ʻ yoki emoji bo‘lsa: 70 belgi, uzun matn 67 belgilik qismlarga. Har bir qism — 20 ₸. Matn 6 qismgacha. Narxni oldindan bilish uchun "test": true yuboring.

Holatlar

sentOperatorga yuborildi, yo‘lda
moderationOperator tekshiruvida (odatda bir necha daqiqa)
deliveredYetkazildi
undeliveredYetkazilmadi: telefon o‘chiq yoki muddati o‘tdi (24 soat)
rejectedOperator rad etdi: raqam yoki matn noto‘g‘ri
failedOperator qabul qilmadi — pul qaytarildi

Pul yuborishda yechiladi; operator qabul qilmasa (failed) qaytariladi, yetkazilmagan SMS uchun qaytarilmaydi.

Xatolar

401 keyKalit yo‘q, noto‘g‘ri yoki bekor qilingan
402 payment-requiredBalans yetarli emas (price — kerakli summa)
403 deviceKalit boshqa qurilmaga bog‘langan (left — bloklanishgacha qolgan begona qurilmalar)
403 key-blockedKalit 3 ta begona qurilmada ishlatilgani uchun bloklangan — yangi kalit oching
403 blockedHisob bloklangan
400 phoneRaqam noto‘g‘ri yoki Qozog‘iston mobil raqami emas
400 text / too-longMatn bo‘sh yoki 6 qismdan uzun
429 day-limitHisob uchun kunlik limit (standart 300)
429 recipient-limitBitta raqamga kuniga 10 tadan ko‘p
429 rate-limitBir kalit bilan sekundiga 5 tadan ko‘p so‘rov
502 sms-failedOperator qabul qilmadi — pul qaytarildi, qayta urinib ko‘ring

Faqat roziligi bor odamlarga yozing. Spam, roziliksiz reklama va firibgarlik uchun hisob bloklanadi.