PixCloudAPI

Client API v1

PixCloud API

PixCloud API ile sunucu, sanal veri merkezi, web hosting, reseller ve alan adı siparişi verebilir; siparişlerinizi, hizmetlerinizi ve faturalarınızı kendi yazılımınızdan yönetebilirsiniz. RESTful ve JSON tabanlıdır; WHMCS ve WiseCP modülleri bu API üzerine kurulur.

  • Yalnızca HTTPS; istek ve yanıtlar JSON (UTF-8).
  • Tarihler ISO 8601 (UTC), tutarlar USD.
  • Kimlikler UUID’dir; sunucu planları ve işletim sistemleri katalogdaki kısa kimlikleri kullanır.
Taban adres
https://pixcloud.com.tr/api/v1/client
İlk istek
curl -s "https://pixcloud.com.tr/api/v1/client/ping" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"

Kimlik doğrulama

Her istekte Authorization: Bearer <anahtar> başlığını gönderin. Anahtarlar müşteri panelindeki API Erişimi sayfasından oluşturulur ve pxc_live_<önek>_<gizli> biçimindedir. Gizli kısım yalnızca oluşturma anında bir kez gösterilir.

Her anahtar yalnızca kendisine verilen yetkilerle (scope) çalışır:

account:readHesap bilgisi, cüzdan
catalog:readÜrün kataloğu ve fiyatlar
orders:readSiparişleri görüntüleme
orders:writeSipariş oluşturma, ödeme, iptal
services:readHizmetleri görüntüleme
services:writeGüç işlemleri, iptal talebi
invoices:readFaturaları görüntüleme
invoices:writeFaturayı bakiyeden ödeme
Authorization başlığı
Authorization: Bearer pxc_live_a1b2c3d4e5f6_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Yanıt yapısı

Başarılı yanıtlar kaynağın kendisini döner; ek bir sarmalayıcı yoktur. Başarı HTTP durum koduyla belirtilir: 200, oluşturmada 201, kuyruğa alınan işlemlerde 202.

Hatalarda gövde statusCode, message (metin veya doğrulama hatalarında metin dizisi) ve error alanlarını içerir.

Başarılı yanıt (200)
{
  "id": "3f6c…",
  "orderNumber": "482913507",
  "status": "active",
  "total": 7.99
}
Hata yanıtı (403)
{
  "statusCode": 403,
  "message": "Bu işlem için anahtarda 'orders:write' yetkisi gerekli",
  "error": "Forbidden"
}

Sayfalama

Sipariş ve fatura listeleri limit (1–200, varsayılan 50) ve offset sorgu parametreleriyle sayfalanır. Yanıt toplam kayıt sayısını total alanında döner; sonraki sayfa için offset değerini limit kadar artırın.

Sayfalı liste
{
  "total": 134,
  "limit": 50,
  "offset": 50,
  "data": [
    "…"
  ]
}

Idempotency

Tüm POST isteklerinde Idempotency-Key başlığı gönderebilirsiniz (en fazla 128 karakter, A-Z a-z 0-9 _ . : -). Ağ hatası veya zaman aşımında aynı anahtarla tekrar denediğinizde işlem ikinci kez yapılmaz; ilk yanıt Idempotent-Replayed: true başlığıyla döner. Anahtarlar 24 saat saklanır.

Aynı anahtarla farklı gövde gönderilirse 422, ilk istek hâlâ işleniyorsa 409 döner. WHMCS / WiseCP’de hizmet kimliğini anahtar olarak kullanmanız önerilir.

Ücretli işlemlerde mutlaka kullanın

Sipariş ve ödeme isteklerinde Idempotency-Key kullanmamak, ağ hatasında çift sipariş / çift ödeme riskine yol açar.
Güvenli tekrar deneme
curl -s -X POST "https://pixcloud.com.tr/api/v1/client/orders" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY" \
  -H "Idempotency-Key: whmcs-service-1042" \
  -H "Content-Type: application/json" \
  -d '{ "type": "vm", "planId": "vps-start", "osId": "ubuntu", "hostname": "srv-1042" }'

# Aynı istek tekrar gönderilirse ikinci sipariş oluşmaz:
# HTTP/1.1 201  Idempotent-Replayed: true

Asenkron işlemler

Sunucu güç işlemleri kuyruğa alınır ve 202 Accepted döner. Sonucu GET /services/vm/{id} yanıtındaki vm.powerStatus alanından izleyin.

