Dasturiy interfeys orqali serverlaringizni boshqaring.
5 daqiqalik o'qish
Mundarija
Profil → Xavfsizlik
«API kalitlar» bo'limini oching.
Yangi token
Nom bering va kerakli ruxsatlarni belgilang.
Nusxa oling
Token faqat bir marta ko'rsatiladi — uni xavfsiz joyda saqlang.
Tokenni oshkor qilmang
Token faqat o'zi yaratilgandagi ruxsatlar doirasida ishlaydi, lekin baribir sir saqlanadi. Uni GitHub'ga yoki ochiq chatga tashlamang. Tasodifan oshkor bo'lsa — darhol bekor qiling.
Har bir so'rovda tokenni Authorization sarlavhasida yuboring.
curl https://elitehost.uz/api/servers \
-H "Authorization: Bearer eh_live_xxxxxxxxxxxx"| Metod | Manzil | Vazifasi | Ruxsat |
|---|---|---|---|
| GET | /api/servers | Serverlaringiz ro'yxati | servers:read |
| GET | /api/servers/{id} | Bitta server haqida to'liq ma'lumot | servers:read |
| POST | /api/servers/{id}/power | Ishga tushirish / to'xtatish / qayta yuklash | servers:power |
| GET | /api/servers/{id}/backups | Backup ro'yxati | servers:read |
| GET | /api/billing/payments | To'lovlar tarixi | payments:read |
curl -X POST https://elitehost.uz/api/servers/SERVER_ID/power \
-H "Authorization: Bearer eh_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"signal":"restart"}'O'z saytingiz yoki botingizda mijozlaringizdan pul qabul qilib, uni EliteHost balansingizga tushirishingiz mumkin. Pul EliteHost kartasiga o'tadi, siz uni admin panelda tasdiqlaysiz — balansingizga yoziladi va saytingizga xabar boradi.
1. Kalit va callback
Profil → Xavfsizlik → API kalitlar. payments:write ruxsatini bering va callback manzilini kiriting — imzo kaliti (whsec_…) o'shanda beriladi.
2. To'lov yarating
Mijoz summani tanlaganda saytingiz POST /api/v1/payments chaqiradi va javobdagi karta ma'lumotini mijozga ko'rsatadi.
3. Mijoz pul o'tkazadi
Karta raqamiga o'tkazadi. Chek raqamini PATCH bilan qo'shsangiz tasdiqlash tezlashadi.
4. Siz tasdiqlaysiz
Admin panel → To'lovlar. Tasdiqlaganingizdan keyin pul balansingizga tushadi va saytingizga callback yuboriladi.
| Metod | Manzil | Vazifasi |
|---|---|---|
| GET | /api/v1/me | Hisob va balans — integratsiyani tekshirish uchun |
| GET | /api/v1/payment-methods | To'lov usullari va karta ma'lumotlari |
| POST | /api/v1/payments | Yangi to'lov yaratish |
| GET | /api/v1/payments | To'lovlar ro'yxati (?status=, ?externalId=) |
| GET | /api/v1/payments/{id} | Bitta to'lov holati |
| PATCH | /api/v1/payments/{id} | Chek yoki tranzaksiya raqamini qo'shish |
curl -X POST https://elitehost.uz/api/v1/payments \
-H "Authorization: Bearer eh_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"methodId": "TO_LOV_USULI_ID",
"amount": 50000,
"externalId": "ORDER-777",
"note": "Mijoz: Ali"
}'`externalId` — takrorlanishdan himoya
Bu sizning tomoningizdagi buyurtma raqami. Tarmoq uzilib so'rov ikki marta ketsa, ikkinchisida YANGI to'lov yaratilmaydi — eskisi qaytariladi (duplicate: true). Callbackda ham shu raqam qaytadi, ya'ni qaysi mijozga tegishli ekanini bilasiz.
To'lov tasdiqlangan yoki rad etilgan zahoti kalitdagi callback manziliga POST yuboriladi. Javob 2xx bo'lmasa uch marta qayta uriniladi (darhol, 5 soniya, 30 soniya).
{
"event": "payment.approved",
"paymentId": "cmxxxx...",
"reference": "EH-PAY-AB12CD",
"externalId": "ORDER-777",
"amount": 50000,
"bonusAmount": 0,
"currency": "UZS",
"status": "APPROVED",
"createdAt": "2026-09-19T10:00:00.000Z",
"reviewedAt": "2026-09-19T10:05:00.000Z",
"rejectionReason": null
}Imzoni ALBATTA tekshiring
Har bir so'rov X-EliteHost-Signature sarlavhasi bilan keladi — bu tananing HMAC-SHA256 hashi (kalit — sizdagi whsec_…). Tekshirmasangiz, istalgan odam soxta «to'lov tasdiqlandi» so'rovi yuborib, o'ziga bepul xizmat yozdirib oladi.
const crypto = require('crypto');
app.post('/elitehost/callback', express.raw({ type: 'application/json' }), (req, res) => {
const signature = req.header('X-EliteHost-Signature');
const expected = crypto
.createHmac('sha256', process.env.ELITEHOST_WEBHOOK_SECRET)
.update(req.body) // XOM tana — JSON.parse dan OLDIN
.digest('hex');
if (signature !== expected) return res.status(401).end();
const data = JSON.parse(req.body);
if (data.event === 'payment.approved') {
// data.externalId — sizdagi buyurtma raqami
creditCustomer(data.externalId, data.amount);
}
res.json({ ok: true });
});<?php
$body = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_ELITEHOST_SIGNATURE'] ?? '';
$expected = hash_hmac('sha256', $body, getenv('ELITEHOST_WEBHOOK_SECRET'));
if (!hash_equals($expected, $signature)) {
http_response_code(401);
exit;
}
$data = json_decode($body, true);
if ($data['event'] === 'payment.approved') {
creditCustomer($data['externalId'], $data['amount']);
}
echo json_encode(['ok' => true]);Callbackka yakka tayanmang
Saytingiz o'chgan yoki tarmoq uzilgan paytda xabar yetib bormasligi mumkin. Shubha bo'lsa GET /api/v1/payments/{id} bilan holatni o'zingiz so'rang — haqiqat manbai shu.
Barcha javoblar bir xil ko'rinishda qaytadi — muvaffaqiyat yoki xato.
// Muvaffaqiyatli
{ "ok": true, "data": { "id": "...", "name": "..." } }
// Xato
{ "ok": false, "error": { "code": "NOT_FOUND", "message": "Server topilmadi" } }Keyingi bo'lim
Minecraft server
Javob topolmadingizmi?
Qo'llab-quvvatlash xizmatiga yozing — odatda bir necha daqiqada javob beramiz.