Appearance
Brands API
Marka listele, oluştur, güncelle, sil. Pazaryeri eşlemeleri.
Base URL: https://api.entegrasyoner.com/v1Auth: Bearer token zorunlu — Authentication.
Endpoint'ler
GET /brands— paginate + filterPOST /brands— yeni markaPUT /brands/{id}DELETE /brands/{id}PUT /brands/{brand}/mappings/{platform}— pazaryeri marka eşlemesi (yalnız portal SPA'da; publicv1API'de değildir)
Önemli: Marka tek tenant'ta benzersizdir
Marka adı Türkçe-aware normalize (lowercase + trim + tek-boşluk) ile eşlenir: "Nike", "nike", " NIKE " aynı markadır. Bu hem ürün eklerken brand_name find-or-create'inde, hem de doğrudan POST /brands duplicate kontrolünde geçerlidir — yani aynı markayı iki kez yaratamazsın (422). Ürün eklerken brand_name gönderirsen önce GET /brands çağırmana gerek yok.
Liste
http
GET /v1/brands?per_page=100&search=example
Authorization: Bearer <API_KEY>Query parametreleri:
search— name LIKEper_page(default 30)page
Response — 200 OK:
json
{
"data": [
{
"id": 12,
"name": "ExampleBrand",
"slug": "examplebrand",
"publish_enabled": true,
"products_count": 142,
"mappings": [
{
"platform_id": 3,
"platform_slug": "trendyol-go",
"platform_name": "Trendyol Go",
"sync_id": "12345",
"platform_brand_name": "ExampleBrand"
}
]
}
],
"meta": {"current_page": 1, "per_page": 100, "total": 1}
}
mappingsyalnızca eager-load edildiğinde döner; pazaryeri eşlemesi olmayan markada boş/absent olabilir.
Oluştur
http
POST /v1/brands
Authorization: Bearer <API_KEY>
Content-Type: application/json
{"name": "NewBrand", "publish_enabled": true}Response — 201 Created:
json
{"message": "Marka oluşturuldu.", "id": 13}Hata — 422: isim boş, çok uzun (>255), veya aynı name başka satırda mevcut.
Güncelle
http
PUT /v1/brands/13
Authorization: Bearer <API_KEY>
Content-Type: application/json
{"name": "RenamedBrand", "publish_enabled": false}publish_enabled=false → bu markaya ait ürünler hiçbir pazaryerine yayınlanmaz (toplu fren).
Sil
http
DELETE /v1/brands/13Response — 200 OK: {"message": "Marka silindi."}
Bağlı ürün varsa silinmez. Markaya bağlı en az bir ürün varsa
422döner:{"errors":{"brand":["Bu markaya bağlı ürünler var. Önce ürünleri başka markaya taşıyın."]}}. Önce ürünleri başka markaya taşı veya markasız bırak. Boş markada silme başarılı olur ve pazaryeri eşlemeleri cascade silinir.