Sipariş kurulumu da arka planda yürür: GET /orders/{id} yanıtında fulfillment.status sırasıyla pending → processing → fulfilled olur (hata durumunda failed; ekibimiz otomatik bilgilendirilir). Oluşan hizmet kimlikleri items[].serviceIds içinde yer alır. 10–30 saniyelik aralıklarla sorgulamanız yeterlidir.

202 Accepted
{
  "accepted": true,
  "action": "reboot",
  "jobId": "b41f…"
}

Hız sınırı

Anahtar başına dakikada 120 istek, bunların en fazla 30’u yazma (POST) olabilir. Her yanıt X-RateLimit-Limit ve X-RateLimit-Remaining başlıklarını taşır. Sınır aşıldığında 429 döner; Retry-After başlığındaki saniye kadar bekleyin.

Geçersiz anahtarla yapılan denemeler IP adresi başına ayrıca sınırlanır (10 dakikada 30 hatalı deneme).

Yanıt başlıkları
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 117

# Sınır aşıldığında
HTTP/1.1 429 Too Many Requests
Retry-After: 23

Güvenlik

Özetle saklama

Anahtarlar yalnızca sunucuya özel HMAC özeti olarak tutulur; kaybedilen anahtar geri getirilemez.

En az yetki

Her entegrasyon için ayrı anahtar oluşturun, yalnızca gereken yetkileri verin.

IP kısıtlaması

Anahtarı sunucunuzun IP’si veya CIDR bloğuyla sınırlayın; diğer adresler 403 alır.

Son kullanma

Anahtara bitiş tarihi verin; panelden anında iptal edin.

Denetim kaydı

Tüm yazma işlemleri anahtar ve IP bilgisiyle kaydedilir.

Asla

Anahtarı tarayıcı koduna, mobil uygulamaya veya kod deposuna koymayın; TLS doğrulamasını kapatmayın.

Hata kataloğu

400Bad RequestEksik veya hatalı alan, geçersiz plan / işletim sistemi, yetersiz bilgi
401UnauthorizedAPI anahtarı yok, geçersiz, iptal edilmiş veya süresi dolmuş
403ForbiddenAnahtarda gerekli yetki yok, IP adresi izinli değil veya API erişimi kapalı
404Not FoundKayıt bulunamadı (başka bir hesaba ait kayıtlar da 404 döner)
409ConflictAynı Idempotency-Key ile bir istek hâlâ işleniyor
422Unprocessable EntityIdempotency-Key farklı bir istek gövdesiyle tekrar kullanılmış
429Too Many Requestsİstek sınırı aşıldı; Retry-After başlığındaki süre kadar bekleyin
5xxServer ErrorGeçici sunucu hatası; aynı Idempotency-Key ile güvenle tekrar deneyin
Doğrulama hatası (400)
{
  "statusCode": 400,
  "message": [
    "hostname gerekli",
    "osId geçersiz"
  ],
  "error": "Bad Request"
}

WHMCS modülü

yakında

Hazır WHMCS sunucu modülü yakında yayınlanacak. O zamana kadar kendi modülünüzü aşağıdaki eşleşmelerle API üzerine kurabilirsiniz:

