Blesyum Core

hizmetler

18 uç · /api/v1/hizmetler

İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 18 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.

GET/api/v1/hizmetler

GET /api/v1/hizmetler?tur= — kiracının hizmetleri.

Oturum
İstek
curl -X GET "https://api.blesyum.com/api/v1/hizmetler" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler

POST /api/v1/hizmetler — sipariş + ilk ödeme denemesi. Sipariş HER durumda doğar

Oturum

(**201**): ödeme alınamadıysa fatura ve ödeme linki açık kalır; müşteri linkten (kart ya da havale) öder ve ödeme kurulumu settle'dan başlatır. Kapılar: kiracının ödenmemiş siparişi [ACIK_SIPARIS_TAVANI]ndan azsa (409 acik_siparis_siniri); aynı (paket · ad · dönem) [SIPARIS_TEKRAR_PENCERESI] içinde ya da aynı Idempotency-Key [IDEMPOTENCY_OMRU] içinde ikinci kez açılmaz (409 siparis_tekrar). Stok · kapasite · alan adı BAYAT bir siparişe takılırsa o sipariş serbest bırakılır.

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/hizmetler/{id}

GET /api/v1/hizmetler/{id} — HizmetOzet + ürün, ayrıntılar, olaylar, işler,

OturumYol parametresi: id

faturalar, yenileme tutarı, yükseltme seçenekleri, yeniden kurulum şablonları.

İstek
curl -X GET "https://api.blesyum.com/api/v1/hizmetler/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/hizmetler/{id}/canli

GET /api/v1/hizmetler/{id}/canli — sağlayıcıdan anlık durum (yalnız etkin/askıda;

OturumYol parametresi: id

değilse {}). Yanıt anlik::canlinın AYNISIDIR: ham sağlayıcı hatası zaten genel cümleye çevrilmiştir.

İstek
curl -X GET "https://api.blesyum.com/api/v1/hizmetler/<id>/canli" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/guc

POST /api/v1/hizmetler/{id}/guc — {islem: baslat|durdur|sifirla|kapat|yeniden_baslat}.

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/guc" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/iptal

POST /api/v1/hizmetler/{id}/iptal — {mod: donem_sonu | vazgec | siparis} →

OturumYol parametresi: id

{hizmet}. - donem_sonu: önce donem_sonu_iptal = true (işçinin kartı çekmesi durur), sonra AÇIK yenileme faturası (ve e-postayla gitmiş linki) iptal — ödemesi uçuştaysa (409) bayrak ve otomatik yenileme GERİ ALINIR ve 409 iletilir (link ödenip hizmeti uzatmasın). - vazgec: dönem sonu iptalini geri al. - siparis: ödenmemiş sipariş — ÖNCE açık faturalar iptal (ödemesi sürüyorsa 409, hiçbir şey değişmez), SONRA iptal. Ters sırada uçuştaki ödeme iptal siparişi yine kurardı (odeme_alindi_in_tx iptali de kabul eder).

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/iptal" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/konsol

POST /api/v1/hizmetler/{id}/konsol — 60 sn'lik tek kullanımlık konsol anahtarı. Anahtar

OturumYol parametresi: id

onu basan oturuma bağlanır: oturum kapanınca açık konsol da kapanır.

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/konsol" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/ode

POST /api/v1/hizmetler/{id}/ode — açık faturayı (sipariş · yenileme · yükseltme)

OturumYol parametresi: id

kayıtlı karttan çek; açık fatura yoksa etkin/askıdaki hizmette ERKEN yenileme faturası kes + çek → {odeme, hizmet, hizmet_id}. Yeni (erken) yenileme faturası kesilecekse hizmet başına [ERKEN_YENILEME_BEKLEMESI]lik bir kilit alınır (409 yakinda_yenilendi): ilk istek bitip dönemi uzattıktan SONRA gelen ikinci basış (yanıtı kaybolmuş ya da çift tık) açık fatura bulamaz ve yeni bir dönem keserdi. Redis'e ulaşılamazsa bu yol KAPALI kalır (503) — para yolu.

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/ode" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/otomatik-yenile

POST /api/v1/hizmetler/{id}/otomatik-yenile — {acik} → {otomatik_yenile}.

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/otomatik-yenile" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/panel-giris

