Skip to main content

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)
numbertype
GET / POST
method
200 : 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
}
}