OsonTopshir API
Loyiha holati: Hamkor API ishga tushirilmoqda. Quyidagi shartnoma (kontrakt) yakuniy v1 ko'rinishida, lekin kalitlar hozircha faqat tanlangan hamkorlarga beriladi.

Kreditlar va to'lov

Har bir xizmat uchun alohida limit (kredit) oldindan sotib olinadi. To'lov Click orqali amalga oshiriladi.

Tushuncha

  • 1 kredit = 1 ta buyurtma o'sha xizmat bo'yicha.
  • Kreditlar xizmat bo'yicha ajratilgan: taqdimot krediti bilan kurs ishi buyurtma qilib bo'lmaydi.
  • Hujjat hajmi (sahifa yoki slayd soni) narxga ta'sir qilmaydi. Hajm chegaralari har bir xizmat sahifasida ko'rsatilgan.
  • Buyurtma xato bilan tugasa (failed) yoki bekor qilinsa, kredit avtomatik qaytariladi.

Narxlar

XizmatKalit (service)1 kredit narxi
Kurs ishikurs_ishi15 000 so'm
Taqdimottaqdimot3 000 so'm
Mustaqil ish / referatmustaqil_ish, referatKelishuv asosida
TesttestKelishuv asosida
KrossvordkrossvordKelishuv asosida

Aniq narxlar hisobingiz yaratilganda shartnomada belgilanadi va GET /v1/credits javobida ko'rinadi.

Kredit balansi

GET/v1/credits

Barcha xizmatlar bo'yicha joriy qoldiq va narxlarni qaytaradi.

curl https://api.osontopshir.uz/partner/v1/credits \
  -H "Authorization: Bearer $OSONTOPSHIR_API_KEY"
requests.get(
    "https://api.osontopshir.uz/partner/v1/credits", headers=H
).json()
await (await fetch(
  "https://api.osontopshir.uz/partner/v1/credits", { headers: H }
)).json();
{
  "object": "credits",
  "balances": [
    {"service": "taqdimot", "credits": 18, "unit_price": 3000},
    {"service": "kurs_ishi", "credits": 4, "unit_price": 15000},
    {"service": "krossvord", "credits": 0, "unit_price": null}
  ]
}

Kredit sotib olish

POST/v1/credits/purchases

Click to'lov havolasini yaratadi. Foydalanuvchini (yoki o'zingizni) shu havolaga yo'naltiring. To'lov tasdiqlangach kreditlar balansga tushadi va credits.purchased webhooki yuboriladi.

servicestringmajburiy

Xizmat kaliti, masalan taqdimot.

quantityintegermajburiy

Sotib olinadigan kreditlar soni. Jami summa = quantity × unit_price.

return_urlstringixtiyoriy

To'lovdan so'ng qaytish manzili (HTTPS).

curl https://api.osontopshir.uz/partner/v1/credits/purchases \
  -H "Authorization: Bearer $OSONTOPSHIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service": "kurs_ishi", "quantity": 10}'
requests.post(
    "https://api.osontopshir.uz/partner/v1/credits/purchases",
    headers=H, json={"service": "kurs_ishi", "quantity": 10},
).json()
await (await fetch(
  "https://api.osontopshir.uz/partner/v1/credits/purchases",
  { method: "POST", headers: { ...H, "Content-Type": "application/json" },
    body: JSON.stringify({ service: "kurs_ishi", quantity: 10 }) }
)).json();
{
  "id": "pur_a12c90",
  "object": "credit_purchase",
  "service": "kurs_ishi",
  "quantity": 10,
  "amount": 150000,
  "currency": "UZS",
  "status": "pending",
  "payment_url": "https://my.click.uz/services/pay?..."
}

Kredit tugasa

Balans yetarli bo'lmasa, buyurtma yaratish 402 insufficient_credits xatosi bilan rad etiladi va hech narsa yechilmaydi. Kreditni oldindan tekshirib turish uchun GET /v1/credits dan yoki credits.low webhookidan foydalaning.