Tez boshlash
API kalitdan birinchi tayyor hujjatgacha — to'rt qadam.
1. API kalitni saqlang
Kalit sizga xavfsiz tarzda topshiriladi va faqat bir marta to'liq ko'rsatiladi. Uni server muhit o'zgaruvchisida saqlang, brauzer yoki mobil ilova kodiga qo'ymang.
export OSONTOPSHIR_API_KEY="ot_live_..."
2. Kredit sotib oling
Buyurtma berish uchun tegishli xizmat bo'yicha kredit bo'lishi kerak. To'lov havolasini oling va Click orqali to'lang:
curl https://api.osontopshir.uz/partner/v1/credits/purchases \
-H "Authorization: Bearer $OSONTOPSHIR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"service": "taqdimot", "quantity": 20}'
import os, requests
H = {"Authorization": f"Bearer {os.environ['OSONTOPSHIR_API_KEY']}"}
r = requests.post(
"https://api.osontopshir.uz/partner/v1/credits/purchases",
headers=H,
json={"service": "taqdimot", "quantity": 20},
)
print(r.json()["payment_url"])
const H = { Authorization: `Bearer ${process.env.OSONTOPSHIR_API_KEY}`, "Content-Type": "application/json" };
const r = await fetch("https://api.osontopshir.uz/partner/v1/credits/purchases", {
method: "POST",
headers: H,
body: JSON.stringify({ service: "taqdimot", quantity: 20 }),
});
console.log((await r.json()).payment_url);
To'lov tasdiqlangach kreditlar balansga tushadi. Kreditlar haqida batafsil.
3. Buyurtma yarating
curl https://api.osontopshir.uz/partner/v1/orders \
-H "Authorization: Bearer $OSONTOPSHIR_API_KEY" \
-H "Idempotency-Key: 5f1c0c1e-order-1001" \
-H "Content-Type: application/json" \
-d '{
"service": "taqdimot",
"params": {
"topic": "Sun'iy intellektning ta'limdagi o'rni",
"slides": 15,
"language": "uz"
},
"metadata": {"your_order_id": "1001"}
}'
import os, uuid, requests
r = requests.post(
"https://api.osontopshir.uz/partner/v1/orders",
headers={
"Authorization": f"Bearer {os.environ['OSONTOPSHIR_API_KEY']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"service": "taqdimot",
"params": {"topic": "Sun'iy intellektning ta'limdagi o'rni", "slides": 15, "language": "uz"},
"metadata": {"your_order_id": "1001"},
},
)
order = r.json()
print(order["id"], order["status"])
import { randomUUID } from "node:crypto";
const r = await fetch("https://api.osontopshir.uz/partner/v1/orders", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.OSONTOPSHIR_API_KEY}`,
"Idempotency-Key": randomUUID(),
"Content-Type": "application/json",
},
body: JSON.stringify({
service: "taqdimot",
params: { topic: "Sun'iy intellektning ta'limdagi o'rni", slides: 15, language: "uz" },
metadata: { your_order_id: "1001" },
}),
});
const order = await r.json();
console.log(order.id, order.status);
Javob 202 Accepted bo'ladi:
{
"id": "ord_8f3a1c9e2b",
"object": "order",
"service": "taqdimot",
"status": "queued",
"credits_charged": 1,
"created_at": "2026-10-14T09:30:00Z",
"result": null,
"metadata": {"your_order_id": "1001"}
}
4. Natijani oling
Ikki yo'l bor: webhook orqali xabar olish (tavsiya etiladi) yoki buyurtmani vaqti-vaqti bilan so'rash.
curl https://api.osontopshir.uz/partner/v1/orders/ord_8f3a1c9e2b \ -H "Authorization: Bearer $OSONTOPSHIR_API_KEY"
order = requests.get(
"https://api.osontopshir.uz/partner/v1/orders/ord_8f3a1c9e2b", headers=H
).json()
if order["status"] == "succeeded":
print(order["result"]["files"][0]["url"])
const order = await (await fetch(
"https://api.osontopshir.uz/partner/v1/orders/ord_8f3a1c9e2b", { headers: H }
)).json();
if (order.status === "succeeded") console.log(order.result.files[0].url);
So'rash oralig'i
Holatni so'raganda kamida 10 soniya kuting. Taqdimot odatda 1–3 daqiqa, kurs ishi 5–15 daqiqa oladi. Vaqt yuklamaga qarab o'zgaradi.