IshonchSIM Partner API
REST API: HTTPS orqali JSON. Telegram raqamlarini o'z saytingiz, botingiz yoki do'koningiz orqali sotish uchun. Xaridlar saytdagi balansingizdan yechiladi.
Javob formati
Har bir javobda ok maydoni bor. Xatoda error (mashina uchun kod), message (odam uchun matn) va request_id. Narxlar butun son, so'mda. Vaqt: Unix soniya.
Autentifikatsiya
Kalitni har bir so'rovda Authorization sarlavhasida yuboring (yoki X-API-Key). Kalitni URL yoki brauzer kodiga qo'ymang: faqat serveringizda saqlang.
Authorization: Bearer osk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Limitlar
Har bir kalitga daqiqasiga 60 ta so'rov. Har bir javobda joriy holat sarlavhalarda keladi:
| X-RateLimit-Limit | Daqiqalik limit |
| X-RateLimit-Remaining | Qolgan so'rovlar |
| X-RateLimit-Reset | Necha soniyada bo'shaydi |
| Retry-After | 429 javobida: shuncha soniya kuting |
| X-Request-Id | So'rov identifikatori: yordamga murojaatda yuboring |
Idempotentlik
Xarid so'roviga Idempotency-Key sarlavhasini qo'shing (masalan o'z buyurtmangiz ID'si). Javob kelmay qolsa, xuddi shu kalit bilan qayta yuboring: xarid allaqachon bo'lgan bo'lsa, yangisi qilinmaydi, o'sha buyurtma qaytadi (Idempotent-Replayed: true).
Xatolar
{"ok": false, "error": "no_balance", "message": "Balans yetarli emas. Saytda hisobni to'ldiring", "price": 14800, "request_id": "req_3f9a1c2b7d4e8a10"}| 400 bad_json / bad_country / bad_section / bad_max_price | So'rov noto'g'ri tuzilgan |
| 401 bad_key | Kalit noto'g'ri yoki yuborilmagan |
| 402 expired | Kalit muddati tugagan: saytda uzaytiring |
| 402 no_balance | Balans yetmaydi: javobdagi price ni ko'ring |
| 403 pending / blocked | Kalit tasdiqlanmagan yoki bloklangan |
| 403 ip_denied | So'rov ruxsat etilmagan IP'dan keldi |
| 404 no_stock / not_found | Raqam yoki buyurtma yo'q |
| 409 price_changed / sold_out | Narx o'zgardi: javobdagi price bilan qayta urinib ko'ring |
| 409 busy | Oldingi xaridingiz hali tugamagan |
| 429 rate_limit / too_fast | Limitdan oshdi: Retry-After soniya kuting |
| 202 checking | Xarid tekshirilmoqda: /orders/{order_id} ni so'rang, pul yo'qolmaydi |
| 503 supply_error / disabled | Vaqtincha xizmat ko'rsatilmayapti: birozdan so'ng qayta urining |
Hisob
Hisob va kalit
Balans, kalit muddati va so'rovlar soni.
Parametrsiz.
curl "https://originsim.xuss.us/api/v1/me" \ -H "Authorization: Bearer $OSK_KEY"
import os, requests
headers = {"Authorization": f"Bearer {os.environ['OSK_KEY']}"}
r = requests.get("https://originsim.xuss.us/api/v1/me", headers=headers, timeout=30)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/me", {
headers: { "Authorization": `Bearer ${process.env.OSK_KEY}` },
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/me");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("OSK_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"username": "mybot",
"balance": 250000,
"key": {
"prefix": "osk_AbC12345",
"expires_at": 1794836867,
"requests": 1204
}
}
Sinab ko'rish
Holat
Kalitsiz: API ishlayotganini tekshirish.
Parametrsiz.
curl "https://originsim.xuss.us/api/v1/ping"
import os, requests
r = requests.get("https://originsim.xuss.us/api/v1/ping", timeout=30)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/ping", {
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/ping");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"version": "1.1",
"time": 1792244867
}
Sinab ko'rish
Katalog
Bo'limlar
Raqamlar toifalari: arzon, kafolatli, premium, toza, spamli.
Parametrsiz.
curl "https://originsim.xuss.us/api/v1/sections" \ -H "Authorization: Bearer $OSK_KEY"
import os, requests
headers = {"Authorization": f"Bearer {os.environ['OSK_KEY']}"}
r = requests.get("https://originsim.xuss.us/api/v1/sections", headers=headers, timeout=30)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/sections", {
headers: { "Authorization": `Bearer ${process.env.OSK_KEY}` },
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/sections");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("OSK_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"default": "arzon",
"sections": [
{
"id": "arzon",
"title": "Arzon raqamlar",
"description": "Mashhur sotuvchilardan eng arzon raqamlar: spamsiz ham, spamli ham"
}
]
}
Sinab ko'rish
Davlatlar
Davlatlar, raqamlar soni va taxminiy eng arzon narx. Soatda bir yangilanadi; sotib olishdan oldin aniq narxni /price dan oling.
Query parametrlari
| sectionstring | Bo'lim, standart: arzon |
curl "https://originsim.xuss.us/api/v1/countries?section=arzon" \ -H "Authorization: Bearer $OSK_KEY"
import os, requests
headers = {"Authorization": f"Bearer {os.environ['OSK_KEY']}"}
r = requests.get("https://originsim.xuss.us/api/v1/countries?section=arzon", headers=headers, timeout=30)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/countries?section=arzon", {
headers: { "Authorization": `Bearer ${process.env.OSK_KEY}` },
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/countries?section=arzon");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("OSK_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"section": "arzon",
"countries": [
{
"country": "UZ",
"name": "O'zbekiston",
"count": 15,
"min_price": 14800
}
]
}
Sinab ko'rish
Aniq narx
Hozirgi eng arzon narx va mavjudligi (jonli).
Query parametrlari
| country*string | ISO 3166 kodi, masalan UZ (majburiy) |
| sectionstring | Bo'lim, standart: arzon |
curl "https://originsim.xuss.us/api/v1/price?country=UZ§ion=arzon" \ -H "Authorization: Bearer $OSK_KEY"
import os, requests
headers = {"Authorization": f"Bearer {os.environ['OSK_KEY']}"}
r = requests.get("https://originsim.xuss.us/api/v1/price?country=UZ§ion=arzon", headers=headers, timeout=30)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/price?country=UZ§ion=arzon", {
headers: { "Authorization": `Bearer ${process.env.OSK_KEY}` },
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/price?country=UZ§ion=arzon");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("OSK_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"country": "UZ",
"section": "arzon",
"available": true,
"count": 15,
"price": 14800
}
Sinab ko'rish
Xarid
Raqam sotib olish
Shu davlatning eng arzon mos raqamini sotib oladi va darhol raqam, 2FA parol va Telethon sessiya satrini qaytaradi. Pul saytdagi balansingizdan yechiladi. max_price dan qimmat raqam hech qachon olinmaydi. Tarmoq uzilsa, xuddi shu Idempotency-Key bilan qayta yuboring: ikkinchi xarid bo'lmaydi.
Sarlavhalar
| Idempotency-Keystring | Takroriy so'rovdan himoya (tavsiya etiladi), masalan buyurtmangiz ID'si |
JSON tanasi
| country*string | ISO 3166 kodi (majburiy) |
| sectionstring | Bo'lim, standart: arzon |
| max_priceinteger | Eng ko'pi bilan shuncha so'm. Berilmasa: hozirgi eng arzon narx |
curl -X POST "https://originsim.xuss.us/api/v1/buy" \
-H "Authorization: Bearer $OSK_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1001" \
-d '{"country": "UZ", "max_price": 15000}'import os, requests
headers = {"Authorization": f"Bearer {os.environ['OSK_KEY']}"}
headers["Idempotency-Key"] = "order-1001"
r = requests.post("https://originsim.xuss.us/api/v1/buy", json={'country': 'UZ', 'max_price': 15000}, headers=headers, timeout=90)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/buy", {
method: "POST",
headers: { "Authorization": `Bearer ${process.env.OSK_KEY}`, "Content-Type": "application/json", "Idempotency-Key": "order-1001" },
body: JSON.stringify({"country": "UZ", "max_price": 15000}),
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/buy");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(["country" => "UZ", "max_price" => 15000]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("OSK_KEY"), "Content-Type: application/json", "Idempotency-Key: order-1001"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"order": {
"id": 812,
"status": "ok",
"country": "UZ",
"title": "O'zbekiston akkaunti",
"price": 14800,
"via": "api",
"created_at": 1792244867,
"phone": "+998901234567",
"password": null,
"session": "1BVtsOK4Bu..."
}
}
Buyurtmalar
Buyurtmalar ro'yxati
Oxirgi buyurtmalar, eng yangisidan.
Query parametrlari
| limitinteger | 1–100, standart 20 |
curl "https://originsim.xuss.us/api/v1/orders" \ -H "Authorization: Bearer $OSK_KEY"
import os, requests
headers = {"Authorization": f"Bearer {os.environ['OSK_KEY']}"}
r = requests.get("https://originsim.xuss.us/api/v1/orders", headers=headers, timeout=30)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/orders", {
headers: { "Authorization": `Bearer ${process.env.OSK_KEY}` },
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/orders");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("OSK_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"orders": [
{
"id": 812,
"status": "ok",
"country": "UZ",
"title": "O'zbekiston akkaunti",
"price": 14800,
"via": "api",
"created_at": 1792244867,
"phone": "+998901234567",
"password": null,
"session": "1BVtsOK4Bu..."
}
]
}
Sinab ko'rish
Bitta buyurtma
Holat: ok (tayyor), pending / review (tekshirilmoqda), failed (pul qaytarilgan).
Yo'l parametrlari
| id*integer | Buyurtma ID |
curl "https://originsim.xuss.us/api/v1/orders/812" \ -H "Authorization: Bearer $OSK_KEY"
import os, requests
headers = {"Authorization": f"Bearer {os.environ['OSK_KEY']}"}
r = requests.get("https://originsim.xuss.us/api/v1/orders/812", headers=headers, timeout=30)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/orders/812", {
headers: { "Authorization": `Bearer ${process.env.OSK_KEY}` },
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/orders/812");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("OSK_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"order": {
"id": 812,
"status": "ok",
"country": "UZ",
"title": "O'zbekiston akkaunti",
"price": 14800,
"via": "api",
"created_at": 1792244867,
"phone": "+998901234567",
"password": null,
"session": "1BVtsOK4Bu..."
}
}
Sinab ko'rish
Kirish kodi
Telegram ilovasida raqamga kod so'rang, 10–20 soniyadan so'ng shu yerdan oling. 5 soniyada bir martadan ko'p so'ramang.
Yo'l parametrlari
| id*integer | Buyurtma ID |
curl "https://originsim.xuss.us/api/v1/orders/812/code" \ -H "Authorization: Bearer $OSK_KEY"
import os, requests
headers = {"Authorization": f"Bearer {os.environ['OSK_KEY']}"}
r = requests.get("https://originsim.xuss.us/api/v1/orders/812/code", headers=headers, timeout=30)
data = r.json()
if not data["ok"]:
raise RuntimeError(data["error"] + ": " + data["message"])
print(data)const res = await fetch("https://originsim.xuss.us/api/v1/orders/812/code", {
headers: { "Authorization": `Bearer ${process.env.OSK_KEY}` },
});
const data = await res.json();
if (!data.ok) throw new Error(`${data.error}: ${data.message}`);
console.log(data);$ch = curl_init("https://originsim.xuss.us/api/v1/orders/812/code");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("OSK_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$data = json_decode(curl_exec($ch), true);
if (!$data["ok"]) throw new Exception($data["error"] . ": " . $data["message"]);
print_r($data);
{
"ok": true,
"codes": [
"52817"
]
}
Sinab ko'rish
To'liq misol: Python
Narxni tekshirish, idempotent xarid va kirish kodini kutish.
import os, time, uuid, requests
API = "https://originsim.xuss.us/api/v1"
S = requests.Session()
S.headers["Authorization"] = f"Bearer {os.environ['OSK_KEY']}"
def call(method, path, **kw):
r = S.request(method, API + path, timeout=90, **kw)
data = r.json()
if r.status_code == 429: # limit: kutib, qayta
time.sleep(int(r.headers.get("Retry-After", 5)))
return call(method, path, **kw)
if not data["ok"] and r.status_code != 202:
raise RuntimeError(f"{data['error']}: {data['message']} ({data['request_id']})")
return data
def buy(country, max_price, order_ref=None):
ref = order_ref or str(uuid.uuid4()) # o'z buyurtmangiz ID'si
for _ in range(3): # tarmoq uzilsa: xavfsiz qayta urinish
try:
return call("POST", "/buy", json={"country": country, "max_price": max_price},
headers={"Idempotency-Key": ref})["order"]
except requests.ConnectionError:
time.sleep(2)
price = call("GET", "/price", params={"country": "UZ"})["price"]
order = buy("UZ", max_price=price)
print(order["phone"], order["session"])