Appearance
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— tree-sıralı listePOST /categories— yeni kategori (parent_id ile)PUT /categories/{id}DELETE /categories/{id}
GET /categories/optionsve 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çinnull- 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.