Nitelik yarat veya güncelle

POST /PIM/SaveAttributeWithDetail — PIM API · Nitelikler

Bir niteliği ayarları, tip bilgisi ve değerleriyle birlikte kaydeder. AttributeId verilirse o nitelik güncellenir, verilmezse yeni nitelik yaratılır. Yanıt olarak niteliğin kaydedilmiş hâli döner.

  • PimSource boşsa Name'den üretilir; ikisi de boşsa kayıt hata alır.
  • Detail gönderilmezse yalnızca ad, ayarlar ve doğrulama kuralları kaydedilir.
  • ValuesDetail içindeki değerler Detail.AttributeTypeId'ye göre nitelik değeri olarak yazılır; ValueId verilen değer güncellenir.

Parametreler

  • Tenant (header, string): Basic Auth ile birden fazla firmaya erişen kullanıcılarda firma kodu. Bearer token kullanılıyorsa gerekmez.

İstek gövdesi

  • Tag (string): Serbest etiket.
  • Name (string, zorunlu): Nitelik adı.
  • Detail (object): Niteliğin tip bilgisi. Kimlik değerleri için Nitelikleri listele yanıtındaki örnekleri kullanın.
    • Detail.Code (string): Nitelik kodu (en fazla 100 karakter). null mevcut değere dokunmaz, boş metin temizler.
    • Detail.Sync (boolean): Dış sistemle eşitlensin mi; null mevcut değere dokunmaz.
    • Detail.IsActive (boolean): Nitelik aktif mi.
    • Detail.Description (string): Nitelik açıklaması.
    • Detail.ExternalCode (string): Dış sistem kodu (en fazla 100 karakter). null mevcut değere dokunmaz, boş metin temizler.
    • Detail.ValidEndDate (string<date-time>): Geçerlilik bitişi.
    • Detail.ValidStartDate (string<date-time>): Geçerlilik başlangıcı.
    • Detail.AttributeTypeId (integer): Nitelik tipi kimliği.
    • Detail.AttributeDataTypeId (integer): Veri tipi kimliği.
    • Detail.AttributeBindingTypeId (integer): Bağlama tipi kimliği.
    • Detail.AttributeRelationLevelId (integer): İlişki seviyesi kimliği.
  • Options (object[]): Nitelik ayarları (ör. allowFiltering, showOnProduct, isSearchable, splitSeperator).
    • Options.Key (string): Ayar anahtarı.
    • Options.Value (string): Ayar değeri (metin, ör. "True").
  • PimSource (string): Niteliğin PIM kaynak anahtarı; boşsa addan üretilir.
  • AttributeId (integer): Güncellenecek niteliğin kimliği; yeni nitelik için boş bırakın.
  • ValuesDetail (object[]): Nitelik değerleri.
  • ValidationRules (object[]): Uygulanacak doğrulama kuralları.
    • ValidationRules.ValidationOrder (integer): Kuralın sırası.
    • ValidationRules.ValidationRuleId (integer): Doğrulama kuralı kimliği.

Yanıtlar

  • 200: Niteliğin kaydedilmiş hâli.
  • 400: İstek gövdesi geçerli JSON değil veya alan tipleri uyumsuz.
  • 401: Kimlik doğrulanamadı (başlık yok, Basic bilgileri hatalı veya token geçersiz). Gövde boştur.
  • 500: Kayıt hatası (ör. company not found, Map ismi boş olamaz, attribute not found).

200 yanıt alanları

  • Code (string): Nitelik kodu.
  • Name (string): Nitelik adı.
  • Sync (boolean): Dış sistemle eşitleniyor mu.
  • Type (string): Kayıt tipi; nitelikler için Attribute.
  • Detail (object): Niteliğin tip bilgisi.
  • Options (object[]): Nitelik ayarları; tanımlı tüm ayar anahtarları döner, ayarlanmamış olanlar null değerlidir.
    • Options.Key (string): Ayar anahtarı.
    • Options.Value (string): Ayar değeri.
  • IsSynced (boolean): Son eşitleme başarılı mı.
  • MetaType (string): Ek tip bilgisi.
  • PimSource (string): PIM kaynak anahtarı.
  • AttributeId (integer): Nitelik kimliği.
  • ExternalCode (string): Dış sistem kodu.
  • LastSyncDate (string<date-time>): Son eşitleme zamanı.
  • ValuesDetail (object[]): Nitelik değerleri.
  • LocalizedName (object[]): Nitelik adının dil karşılıkları.
  • ValidationRules (object[]): Bağlı doğrulama kuralları.