Skip to content

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

Ö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 LIKE
  • per_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}
}

mappings yalnı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/13

Response — 200 OK: {"message": "Marka silindi."}

Bağlı ürün varsa silinmez. Markaya bağlı en az bir ürün varsa 422 dö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.

Entegrasyoner — Pazaryeri Entegrasyon Sistemi