CreateAccountPOST /orders
Durum senkronizasyonuGET /orders/{id} · GET /services/{type}/{id}
Güç düğmeleriPOST /services/vm/{id}/{action}
TerminateAccountPOST /services/{type}/{id}/cancel
Test ConnectionGET /ping
whmcs-ornek.php
<?php
// WHMCS / WiseCP sunucu modülü için örnek istemci
function pixcloud(string $method, string $path, ?array $body = null, ?string $idem = null): array {
    $ch = curl_init('https://pixcloud.com.tr/api/v1/client' . $path);
    $headers = [
        'Authorization: Bearer ' . getenv('PIXCLOUD_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
    ];
    if ($idem) $headers[] = 'Idempotency-Key: ' . $idem;
    curl_setopt_array($ch, [
        CURLOPT_CUSTOMREQUEST  => $method,
        CURLOPT_HTTPHEADER     => $headers,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT        => 60,
        CURLOPT_SSL_VERIFYPEER => true,   // asla kapatmayın
        CURLOPT_POSTFIELDS     => $body ? json_encode($body) : null,
    ]);
    $res  = json_decode(curl_exec($ch), true);
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if ($code >= 400) throw new Exception(is_array($res['message'] ?? null) ? implode(', ', $res['message']) : ($res['message'] ?? 'API hatası'));
    return $res;
}

// CreateAccount: hizmet kimliğini Idempotency-Key olarak kullanın
$r = pixcloud('POST', '/orders', [
    'type' => 'vm', 'planId' => 'vps-start', 'osId' => 'ubuntu',
    'hostname' => 'srv-' . $params['serviceid'], 'paymentMethod' => 'wallet',
], 'whmcs-service-' . $params['serviceid']);
$orderId = $r['order']['id'];   // hizmetin özel alanına kaydedin

WiseCP modülü

yakında

WiseCP için ürün modülü hazırlanıyor. WHMCS bölümündeki uç nokta eşleşmeleri ve PHP istemcisi WiseCP için de aynen geçerlidir.

Kaynak

Hesap

Anahtarın doğrulanması, hesap bilgileri ve cüzdan bakiyesi.

yetki gerekmez

Anahtarı doğrula

GET/ping

Anahtarın geçerli olduğunu ve sahip olduğu yetkileri döner. Entegrasyonunuzun “Bağlantıyı test et” düğmesi için idealdir.

curl -s "https://pixcloud.com.tr/api/v1/client/ping" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "ok": true,
  "tenantId": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
  "scopes": [
    "account:read",
    "catalog:read",
    "orders:read",
    "orders:write"
  ],
  "time": "2026-10-06T09:00:00.000Z"
}
account:read

Hesap bilgisi

GET/account

Hesap adı, e-posta, dil, para birimi, cüzdan bakiyesi ve kullanılan anahtarın yetkileri.

curl -s "https://pixcloud.com.tr/api/v1/client/account" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
  "name": "Örnek Bilişim",
  "email": "it@ornek.com",
  "locale": "tr",
  "currency": "USD",
  "wallet": {
    "balance": 120.5,
    "credits": 0,
    "available": 120.5
  },
  "apiKey": {
    "id": "7c2e…",
    "scopes": [
      "account:read"
    ]
  }
}
account:read

Cüzdan

GET/wallet

Cüzdan bakiyesi, kullanılabilir kredi ve son hesap hareketleri.

curl -s "https://pixcloud.com.tr/api/v1/client/wallet" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "walletBalance": 120.5,
  "referralCredits": 0,
  "totalAvailable": 120.5,
  "usdtDepositAddress": "TQx…",
  "recentTransactions": [
    {
      "type": "credit",
      "amount": 100,
      "description": "USDT yatırımı",
      "createdAt": "2026-10-05T14:02:11.000Z"
    }
  ]
}

Kaynak

Katalog

Satıştaki ürünler ve güncel fiyatlar. Sipariş verirken kullanacağınız tüm kimlikler (planId, osId, regionId, addonIds, TLD) buradan alınır.

catalog:read

Ürünler ve fiyatlar

GET/catalog

Sunucu planları (bölgeler, eklentiler, işletim sistemleri), hosting ve reseller paketleri, sanal veri merkezi paketleri, alan adı uzantıları ve aktif ödeme yöntemleri.

Notlar

  • Fiyatlar her zaman sunucu tarafında yeniden hesaplanır; istemcinin gönderdiği tutar kullanılmaz.
  • Katalog sık değişmez; 5–15 dakika önbelleğe almanız önerilir.
curl -s "https://pixcloud.com.tr/api/v1/client/catalog" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "currency": "USD",
  "servers": {
    "plans": [
      {
        "id": "vps-start",
        "name": "VPS Start",
        "cpuCores": 2,
        "memoryMb": 2048,
        "diskGb": 40,
        "monthlyPrice": 7.99,
        "yearlyPrice": 76.7,
        "regions": [
          "tr-ist"
        ]
      }
    ],
    "regions": [
      {
        "id": "tr-ist",
        "name": "İstanbul"
      }
    ],
    "addons": [
      {
        "id": "backup",
        "label": "Günlük yedek",
        "monthly": 2,
        "yearly": 20
      }
    ],
    "operatingSystems": [
      {
        "id": "ubuntu",
        "name": "Ubuntu 24.04",
        "type": "linux",
        "version": "24.04"
      }
    ]
  },
  "hosting": [
    {
      "id": "…",
      "name": "Web Hosting Pro",
      "monthlyPrice": 4.99
    }
  ],
  "reseller": [
    "…"
  ],
  "vdc": [
    "…"
  ],
  "domains": [
    {
      "tld": "com",
      "registerPrice": 14.99,
      "transferPrice": 14.99,
      "renewPrice": 14.99
    }
  ],
  "paymentMethods": [
    {
      "code": "wallet",
      "name": "Cüzdan bakiyesi"
    },
    {
      "code": "bank_transfer",
      "name": "Havale / EFT"
    },
    {
      "code": "crypto",
      "name": "USDT (TRC-20)"
    }
  ]
}

