{
  "success": true,
  "baseUrl": "https://eticaretapi.takipsa.com",
  "endpoints": [
    {
      "Title": "API Durum Kontrolü",
      "Method": "GET",
      "Url": "/Eticaret/Ping",
      "Description": "ApiKey geçerli mi ve API çalışıyor mu kontrol eder.",
      "RequiresApiKey": true,
      "QueryParams": [],
      "HeaderExample": "X-Api-Key: hsp_live_xxxxxxxxxxxxxxxxx",
      "RequestJson": "",
      "ResponseJson": "{\r\n  \"success\": true,\r\n  \"message\": \"E-ticaret API çalışıyor.\",\r\n  \"firmaId\": 1\r\n}"
    },
    {
      "Title": "Ürün Listesi",
      "Method": "GET",
      "Url": "/Eticaret/UrunListesi?search=&page=1&pageSize=50&onlyWebProducts=false",
      "Description": "ApiKey'e bağlı FirmaID için ürün listesini getirir.",
      "RequiresApiKey": true,
      "QueryParams": [
        {
          "Name": "search",
          "Type": "string",
          "Required": false,
          "Description": "Ürün adı, stok kodu, barkod, marka veya kategori araması."
        },
        {
          "Name": "page",
          "Type": "int",
          "Required": false,
          "Description": "Sayfa numarası. Varsayılan: 1"
        },
        {
          "Name": "pageSize",
          "Type": "int",
          "Required": false,
          "Description": "Sayfa başına kayıt sayısı. Varsayılan: 50, maksimum: 500"
        },
        {
          "Name": "onlyWebProducts",
          "Type": "bool",
          "Required": false,
          "Description": "true gönderilirse sadece web/e-ticaret görünümündeki ürünler gelir."
        }
      ],
      "HeaderExample": "X-Api-Key: hsp_live_xxxxxxxxxxxxxxxxx",
      "RequestJson": "",
      "ResponseJson": "{\r\n  \"TotalCount\": 125,\r\n  \"Page\": 1,\r\n  \"PageSize\": 50,\r\n  \"Items\": [\r\n    {\r\n      \"ID\": 15,\r\n      \"StokKodu\": \"STK-001\",\r\n      \"Barkod\": \"8690000000001\",\r\n      \"UrunAdi\": \"Test Ürün\",\r\n      \"StoktaKalan\": 25.000000,\r\n      \"SatishFiyat\": 150.000000,\r\n      \"KDV\": 20,\r\n      \"Birimi\": \"ADET\",\r\n      \"Kategori\": \"Genel\",\r\n      \"Marka\": \"Marka\",\r\n      \"Fotograf\": \"\",\r\n      \"Aciklama\": \"\",\r\n      \"StokList\": true,\r\n      \"WebGorunumu\": true\r\n    }\r\n  ]\r\n}"
    },
    {
      "Title": "Ürün Detay",
      "Method": "GET",
      "Url": "/Eticaret/UrunDetay?id=15",
      "Description": "Belirtilen ürün ID değerine göre ürün detayını getirir. Sadece ApiKey'e bağlı firmaya ait ürün döner.",
      "RequiresApiKey": true,
      "QueryParams": [
        {
          "Name": "id",
          "Type": "int",
          "Required": true,
          "Description": "Stok tablosundaki ürün ID değeri."
        }
      ],
      "HeaderExample": "X-Api-Key: hsp_live_xxxxxxxxxxxxxxxxx",
      "RequestJson": "",
      "ResponseJson": "{\r\n  \"ID\": 15,\r\n  \"StokKodu\": \"STK-001\",\r\n  \"Barkod\": \"8690000000001\",\r\n  \"UrunAdi\": \"Test Ürün\",\r\n  \"StoktaKalan\": 25.000000,\r\n  \"SatishFiyat\": 150.000000,\r\n  \"KDV\": 20,\r\n  \"Birimi\": \"ADET\",\r\n  \"Kategori\": \"Genel\",\r\n  \"Marka\": \"Marka\",\r\n  \"Fotograf\": \"\",\r\n  \"Aciklama\": \"\",\r\n  \"StokList\": true,\r\n  \"WebGorunumu\": true\r\n}"
    },
    {
      "Title": "Sipariş Var mı Kontrolü",
      "Method": "GET",
      "Url": "/Eticaret/SiparisVarMi?marketplace=Trendyol&siparisNo=TY-10001",
      "Description": "Belirtilen pazaryeri sipariş numarası daha önce aktarılmış mı kontrol eder.",
      "RequiresApiKey": true,
      "QueryParams": [
        {
          "Name": "marketplace",
          "Type": "string",
          "Required": true,
          "Description": "Pazaryeri adı. Örnek: Trendyol, Hepsiburada, Shopify, WooCommerce"
        },
        {
          "Name": "siparisNo",
          "Type": "string",
          "Required": true,
          "Description": "Pazaryeri sipariş numarası."
        }
      ],
      "HeaderExample": "X-Api-Key: hsp_live_xxxxxxxxxxxxxxxxx",
      "RequestJson": "",
      "ResponseJson": "{\r\n  \"success\": true,\r\n  \"exists\": false\r\n}"
    },
    {
      "Title": "Sipariş Aktar",
      "Method": "POST",
      "Url": "/Eticaret/SiparisAktar",
      "Description": "Pazaryerinden gelen siparişi Cari, ORDERS, ORDERS_DETAIL tablolarına aktarır ve stok miktarını düşer.",
      "RequiresApiKey": true,
      "QueryParams": [],
      "HeaderExample": "Content-Type: application/json\r\nX-Api-Key: hsp_live_xxxxxxxxxxxxxxxxx",
      "RequestJson": "{\r\n  \"Marketplace\": \"Trendyol\",\r\n  \"SiparisNo\": \"TY-10001\",\r\n  \"SiparisTarihi\": \"2026-05-13T14:00:00\",\r\n  \"ParaBirimi\": \"TL\",\r\n  \"OdemeSekli\": \"Pazaryeri\",\r\n  \"TeslimatAdresi\": \"İstanbul Kadıköy teslimat adresi\",\r\n  \"FaturaAdresi\": \"İstanbul Kadıköy fatura adresi\",\r\n  \"Aciklama\": \"Trendyol siparişi\",\r\n  \"Customer\": {\r\n    \"CariUnvan\": \"Ahmet Yılmaz\",\r\n    \"VergiNo\": \"\",\r\n    \"VergiDairesi\": \"\",\r\n    \"TcNo\": \"11111111111\",\r\n    \"Telefon\": \"02120000000\",\r\n    \"Gsm\": \"05550000000\",\r\n    \"EPosta\": \"ahmet@test.com\",\r\n    \"Adres\": \"İstanbul Kadıköy adres\",\r\n    \"Il\": \"İstanbul\",\r\n    \"Ilce\": \"Kadıköy\",\r\n    \"Ulke\": \"Türkiye\"\r\n  },\r\n  \"Lines\": [\r\n    {\r\n      \"StokKodu\": \"STK-001\",\r\n      \"Barkod\": \"8690000000001\",\r\n      \"UrunAdi\": \"Test Ürün\",\r\n      \"Miktar\": 2,\r\n      \"BirimFiyat\": 100,\r\n      \"Kdv\": 20,\r\n      \"Iskonto\": 0,\r\n      \"Birim\": \"ADET\"\r\n    }\r\n  ]\r\n}",
      "ResponseJson": "{\r\n  \"Success\": true,\r\n  \"Message\": \"Sipariş başarıyla aktarıldı.\",\r\n  \"ID\": 123\r\n}"
    },
    {
      "Title": "Siparişten Fatura Oluştur",
      "Method": "POST",
      "Url": "/Eticaret/FaturaOlustur?orderId=123",
      "Description": "Aktarılmış siparişten INVOICE ve INVOICE_DETAIL kayıtlarını oluşturur.",
      "RequiresApiKey": true,
      "QueryParams": [
        {
          "Name": "orderId",
          "Type": "int",
          "Required": true,
          "Description": "ORDERS tablosundaki sipariş ID değeri."
        }
      ],
      "HeaderExample": "X-Api-Key: hsp_live_xxxxxxxxxxxxxxxxx",
      "RequestJson": "",
      "ResponseJson": "{\r\n  \"Success\": true,\r\n  \"Message\": \"Fatura başarıyla oluşturuldu.\",\r\n  \"ID\": 456\r\n}"
    },
    {
      "Title": "Sipariş İptal",
      "Method": "POST",
      "Url": "/Eticaret/SiparisIptal",
      "Description": "Pazaryerinden gelen iptal bilgisini muhasebe siparişine işler. İstenirse stok miktarını geri ekler.",
      "RequiresApiKey": true,
      "QueryParams": [],
      "HeaderExample": "Content-Type: application/json\r\nX-Api-Key: hsp_live_xxxxxxxxxxxxxxxxx",
      "RequestJson": "{\r\n  \"Marketplace\": \"Trendyol\",\r\n  \"SiparisNo\": \"TY-10001\",\r\n  \"IptalAciklama\": \"Müşteri siparişi iptal etti.\",\r\n  \"StokGeriEklensin\": true,\r\n  \"FaturaliSiparisIptalEdilsin\": false\r\n}",
      "ResponseJson": "{\r\n  \"Success\": true,\r\n  \"Message\": \"Sipariş başarıyla iptal edildi.\",\r\n  \"ID\": 123\r\n}"
    }
  ]
}