Ürün Özellikleri

Bu servis aracılığı ile Labs platformu üzerinde yeni ürün özellikleri oluşturabilir, oluşturulan özelliklerin listesini çekebilir, ürün özelliklerini güncelleyebilir veya silebilirsiniz.


POST/v1/attributes

Özellik Oluştur

Bu servis aracılığı ile Labs platformunda yeni bir ürün özelliği tanımlaması yapabilirsiniz.

Ön tanımlı olarak sadece "Türkçe" içerik girişleri yapabilirsiniz. Farklı dillerde başlık eklemek için update servisini kullanabilirsiniz.

Önemli Bilgi : Ürün özelliği içerisinde bulunan özellik değerlerini bu servis aracılığı ilk istekte create edebilirsiniz ancak Ürün Özellik Değerleri servisinden de bu işlemi gerçekleştirebilirsiniz. Create işlemini bu servis üzerinden tek seferde yapabilmenizin aksine update ve delete işlemleri için Ürün Özellik Değerleri servisini kullanmalısınız.

Parametreler

  • Name
    attributeName* zorunlu
    Type
    string
    Description

    Özellik başlık bilgisidir.

  • Name
    dataType
    Type
    string
    Description

    Özellik veri tipidir. Boş gönderilirse ön tanımlı olarak string tipinde kaydedilir.

  • Name
    inputType
    Type
    string
    Description

    Özellik input tipidir. Boş gönderilirse ön tanımlı olarak checkbox tipinde kaydedilir. Bu bilgi, web sitesindeki filtreleme alanında bu özellik bilgisinin hangi HTML input tipinde gösterileceğini belirlemek için kullanılır.

  • Name
    queryName
    Type
    string
    Description

    Query string bilgisidir. Web sitesinde yapılan filtreleme işlemlerinde query string içerisine yazılacak olan bilgidir. Benzersiz (unique) olmalıdır. Boş gönderilirse otomatik oluşturulur.

  • Name
    isRequired* zorunlu
    Type
    boolean
    Description

    true gönderilirse ürün ekleme işlemlerinde zorunlu hale getirilir ve zorunlu veri girişi istenir.

  • Name
    isMultiple
    Type
    boolean
    Description

    Array gibi çoklu seçim işlemlerine destek vermek için true olarak gönderilebilir.

  • Name
    isActive* zorunlu
    Type
    boolean
    Description

    Aktif / Pasif durumu

  • Name
    showTitle* zorunlu
    Type
    boolean
    Description

    Özellik başlığının WEB'de gösterim durumunu belirtir.

  • Name
    integrationId* zorunlu
    Type
    string
    Description

    ERP sisteminize kayıtlı olan özellik bilgisi ile eşleştirme yapmak için bu alanı kullanabilirsiniz.

  • Name
    items* zorunlu
    Type
    array
    Description

    Özellik değerlerini içerir.

  • Name
    items.label* zorunlu
    Type
    string
    Description

    Özellik değeri adı

  • Name
    items.isActive
    Type
    boolean
    Description

    Aktif/pasif durumu. Zorunlu değildir, gönderilmez ise ön tanımlı olarak true olarak kaydedilecektir.

Request

POST
/v1/attributes
curl --location --request GET 'https://api.labsoffice.com/v1/attributes' \
--header 'Authorization: Bearer {API_TOKEN}'
--header 'Content-Type: application/json' \
--data-raw '{
    "attributeName": "Paça Tipi",
    "dataType": "string",
    "inputType" : "checkbox",
    "queryName" : "paca-tipi",
    "isRequired" : true,
    "isMultiple" : false,
    "isActive" : true,
    "showTitle" : true,
    "integrationId" : "",
    "values": [{
        "label" : "Dar Paça",
        "isActive" : true
    },{
        "label" : "Geniş Paça",
        "isActive" : true
    },{
        "label" : "Normal Paça",
        "isActive" : true
    }]
}'

Response

    {
        "status": "success",
        "message": "Özellik bilgileri başarıyla eklendi.",
        "payload": {
            "id": 145,
            "name": "Paça Tipi",
            "values": [
                {
                    "id": 1490,
                    "name": "Dar Paça"
                },
                {
                    "id": 1491,
                    "name": "Geniş Paça"
                },
                {
                    "id": 1492,
                    "name": "Normal Paça"
                }
            ]
        }
    }

GET/v1/attributes

Özellik Listele

