iFragment

Autentifikatsiya

X-API-Key sarlavhasidagi API kaliti va IP allowlist.

Kalitni qanday olish mumkin

Kalitlar dasturchi portalida beriladi, bizdan so'rash shart emas.

  1. Saytga Google orqali kiring va dasturchi portalini oching: /uz/dashboard.
  2. Ulanish anketasini to'ldiring: loyiha nomi, qayerda ishlashi (bot, sayt, ilova), hudud va aloqa uchun pochta. Kompaniya va birinchi Project darhol yaratiladi. Bitta akkaunt (Google yoki Telegram) bitta kompaniyaga egalik qiladi.
  3. Project'ni oching va kalit chiqaring (izoh ixtiyoriy, masalan prod yoki staging). Kalit faqat bir marta ko'rsatiladi: uni darhol serverning muhit o'zgaruvchilariga saqlang.

Shu portalda yana Project qo'shish, kalitni bekor qilish, vebxukni sozlash, buyurtmalar, balans va undagi harakatlarni ko'rish mumkin. Balansni biz to'ldiramiz: bizga yozing, portal uni faqat ko'rsatadi.

API kaliti

Har bir so'rov Project kalitini sarlavhada yuboradi:

X-API-Key: ifk_<clientId>_<secret>
  • clientId ochiq qism, kalitni biz u orqali topamiz; secret yuqori entropiyali sir. Biz faqat uning SHA-256 xeshini saqlaymiz, shuning uchun yo'qolgan kalitni tiklab bo'lmaydi: yangisini chiqaring.
  • Project'da bir nechta kalit bo'lishi mumkin: yangisini chiqaring, servisni unga o'tkazing, eskisini bekor qiling. Shunda kalit uzilishsiz almashtiriladi. Bekor qilish darhol kuchga kiradi.
  • Kalit o'z Project'idagi barcha buyurtmalarga va akkauntingiz balansiga kirish huquqini beradi. Uni mijoz kodiga (brauzer, mobil ilova, foydalanuvchi tomonidagi bot) va repozitoriyga qo'ymang, faqat serverning muhit o'zgaruvchilarida saqlang.

Sarlavha bo'lmasa yoki kalit noto'g'ri yoxud bekor qilingan bo'lsa, javob 401 bo'ladi.

const res = await fetch('https://api.ifragment.com/v1/balance', {
  headers: { 'X-API-Key': process.env.IFRAGMENT_KEY! },
});

IP allowlist

Project uchun ruxsat etilgan IP manzillar (yoki CIDR tarmoqlari) ro'yxatini yoqish mumkin. Shunda to'g'ri kalit bilan, lekin boshqa manzildan kelgan so'rov 403 oladi. Ishchi kalitlar uchun allowlist'ni yoqishni tavsiya qilamiz: sizib chiqqan kalit serveringizsiz foydasiz.

Joriy ro'yxat dasturchi portalidagi Project sahifasida ko'rinadi, uni so'rovingiz bo'yicha biz sozlaymiz va o'zgartiramiz. Agar NAT yoki bulutli balanslovchi ortida bo'lsangiz, serverning chiquvchi manzilini kiriting.

Idempotentlik

Resurs yaratuvchi barcha POST so'rovlar Idempotency-Key sarlavhasini talab qiladi (8 dan 128 gacha [A-Za-z0-9._:-] belgi). Bu kalit bir xil so'rov qayta yuborilganda ikkinchi buyurtma yaratilmasligini kafolatlaydi. Batafsil: Buyurtmalar.

GET
/v1/me

Returns the Project and Tenant the API key belongs to.

Authorization

apiKey
X-API-Key<token>

ifk_<clientId>_<secret>, for example ifk_48aa52d67c0fef6decb05b36_lVlZSWKN43sgb2vfEpFbqtzQ0ePNZya6yZr-RmJ4wxo

In: header

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/me"
{  "success": true,  "data": {    "projectId": "3b0c8f5e-2d41-4c6a-9f1e-7a5b2c9d4e10",    "tenantId": "8e2f4a6c-1b3d-4e5f-a7b9-c0d1e2f3a4b5",    "projectName": "Main bot"  },  "meta": {    "requestId": "9f1c2b7e-3a4d-4e5f-8a6b-7c8d9e0f1a2b",    "timestamp": "2026-10-06T09:15:22.481Z",    "processingTimeMs": 38  }}

Ushbu sahifada