Genel Açıklama
T-Soft'ta sıkça kullanılan servisler#
Tsoft altyapısında kullanılan servislerden en fazla kullanılanlar bu bölümde aktarılacaktır. Herhangi bir yöntemle belirtilen endpointlere istek atılabilir. Fakat altyapımıza dahil edilen axios kullanılması tavsiye edilmektedir.
"getEndpoint" fonksiyonu kullanımı#
CDN kullanan sitelerimizde verilerin cdn üzerinden çekilmesi için "getEndpoint" fonksiyonu kullanılabilir. Böylece eğer cdn kullanılmışsa bu fonksiyon kullanılarak cdn bulunan endpoint bize geri döner. Aşağıdaki örnekte filtre servisinin cdn olduğunda ve olmadığında çıkan sonuçları görünmektedir.
getEndpoint("FILTER_LIST")
'//cdn.marasmarket.com/srv/service/filter/get/' // cdn varsa
'/srv/service/filter/get/' // cdn yoksa
getEndpoint("FILTER_LIST", ["test", "try"])
'//cdn.marasmarket.com/srv/service/filter/get/test/try' // cdn varsa
'/srv/service/filter/get/test/try' // cdn yoksa
getEndpoint("FILTER_LIST", "filters-variants-brands-categories-price-models-suppliers" )
'//cdn.marasmarket.com/srv/service/filter/get/filters-variants-brands-categories-price-models-suppliers' // cdn varsa
'/srv/service/filter/get/filters-variants-brands-categories-price-models-suppliers' // cdn yoksa
"axios" ile get isteği#
Filtre servisine axios ile istek atma örneği
axios.get(`/srv/service/filter/get/filters-variants-brands-categories-price-models-suppliers?link=kisisel-bakim`)
.then(res => console.log(res.data))
.catch(err => console.log(err));
"fetch" ile get isteği#
Filtre servisine fetch ile istek atma örneği
fetch("/srv/service/filter/get/filters-variants-brands-categories-price-models-suppliers?link=kisisel-bakim")
.then(res=> res.json())
.then(data=> console.log(data))
.catch(err => console.log(err))
"axios" ile post isteği#
Servis linkine axios ile istek atma örneği
let data = {
title: "title",
id:1
}
axios.post("url", data)
.then(res => console.log(res.data))
.catch(error => console.log(error));
"fetch" ile post isteği#
Servis linkine fetch ile istek atma örneği
let data = {
title: "title",
id:1
}
const options={
method: "POST",
body: JSON.stringify(data),
headers: {"Content-type": "application/json; charset=UTF-8"}
}
fetch('url', options)
.then(response => response.json())
.then(json => console.log(json))
.catch(err => console.log(err));
Servis detayları#
Kullanılan parametrelerin anlamları
$P.IDProduct Id (ürün id)
number
typeGET / POST
method200 : OK
(status)
Filtre servisi örnek çıktı#
{
"FILTERS": [
{
"ID": "5",
"NAME": "Form Filtre",
"TYPE": "0",
"LIST_NO": "1",
"VALUES": [
{
"COUNT": 0,
"ID": "16",
"DATA": "/Data/EditorFiles/v4images/other/f-square.png",
"NAME": "Dikdörgen",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "17",
"DATA": "/Data/EditorFiles/v4images/other/f-kare.png",
"NAME": "Kare",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "18",
"DATA": "/Data/EditorFiles/v4images/other/f-circle.png",
"NAME": "Yuvarlak",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "19",
"DATA": "/Data/EditorFiles/v4images/other/f-asimetric.png",
"NAME": "Asimetrik",
"SELECTED": 0
}
]
},
{
"ID": "4",
"NAME": "Renk Filtre",
"TYPE": "0",
"LIST_NO": "2",
"VALUES": [
{
"COUNT": 0,
"ID": "20",
"DATA": "#dddddd",
"NAME": "Gri",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "21",
"DATA": "#0000ff",
"NAME": "Mavi",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "22",
"DATA": "#b9936c",
"NAME": "Kahverengi",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "23",
"DATA": "#feb236",
"NAME": "Sarı",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "24",
"DATA": "#e6e2d3",
"NAME": "Bej",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "25",
"DATA": "#00ff00",
"NAME": "Yeşil",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "26",
"DATA": "#000000",
"NAME": "Siyah",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "27",
"DATA": "#ff0000",
"NAME": "Kırmızı",
"SELECTED": 0
}
]
},
{
"ID": "1",
"NAME": "Filtre Çoklu",
"TYPE": "0",
"LIST_NO": "3",
"VALUES": [
{
"COUNT": 0,
"ID": "3",
"DATA": "",
"NAME": "Filtre1",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "4",
"DATA": "",
"NAME": "Filtre2",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "5",
"DATA": "",
"NAME": "Filtre3",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "6",
"DATA": "",
"NAME": "Filtre4",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "7",
"DATA": "",
"NAME": "Filtre5",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "8",
"DATA": "",
"NAME": "Filtre6",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "9",
"DATA": "",
"NAME": "Filtre7",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "10",
"DATA": "",
"NAME": "Filtre8",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "11",
"DATA": "",
"NAME": "Filtre9",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "29",
"DATA": "",
"NAME": "Filtre91",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "30",
"DATA": "",
"NAME": "Filtre92",
"SELECTED": 0
},
{
"COUNT": 0,
"ID": "31",
"DATA": "",
"NAME": "Filtre93",
"SELECTED": 0
}
]
}
],
"VARIANTS": {
"TYPE1_LIST": [],
"TYPE2_LIST": [
{
"ID": "34",
"LIST_NO": "0",
"NAME": "S",
"COLOR_CODE": "",
"IMAGE": "",
"COUNT": "6",
"SELECTED": 0
},
{
"ID": "33",
"LIST_NO": "0",
"NAME": "XS",
"COLOR_CODE": "",
"IMAGE": "",
"COUNT": "6",
"SELECTED": 0
},
{
"ID": "30",
"LIST_NO": "0",
"NAME": "M",
"COLOR_CODE": "",
"IMAGE": "",
"COUNT": "6",
"SELECTED": 0
},
{
"ID": "32",
"LIST_NO": "0",
"NAME": "XL",
"COLOR_CODE": "",
"IMAGE": "",
"COUNT": "6",
"SELECTED": 0
},
{
"ID": "31",
"LIST_NO": "0",
"NAME": "L",
"COLOR_CODE": "",
"IMAGE": "",
"COUNT": "6",
"SELECTED": 0
},
{
"ID": "43",
"LIST_NO": "0",
"NAME": "XXL",
"COLOR_CODE": "",
"IMAGE": "",
"COUNT": "6",
"SELECTED": 0
}
]
},
"BRANDS": [
{
"COUNT": "1",
"ID": "3",
"NAME": "Marka3",
"URL": "sutas",
"SELECTED": 0
},
{
"COUNT": "4",
"ID": "2",
"NAME": "Marka4",
"URL": "maras-peynir-a",
"SELECTED": 0
}
],
"CATEGORIES": [
{
"ID": "35",
"NAME": "Kişisel Bakım",
"URL": "kisisel-bakim",
"COUNT": 0,
"SELECTED": 1,
"CHILDREN": [
{
"ID": "41",
"NAME": "Deneme 2",
"URL": "kalifrafi-kalem",
"COUNT": 0,
"SELECTED": 0
},
{
"ID": "42",
"NAME": "The Edition",
"URL": "roller-kalem",
"COUNT": 0,
"SELECTED": 0
},
{
"ID": "43",
"NAME": "Deneme2",
"URL": "eksiz-kalem",
"COUNT": 0,
"SELECTED": 0
},
{
"ID": "44",
"NAME": "Güneş Ürünleri",
"URL": "limitli-kalemler",
"COUNT": 0,
"SELECTED": 0
},
{
"ID": "46",
"NAME": "The Touch",
"URL": "divit-kalem",
"COUNT": 0,
"SELECTED": 0
}
],
"ROW_NUMBER": "2"
}
],
"PRICE": {
"MIN": 0,
"MAX": 0,
"MIN_SELECTED": 0,
"MAX_SELECTED": 0
},
"MODELS": [],
"MODELS_TOTAL": "0",
"SUPPLIERS": [],
"TARGET_CURRENCY": "TL",
"SETTINGS": {
"LANGUAGE": "tr",
"SHOW_COUNT": false
}
}