Kaynak

Siparişler

Sunucu, hosting, reseller, sanal veri merkezi ve alan adı siparişi verin; siparişlerinizi ödeyin, izleyin ve iptal edin. API siparişleri sitedeki siparişlerle aynı akıştan geçer: aynı faturalar, e-postalar, kurulum ve yenileme kuralları.

orders:read

Siparişleri listele

GET/orders

En yeni sipariş en üstte olacak şekilde sayfalı liste.

Sorgu parametreleri

statusstring

pending · active · cancelled · fraud

limitinteger

1–200, varsayılan 50

offsetinteger

Atlanacak kayıt sayısı, varsayılan 0

curl -s "https://pixcloud.com.tr/api/v1/client/orders?status=pending&limit=20" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "total": 1,
  "limit": 20,
  "offset": 0,
  "data": [
    {
      "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
      "orderNumber": "482913507",
      "createdAt": "2026-10-06T09:12:44.000Z",
      "status": "pending",
      "source": "cart",
      "paymentMethod": "bank_transfer",
      "total": 7.99,
      "items": [
        {
          "type": "vm",
          "label": "VPS Start",
          "description": "web-01 · Ubuntu 24.04",
          "quantity": 1,
          "amount": 7.99,
          "cycle": "monthly",
          "serviceIds": [
            "9a1e…"
          ],
          "status": "active"
        }
      ],
      "notes": null,
      "activatedAt": "2026-10-06T09:12:45.000Z",
      "fulfillment": null,
      "invoice": {
        "id": "5b7d…",
        "invoiceNumber": "PIX-100245",
        "status": "open",
        "amount": 7.99,
        "balanceDue": 7.99,
        "dueAt": "2026-10-06T09:12:44.000Z",
        "paidAt": null
      }
    }
  ]
}
orders:read

Sipariş detayı

GET/orders/{id}

Kalemler, oluşturulan hizmetlerin kimlikleri (items[].serviceIds), fatura ve kurulum durumu (fulfillment.status: pending · processing · fulfilled · failed).

Yol parametreleri

iduuidzorunlu

Sipariş kimliği

curl -s "https://pixcloud.com.tr/api/v1/client/orders/3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
  "orderNumber": "482913507",
  "createdAt": "2026-10-06T09:12:44.000Z",
  "status": "active",
  "source": "cart",
  "paymentMethod": "wallet",
  "total": 7.99,
  "items": [
    {
      "type": "vm",
      "label": "VPS Start",
      "description": "web-01 · Ubuntu 24.04",
      "quantity": 1,
      "amount": 7.99,
      "cycle": "monthly",
      "serviceIds": [
        "9a1e…"
      ],
      "status": "active"
    }
  ],
  "notes": null,
  "activatedAt": "2026-10-06T09:12:45.000Z",
  "fulfillment": {
    "status": "processing",
    "error": null
  },
  "invoice": {
    "id": "5b7d…",
    "invoiceNumber": "PIX-100245",
    "status": "paid",
    "amount": 7.99,
    "balanceDue": 0,
    "dueAt": "2026-10-06T09:12:44.000Z",
    "paidAt": "2026-10-06T09:12:45.000Z"
  }
}
ÜcretliIdempotentorders:write

Sipariş oluştur

POST/orders

type alanına göre sipariş verir. paymentMethod=wallet (varsayılan) ise sipariş bakiyeden hemen ödenir ve kurulum başlar; bakiye yetmezse sipariş bekler ve bakiye yüklendiğinde otomatik ödenir. bank_transfer veya crypto seçilirse sipariş ödeme bekler, ödeme gelince otomatik kurulur.

Başlıklar

Idempotency-Keystring

Tekrar denenen isteğin işlemi ikinci kez yapmasını önler (24 saat). Önerilir.

Gövde (JSON)

typestringzorunlu

vm · hosting · reseller · vdc · domain

planIdstringzorunlu

