API Dökümantasyonu

Lisansal API v1, sistemimizdeki ürünleri otomatik olarak çekmenizi, bakiye ile satın alım yapmanızı ve siparişlerinizi takip etmenizi sağlayan RESTful bir servistir.

Base URL: https://stockmarketim.com/api/v1
API Test Panelini Aç

Kimlik Doğrulama

Tüm isteklerinizi X-API-KEY header'ı ile veya URL parametresi olarak ?key=YOUR_KEY şeklinde göndermelisiniz.

Örnek Header
X-API-KEY: YOUR_API_KEY

Güvenlik ve Kısıtlamalar

Sistem güvenliğini korumak adına aşağıdaki kısıtlamalar uygulanmaktadır:

IP Bazlı Engelleme (Brute Force Koruması)

Üst üste hatalı API Key gönderimi yapan IP adresleri kademeli olarak engellenir:
- 5 Hatalı Deneme: 5 Dakika engel.
- 10 Hatalı Deneme: 15 Dakika engel.
- 15 Hatalı Deneme: 24 Saat engel.

Veri Uzunluk Sınırı

/buy endpoint'i üzerinden gönderilen customer_info (Özel Bilgiler) alanındaki her bir değer maksimum 255 karakter olabilir. Bu sınırı aşan istekler hata döndürecektir.

GET /balance

Hesabınızdaki güncel bakiyeyi döner.

Response (JSON)
{
  "success": true,
  "balance": 1500.50
}

GET /categories

Sistemdeki tüm aktif kategorileri listeler.

Response (JSON)
{
  "success": true,
  "categories": [
    { "id": 1, "name": "Windows Lisansları", "slug": "windows-lisanslari" },
    { "id": 2, "name": "Antivirüs", "slug": "antivirus" }
  ]
}

GET /products

Belirli bir kategorideki ürünleri listeler. category_id parametresi zorunludur.

İstek
GET /products?category_id=1
Response (JSON)
{
  "success": true,
  "products": [
    {
      "id": 17,
      "name": "Chatgpt Kişisel Hesap - 1 Aylık",
      "slug": "chatgpt-kisisel-hesap-1-aylik",
      "price": "99.00",
      "old_price": "105.00",
      "stock": 2,
      "short_description": "Business Hesabıdır.",
      "description": "

Chatgpt Plus içeriği...

", "max_qty": 0, "sku": "chatcibiti", "delivery_type": "instant", "custom_fields": [ { "label": "E-posta", "placeholder": "Girdiğiniz maile tanımlanacaktır", "required": "1" } ], "order_note_data": { "text": "12-24 saat arasında teslimat gerçekleşecektir.", "icon_type": "image", "box_color": "#242424", "font_color": "#ffffff" }, "seller_price": "99.00", "image_url": "http://localhost/lisans/uploads/products/example.webp" } ] }

Önemli Alan Açıklamaları

delivery_type
Ürünün teslimat modelini belirler. Yazılımınızda bu değere göre işlem yapmanız gerekebilir.
  • instant: Stoklar sistemden otomatik çekilir ve anında (API response içinde) teslim edilir.
  • manual: Sipariş sonrası yönetici tarafından manuel teslimat yapılır. Sipariş sorgulama endpointi ile takip edilmelidir.
max_qty
Tek bir /buy isteğinde bu üründen maksimum kaç adet alınabileceğini belirtir.

Eğer bu değer 0 ise herhangi bir adet sınırı yoktur.

custom_fields
Ürün satın alınırken kullanıcıdan alınması gereken dinamik veri alanlarını içerir. (Örn: Hesap adı, E-posta, Sunucu IP).

Satın alım yaparken bu dizideki label değerleri anahtar olacak şekilde bir obje oluşturup customer_info parametresi ile göndermelisiniz.

Örnek Satın Alım (POST /buy) Verisi:
{
  "product_id": 17,
  "qty": 1,
  "customer_info": {
    "E-posta": "musteri@example.com",
    "Kullanıcı Adı": "johndoe"
  }
}

POST /buy

Bakiyenizi kullanarak ürün satın almanızı sağlar.

POST Verisi
{
  "product_id": 17,
  "qty": 1,
  "customer_info": {
     "E-posta": "musteri@example.com"
  }
}

* Eğer ürünün custom_fields dizisi doluysa, customer_info içindeki alanların gönderilmesi zorunludur.

Response (Success)
{
  "success": true,
  "order_id": 12345,
  "order_number": "API69ED457CD9F04",
  "total": 99.00,
  "items": ["CHATGPT-ACCOUNT-DETAILS-HERE"]
}
Response (Error - Yetersiz Bakiye)
{
  "success": false,
  "message": "Yetersiz bakiye. Lütfen bakiye yükleyin."
}

GET /order

Verilen order_id'ye ait sipariş detaylarını ve teslim edilen stokları döner.

Response (JSON)
{
  "success": true,
  "order": {
    "id": 12345,
    "order_number": "API69ED457CD9F04",
    "total": "99.00",
    "status": "completed",
    "created_at": "2024-03-15 14:30:00",
    "items": [
      {
        "product_name": "Chatgpt Kişisel Hesap - 1 Aylık (x1)",
        "keys": ["CHATGPT-ACCOUNT-DETAILS-HERE"]
      }
    ]
  }
}

GET /orders

Birden fazla siparişi aynı anda sorgulamanızı sağlar. order_ids parametresi virgülle ayrılmış ID'ler içermelidir.

İstek
GET /orders?order_ids=12345,12346
Response (JSON)
{
  "success": true,
  "orders": [
    {
      "id": 12345,
      "order_number": "API69ED457CD9F04",
      "total": "99.00",
      "status": "completed",
      "created_at": "2024-03-15 14:30:00",
      "items": [
        {
          "product_name": "...",
          "keys": ["..."]
        }
      ]
    },
    {
      "id": 12346,
      "order_number": "API70FD457CD9F05",
      "total": "45.00",
      "status": "pending",
      "created_at": "2024-03-15 15:00:00",
      "items": []
    }
  ]
}