Bu servis aracılığı ile Labs platformunda oluşturduğunuz ürün özellikleri listesini çekebilirsiniz.

Servis pagination ile çalışmaktadır. limit parametresini arttırarak tek seferde çekebileceğiniz veri miktarını arttırabilirsiniz.

Request

GET
/v1/attributes
curl --location --request GET 'https://api.labsoffice.com/v1/attributes?page=1&limit=15' \
--header 'Authorization: Bearer {API_TOKEN}'

Response

{
    "items": [
        {
            "attributeId": 45,
            "attributeName": {
                "en": null,
                "tr": "Cilt Tipi"
            },
            "dataType": "string",
            "inputType": "checkbox",
            "queryName": "cilt-tipi", // Web filtrelemeleri için URL'de görünecek query adı.
            "isRequired": 0, // zorunlu alan
            "isMultiple": 0, // çoklu veri destekliyor
            "isActive": 1, // aktif/pasif durumu
            "showTitle": 1, // "Cilt Tipi" başlığının WEB'de gösterim durumunu belirtir.
            "integrationId": null, // Varsa ERP referans ID'si
            "values": [
                {
                    "id": 430,
                    "label": {
                        "en": null,
                        "tr": "Normal Cilt"
                    },
                    "isActive": 1
                },
                {
                    "id": 431,
                    "label": {
                        "en": null,
                        "tr": "Kuru Ciltler"
                    },
                    "isActive": 1
                },
                {
                    "id": 432,
                    "label": {
                        "en": null,
                        "tr": "Çok Kuru Ciltler"
                    },
                    "isActive": 1
                }
            ]
        }
    ],
    "totalItems": 1,
    "totalPage": 1,
    "currentPage": 1,
    "limit": 15
}

GET/v1/attributes/{id}

Özellik Görüntüle

Bu servis aracılığı ile Labs platformunda kayıtlı ürün özelliğine ait bilgileri listeleyebilirsiniz.

Request

GET
/v1/attributes/{id}
curl --location --request GET 'https://api.labsoffice.com/v1/attributes/144' \
--header 'Authorization: Bearer {API_TOKEN}'

Response

{
    "attributeId": 144,
    "attributeName": {
        "tr": "Yaka Tipi"
    },
    "dataType": "string",
    "inputType": "checkbox",
    "queryName": "yaka-tipi",
    "isRequired": 1,
    "isMultiple": 0,
    "isActive": 1,
    "showTitle": 1,
    "integrationId": null,
    "values": [
        {
            "id": 1487,
            "label": {
                "tr": "V Yaka"
            },
            "isActive": 1
        },
        {
            "id": 1488,
            "label": {
                "tr": "Bisiklet Yaka"
            },
            "isActive": 1
        },
        {
            "id": 1489,
            "label": {
                "tr": "Uzun Yaka"
            },
            "isActive": 1
        }
    ]
}

PUT/v1/attributes/{id}

Özellik Güncelle

Bu servis aracılığı ile Labs platformundaki mevcut ürün özelliği bilgilerinizi güncelleyebilirsiniz.

Farklı dillerdeki açıklamaları güncellemek için lang bilgisi gönderebilirsiniz.

Request

PUT
/v1/attributes/{id}
curl --location --request PUT 'https://api.labsoffice.com/v1/attributes/2021' \
--header 'Authorization: Bearer {API_TOKEN}'
--header 'Content-Type: application/json' \
--data-raw '{
    "attributeName": "Yaka Tipi",
    "dataType": "string",
    "inputType": "checkbox",
    "queryName": "yaka-tipi",
    "isRequired": 1,
    "isMultiple": 0,
    "isActive": 1,
    "showTitle": 1,
    "integrationId": null,
    "lang" : "tr"
}'

Response

{
    "status": "success",
    "message": "Özellik bilgileri başarıyla güncellendi.",
    "payload": {
        "id": 145,
        "name": "Paça Tipi 3"
    }
}

DELETE/v1/attributes/{id}

Özellik Sil

Bu servis aracılığı ile Labs platformundaki mevcut ürün özelliği bilgilerinizi silebilirsiniz.

Request

DELETE
/v1/attributes/{id}
curl --location --request DELETE 'https://api.labsoffice.com/v1/attributes/145' \
--header 'Authorization: Bearer {API_TOKEN}'
--header 'Content-Type: application/json' \

Response

{
    "status": "success",
    "message": "Özellik başarılı bir şekilde silindi"
}