API referansı · 9 uç nokta
Admin · Catalog
Kategori ve ürün yönetimi. ADMIN rolü gerekir.
GET
/v1/admin/categories Bearer Kategori ağacı
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 200 | CategoryDto[] | Kök düğümler; productCount doludur. |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
POST
/v1/admin/categories Bearer Kategori oluşturur
İstek gövdesi CreateCategoryRequest
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 201 | CategoryDto | Oluşturuldu. |
| 400 | ApiError | validation_failed, parent_category_not_found, category_too_deep. |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
| 409 | ApiError | unique_constraint_violation veya foreign_key_violation. |
PATCH
/v1/admin/categories/{id} Bearer Kategoriyi günceller
İstek gövdesi UpdateCategoryRequest
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 200 | CategoryDto | Güncel kategori. |
| 400 | ApiError | validation_failed, category_cycle, category_too_deep. |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
| 404 | ApiError | category_not_found. |
| 409 | ApiError | unique_constraint_violation veya foreign_key_violation. |
DELETE
/v1/admin/categories/{id} Bearer Kategoriyi siler
Yalnızca boş kategori silinebilir.
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 204 | — | Silindi. |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
| 404 | ApiError | category_not_found. |
| 409 | ApiError | category_has_children (yanıtta children) veya category_has_products (yanıtta products). |
GET
/v1/admin/products Bearer Sayfalı ürün listesi (yönetim)
Parametreler
| Ad | Yer | Tip | Açıklama |
|---|---|---|---|
page | query | integer ≥ 1 · varsayılan 1 | |
perPage | query | integer 1–100 · varsayılan 24 | |
categoryId | query | string | Kategoriyi ve tüm alt kategorilerini kapsar. |
search | query | string en fazla 64 karakter | %, _ ve \ karakterleri sunucuda temizlenir. |
includeInactive | query | boolean | Pasif ürünleri de döndürür. |
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 200 | PageMeta + { items: AdminProductDto[] } | Ürün sayfası. |
| 400 | ApiError | validation_failed — gövde veya query şemaya uymuyor (details). |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
POST
/v1/admin/products Bearer Ürün oluşturur
Ürün oluşturmak yalnızca varsayılan şubede sıfır adetli bir raf kaydı açar; aksi halde her stok ucu bu ürün için 404 verirdi. Diğer şubeler, biri o şubede ürünü fiilen stoklayana kadar yok kalır.
Stoklamak adı verilmiş bir şubeye karşı ayrı ve açık bir işlemdir: POST /admin/products/{id}/stock.
İstek gövdesi CreateProductRequest
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 201 | AdminProductDto | Oluşturuldu. |
| 400 | ApiError | validation_failed veya category_not_found. |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
| 409 | ApiError | unique_constraint_violation — sku, slug, barcode veya externalRef kayıtlı. |
GET
/v1/admin/products/{id} Bearer Tek ürün (yönetim görünümü)
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 200 | AdminProductDto | Ürün. |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
| 404 | ApiError | product_not_found. |
PATCH
/v1/admin/products/{id} Bearer Ürünü günceller
source: ERP olan satırlar harici senkronizasyona aittir: bu satırlarda PATCH yalnızca isActive alanını kabul eder, diğer alanlar sessizce yok sayılır.
İstek gövdesi UpdateProductRequest
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 200 | AdminProductDto | Güncel ürün. |
| 400 | ApiError | validation_failed — gövde veya query şemaya uymuyor (details). |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
| 404 | ApiError | product_not_found. |
| 409 | ApiError | unique_constraint_violation veya foreign_key_violation. |
DELETE
/v1/admin/products/{id} Bearer Ürünü pasife alır
Satır silinmez — geçmiş siparişler ürüne referans verir.
Yanıtlar
| Durum | Gövde | Açıklama |
|---|---|---|
| 204 | — | Pasife alındı. |
| 401 | ApiError | missing_token, invalid_token veya unauthenticated. |
| 403 | ApiError | insufficient_role — kimlik doğru, rol yetkili değil. |
| 404 | ApiError | product_not_found. |