Skip to content

Categories API

Hiyerarşik kategori ağacı. Parent-child yapı, sınırsız derinlik.

Base URL: https://api.entegrasyoner.com/v1Auth: Bearer token zorunlu — Authentication.

Endpoint'ler

GET /categories/options ve pazaryeri eşleme uçları yalnızca portal SPA'sında kullanılır; public API (api.entegrasyoner.com) host'unda yer almaz.

Liste (ağaç sıralı)

http
GET /v1/categories
Authorization: Bearer <API_KEY>

Response — 200 OK:

json
{
  "data": [
    {
      "id": 40,
      "name": "Electronics",
      "parent_id": null,
      "path": ["Electronics"],
      "publish_enabled": true,
      "products_count": 0,
      "child_count": 1,
      "mappings": []
    },
    {
      "id": 45,
      "name": "Smartphones",
      "parent_id": 40,
      "path": ["Electronics", "Smartphones"],
      "publish_enabled": true,
      "products_count": 12,
      "child_count": 0,
      "mappings": [
        {
          "platform_id": 3,
          "platform_slug": "trendyol-go",
          "platform_name": "Trendyol Go",
          "sync_id": "9876",
          "platform_category_name": "Akıllı Telefon"
        }
      ]
    }
  ]
}

Tree-sıralı: parent satırları her zaman child'larından önce gelir. mappings yalnızca eager-load edildiğinde döner.

Oluştur

http
POST /v1/categories
Authorization: Bearer <API_KEY>
Content-Type: application/json

{
  "name": "Tablets",
  "parent_id": 40,
  "publish_enabled": true
}
  • parent_id — root kategori için null
  • Kabul edilen alanlar yalnızca name, parent_id, publish_enabled'dır. Gönderilen başka alanlar (örn. sort_order) API tarafında yok sayılır.

Response — 201 Created:

json
{"message": "Kategori oluşturuldu.", "id": 60}

Güncelle

http
PUT /v1/categories/60
Content-Type: application/json

{"name": "Tablet Devices", "parent_id": 45}

Parent değiştirme cycle yaratmamalı (sistem kontrol eder — 422 döner).

Sil

http
DELETE /v1/categories/60

Önemli kuralları:

  • Kategori child'ları varsa silinmez (422 — önce child'ları sil veya başka parent'a taşı)
  • Kategoriye bağlı ürünlerin pivotundan silinir, ürün kendisi etkilenmez
  • Pazaryeri kategori eşlemeleri cascade silinir

Toplu auto-create (POST /products üzerinden)

Ürün eklerken category_paths ile hiyerarşik yolu otomatik yarattırabilirsin:

json
{
  "name": "Example Product",
  "category_paths": [["Electronics", "Smartphones", "5G"]]
}

Her seviye (Electronics root, Smartphones child, 5G leaf) varsa eşlenir, yoksa yaratılır. Leaf'in ID'si ürüne bağlanır.

Detay: products → Marka & Kategori auto-resolve.

Entegrasyoner — Pazaryeri Entegrasyon Sistemi