POST /api/v1/hizmetler/{id}/panel-giris — etkin hosting hesabına tek tıkla cPanel/Plesk

OturumYol parametresi: id

girişi ({url}; yeni sekmede açılır).

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/panel-giris" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/parola-goster

POST /api/v1/hizmetler/{id}/parola-goster — {parola /*hesap parolası*/} →

OturumYol parametresi: id

{kullanici_adi, parola}. Denetime + olay defterine yazılır; yanıt ÖNBELLEĞE ALINMAZ.

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/parola-goster" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/parola-sifirla

POST /api/v1/hizmetler/{id}/parola-sifirla — {parola?} → 202 {is}. Hosting'te müşteri

OturumYol parametresi: id

parolayı seçebilir (iş verisine MÜHÜRLÜ girer); sunucuda parola güvenlik için rastgele üretilir — seçilen parola YOK SAYILMAZ, açıkça reddedilir (gösterilen kutu çalışır).

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/parola-sifirla" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/yeniden-kur

POST /api/v1/hizmetler/{id}/yeniden-kur — {sablon_id, onay, parola} → 202 {is}.

OturumYol parametresi: id

Sunucunun diski SİLİNİR: hizmetin adı birebir yazılır + hesap parolası (422).

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/yeniden-kur" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/{id}/yukselt

POST /api/v1/hizmetler/{id}/yukselt — {urun_id} → {odeme, hizmet, hizmet_id}. Ücretli

OturumYol parametresi: id

farkta fatura + kart çekimi (ödeme kancası paket_degistiri açar); ücretsiz farkta (dönem bitmek üzere) fatura KESİLMEZ, iş doğrudan eklenir — ÖNCE açık (ücretli) yükseltme faturası iptal edilir. Canlı iş ya da ödenmiş-uygulanmamış yükseltme (bekleyen_yukseltme, veri katmanının TEK tanımı) varken 409 is_suruyor.

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/<id>/yukselt" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/hizmetler/{id}/yukseltme

GET /api/v1/hizmetler/{id}/yukseltme?urun_id= — fark önizlemesi (billing'in TEK tanımı:

OturumYol parametresi: id

Yukseltme::hesapla + kirilim_oranla).

İstek
curl -X GET "https://api.blesyum.com/api/v1/hizmetler/<id>/yukseltme" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/hizmetler/katalog

GET /api/v1/hizmetler/katalog?tur= — satılabilir ürünler, KDV dahil fiyatlar, konum ve

Oturum

şablon seçenekleri, kayıtlı kart. Yalnız aktif ve fiyatı olan ürün; sunucuda kullanılabilir konum + şablonu olmayan ürün LİSTELENMEZ (seçilemeyecek bir paketi göstermek sözü tutulmayan bir vitrin olurdu). Stok (stok_var) ürünün tavanı + sunucuda boş IP, hosting'te uygun sunucu varlığından türer.

İstek
curl -X GET "https://api.blesyum.com/api/v1/hizmetler/katalog" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/hizmetler/konsol/ws

GET /api/v1/hizmetler/konsol/ws?k= — tarayıcı (noVNC) ↔ ESXi WebMKS aktarımı.

Oturum

Sıra: anahtar BİÇİMİ (yoksa 404) → WebSocket isteği mi (değilse anahtar YAKILMAZ) → anahtarı tüket (yoksa 410) → [konsol_yetkisi] → konsol bileti → ESXi'ye bağlan → ancak SONRA yükselt. ESXi'ye ulaşılamazsa HTTP 503 döner (yükseltilmiş bağlantıyı açıp hemen kapatmak noVNC'de "bağlandı, sonra koptu" görünür).

İstek
curl -X GET "https://api.blesyum.com/api/v1/hizmetler/konsol/ws" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/hizmetler/teklif

POST /api/v1/hizmetler/teklif — paket + ek kaynak için dönem fiyatı ÖNİZLEMESİ (sipariş

Oturum

AÇMAZ). Tutar sipariş ve faturayla AYNI fonksiyonlardan (urun::donem_toplami + kirilim_oranla): panel toplam HESAPLAMAZ, bu yanıtı çizer.

İstek
curl -X POST "https://api.blesyum.com/api/v1/hizmetler/teklif" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?