GET /catalog’dan plan kimliği (domain hariç)

osIdstring

vm için zorunlu — ör. ubuntu, debian, windows-server-2022

hostnamestring

vm için zorunlu

domainstring

hosting, reseller ve domain için zorunlu

billingstring

monthly (varsayılan) · yearly

quantityinteger

vm için 1–10 adet

rootPasswordstring

vm; en az 12 karakter. Verilmezse güçlü şifre üretilir

regionId · addonIdsstring · string[]

vm; varsayılan planın ilk bölgesi

domainMode · domainYears · authCodestring · integer · string

hosting/reseller: existing · register · transfer

action · years · nameservers · privacystring · integer · string[] · boolean

domain: register · transfer

codestring

Kampanya / kupon kodu (hosting, reseller, vdc)

paymentMethodstring

wallet (varsayılan) · bank_transfer · crypto — alan adı siparişleri yalnızca wallet

Notlar

  • credentials (root şifresi veya cPanel bilgileri) yalnızca bu yanıtta bir kez döner; güvenli şekilde saklayın.
  • Bakiye yetersizse 201 döner, order.status=pending ve paymentError alanı bulunur.
  • Alan adı siparişlerinde hesapta varsayılan kayıt sahibi (registrant) bilgisi olmalıdır.
curl -s -X POST "https://pixcloud.com.tr/api/v1/client/orders" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "type": "vm", "planId": "vps-start", "osId": "ubuntu", "hostname": "web-01", "billing": "monthly", "paymentMethod": "wallet" }'
201 CreatedYanıt
{
  "order": {
    "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
    "orderNumber": "482913507",
    "createdAt": "2026-10-06T09:12:44.000Z",
    "status": "active",
    "source": "cart",
    "paymentMethod": "wallet",
    "total": 7.99,
    "items": [
      {
        "type": "vm",
        "label": "VPS Start",
        "description": "web-01 · Ubuntu 24.04",
        "quantity": 1,
        "amount": 7.99,
        "cycle": "monthly",
        "serviceIds": [
          "9a1e…"
        ],
        "status": "active"
      }
    ],
    "notes": null,
    "activatedAt": "2026-10-06T09:12:45.000Z",
    "fulfillment": {
      "status": "processing",
      "error": null
    },
    "invoice": {
      "id": "5b7d…",
      "invoiceNumber": "PIX-100245",
      "status": "paid",
      "amount": 7.99,
      "balanceDue": 0,
      "dueAt": "2026-10-06T09:12:44.000Z",
      "paidAt": "2026-10-06T09:12:45.000Z"
    }
  },
  "credentials": [
    {
      "hostname": "web-01",
      "username": "root",
      "rootPassword": "Gx7…"
    }
  ]
}
ÜcretliIdempotentorders:write

Bakiyeden öde

POST/orders/{id}/pay

Bekleyen siparişin faturasını cüzdan bakiyesinden öder ve kurulumu hemen başlatır.

Yol parametreleri

iduuidzorunlu

Sipariş kimliği

Başlıklar

Idempotency-Keystring

Tekrar denenen isteğin işlemi ikinci kez yapmasını önler (24 saat). Önerilir.

curl -s -X POST "https://pixcloud.com.tr/api/v1/client/orders/3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f/pay" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
200 OKYanıt
{
  "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
  "orderNumber": "482913507",
  "createdAt": "2026-10-06T09:12:44.000Z",
  "status": "active",
  "source": "cart",
  "paymentMethod": "wallet",
  "total": 7.99,
  "items": [
    {
      "type": "vm",
      "label": "VPS Start",
      "description": "web-01 · Ubuntu 24.04",
      "quantity": 1,
      "amount": 7.99,
      "cycle": "monthly",
      "serviceIds": [
        "9a1e…"
      ],
      "status": "active"
    }
  ],
  "notes": null,
  "activatedAt": "2026-10-06T09:12:45.000Z",
  "fulfillment": {
    "status": "processing",
    "error": null
  },
  "invoice": {
    "id": "5b7d…",
    "invoiceNumber": "PIX-100245",
    "status": "paid",
    "amount": 7.99,
    "balanceDue": 0,
    "dueAt": "2026-10-06T09:12:44.000Z",
    "paidAt": "2026-10-06T09:12:45.000Z"
  }
}
Idempotentorders:write

Siparişi iptal et

POST/orders/{id}/cancel

Yalnızca ödenmemiş (pending) siparişler iptal edilebilir; bağlı fatura da iptal edilir.

Yol parametreleri

iduuidzorunlu

Sipariş kimliği

Başlıklar

Idempotency-Keystring

Tekrar denenen isteğin işlemi ikinci kez yapmasını önler (24 saat). Önerilir.

curl -s -X POST "https://pixcloud.com.tr/api/v1/client/orders/3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f/cancel" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
200 OKYanıt
{
  "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
  "orderNumber": "482913507",
  "createdAt": "2026-10-06T09:12:44.000Z",
  "status": "cancelled",
  "source": "cart",
  "paymentMethod": "wallet",
  "total": 7.99,
  "items": [
    {
      "type": "vm",
      "label": "VPS Start",
      "description": "web-01 · Ubuntu 24.04",
      "quantity": 1,
      "amount": 7.99,
      "cycle": "monthly",
      "serviceIds": [
        "9a1e…"
      ],
      "status": "active"
    }
  ],
  "notes": null,
  "activatedAt": "2026-10-06T09:12:45.000Z",
  "fulfillment": null,
  "invoice": {
    "id": "5b7d…",
    "invoiceNumber": "PIX-100245",
    "status": "void",
    "amount": 7.99,
    "balanceDue": 0,
    "dueAt": "2026-10-06T09:12:44.000Z",
    "paidAt": null
  }
}

Kaynak

Hizmetler

Sunucu, sanal veri merkezi, hosting, reseller ve alan adı hizmetleriniz. Ödeme bekleyen sipariş kalemleri de status=pending_payment ile listelenir.

services:read

Hizmetleri listele

GET/services

Aktif, askıda, bekleyen ve pasif tüm hizmetler.

Sorgu parametreleri

typestring

vm · vdc · hosting · reseller · domain

statusstring

active · suspended · pending · pending_payment · cancelled …

curl -s "https://pixcloud.com.tr/api/v1/client/services?type=vm" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
[
  {
    "kind": "service",
    "type": "vm",
    "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
    "name": "web-01",
    "sub": "185.x.x.10 · Ubuntu 24.04",
    "status": "active",
    "registeredAt": "2026-10-06T09:12:45.000Z",
    "nextDueAt": "2026-11-06T09:12:45.000Z",
    "cycle": "monthly",
    "amount": 7.99,
    "billedBy": "invoice",
    "cancelling": false,
    "orderNumber": "482913507"
  }
]
services:read

Hizmet detayı

GET/services/{type}/{id}

Hizmetin durumu ve faturalama bilgisi. Sunucularda IP, işletim sistemi, bölge, kaynaklar ve güç durumu da döner.

Yol parametreleri

typestringzorunlu

vm · vdc · hosting · reseller · domain

iduuidzorunlu

Hizmet kimliği

curl -s "https://pixcloud.com.tr/api/v1/client/services/vm/3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "type": "vm",
  "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
  "name": "web-01",
  "status": "active",
  "nextDueAt": "2026-11-06T09:12:45.000Z",
  "amount": 7.99,
  "vm": {
    "hostname": "web-01",
    "ipAddress": "185.x.x.10",
    "os": "Ubuntu 24.04",
    "region": "tr-ist",
    "cpuCores": 2,
    "memoryMb": 2048,
    "diskGb": 40,
    "powerStatus": "running"
  }
}
AsenkronIdempotentservices:write

Sunucu güç işlemi

POST/services/vm/{id}/{action}

Sunucuyu başlatır, durdurur veya yeniden başlatır. İşlem kuyruğa alınır; sonucu GET /services/vm/{id} ile powerStatus alanından izleyin.

Yol parametreleri

iduuidzorunlu

Sunucu kimliği

actionstringzorunlu

start · stop · reboot

Başlıklar

Idempotency-Keystring

Tekrar denenen isteğin işlemi ikinci kez yapmasını önler (24 saat). Önerilir.

curl -s -X POST "https://pixcloud.com.tr/api/v1/client/services/vm/3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f/reboot" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
202 AcceptedYanıt
{
  "accepted": true,
  "action": "reboot",
  "jobId": "b41f…"
}
Idempotentservices:write

İptal talebi

POST/services/{type}/{id}/cancel

Sunucu, sanal veri merkezi, hosting ve reseller hizmetleri için iptal talebi. end_of_cycle: dönem sonunda kapatılır; immediate: hemen (hosting/VDC’de ekip onayıyla).

Yol parametreleri

typestringzorunlu

vm · vdc · hosting · reseller

iduuidzorunlu

Hizmet kimliği

Başlıklar

Idempotency-Keystring

Tekrar denenen isteğin işlemi ikinci kez yapmasını önler (24 saat). Önerilir.

Gövde (JSON)

timingstring

end_of_cycle (varsayılan) · immediate

reasonstringzorunlu

En az 3 karakter

Notlar

  • Alan adları API üzerinden iptal edilemez; otomatik yenilemeyi panelden kapatabilirsiniz.
curl -s -X POST "https://pixcloud.com.tr/api/v1/client/services/vm/3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f/cancel" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "timing": "end_of_cycle", "reason": "Müşteri hizmeti sonlandırdı" }'
200 OKYanıt
{
  "requested": true,
  "timing": "end_of_cycle",
  "result": {
    "cancelAt": "2026-11-06T09:12:45.000Z"
  }
}

Kaynak

Faturalar

Sipariş ve yenileme faturalarınız. Yenileme faturası ödendiğinde askıdaki hizmet otomatik açılır.

invoices:read

Faturaları listele

GET/invoices

Sayfalı fatura listesi.

Sorgu parametreleri

statusstring

open · paid · void

limitinteger

1–200, varsayılan 50

offsetinteger

Atlanacak kayıt sayısı, varsayılan 0

curl -s "https://pixcloud.com.tr/api/v1/client/invoices?status=open" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "total": 1,
  "limit": 50,
  "offset": 0,
  "data": [
    {
      "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
      "invoiceNumber": "PIX-100245",
      "status": "open",
      "amount": 19.98,
      "balanceDue": 19.98,
      "currency": "USD",
      "dueAt": "2026-10-13T00:00:00.000Z",
      "paidAt": null,
      "items": [
        {
          "description": "Web Hosting Pro — ornek.com (aylık)",
          "quantity": 1,
          "amount": 19.98
        }
      ]
    }
  ]
}
invoices:read

Fatura detayı

GET/invoices/{id}

Kalemler, ödemeler ve kalan tutar.

Yol parametreleri

iduuidzorunlu

Fatura kimliği

curl -s "https://pixcloud.com.tr/api/v1/client/invoices/3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY"
200 OKYanıt
{
  "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
  "invoiceNumber": "PIX-100245",
  "status": "open",
  "amount": 19.98,
  "balanceDue": 19.98,
  "currency": "USD",
  "dueAt": "2026-10-13T00:00:00.000Z",
  "paidAt": null,
  "items": [
    {
      "description": "Web Hosting Pro — ornek.com (aylık)",
      "quantity": 1,
      "amount": 19.98
    }
  ]
}
ÜcretliIdempotentinvoices:write

Bakiyeden öde

POST/invoices/{id}/pay

Açık faturayı cüzdan bakiyesinden öder. Faturaya bağlı bekleyen sipariş varsa kurulum hemen başlar.

Yol parametreleri

iduuidzorunlu

Fatura kimliği

Başlıklar

Idempotency-Keystring

Tekrar denenen isteğin işlemi ikinci kez yapmasını önler (24 saat). Önerilir.

curl -s -X POST "https://pixcloud.com.tr/api/v1/client/invoices/3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f/pay" \
  -H "Authorization: Bearer $PIXCLOUD_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
200 OKYanıt
{
  "id": "3f6c2a9e-8b1d-4c7a-9e2f-5d4b3a1c0e9f",
  "invoiceNumber": "PIX-100245",
  "status": "paid",
  "amount": 19.98,
  "balanceDue": 0,
  "currency": "USD",
  "dueAt": "2026-10-13T00:00:00.000Z",
  "paidAt": "2026-10-06T10:00:00.000Z",
  "items": [
    {
      "description": "Web Hosting Pro — ornek.com (aylık)",
      "quantity": 1,
      "amount": 19.98
    }
  ]
}

OpenAPI

Makine tarafından okunabilir tanım: /api/v1/client/openapi.json. Postman, Insomnia veya kod üreteçlerine doğrudan aktarabilirsiniz.

Sürüm 1.0.0 · Geriye dönük uyumsuz değişiklikler yeni bir sürüm yolu (/v2) ile yayınlanır.

OpenAPI 3.1
curl -s https://pixcloud.com.tr/api/v1/client/openapi.json