Link Çözümleme
storefront:read — uygulama token'ı yeterli. Token almak için Kimlik Doğrulama, hata gövdelerinin biçimi için Genel Bakış.Bir mağaza URL'ini veya slug'ını storefront hedefine çözer: ürün, kategori, marka gibi bir API kaynağına ya da sepet, arama gibi bir uygulama rotasına. Push bildirimi, banner ve deeplink hedeflerini uygulama ekranına eşlemek için kullanılır. storefront:read scope'lu uygulama token'ı gerekir.
Link çözme
GET /link
curl "https://<domain>/api/v3/storefront/2026-01/link?url=kirmizi-elbise" \
-H "Accept: application/vnd.api+json" \
-H "Authorization: Bearer <access_token>"
{
"jsonapi": { "version": "1.0" },
"data": { "type": "products", "id": "4242" },
"meta": {
"url": "kirmizi-elbise",
"targets": [],
"slug": "kirmizi-elbise"
}
}
Parametreler
| Parametre | Örnek | Davranış |
|---|---|---|
url | url=https://www.example.com/mavi-pantolon?utm_source=push | Zorunlu, en çok 2048 karakter. Çıplak slug, tam URL, site kök URL'i veya tel: URI kabul eder; tam URL'ler slug'a indirgenip aynı şekilde çözülür, sorgu parametreleri (UTM vb.) hedefi etkilemez |
Yanıt yapısı
data: hedef bir API kaynağıysa JSON:API kaynak tanımlayıcısı ({ "type", "id" }); kaynak olmayan hedeflerde (rota, arama, telefon)null— alan her zaman bulunur.meta.url: istektekiurldeğeri, her yanıtta yankılanır.meta.targets:{ "kind", "value" }nesneleri; kaynak olmayan hedefleri taşır.kinddeğerleri:route,search,phone.meta.slug: çözümlenen nihai slug;tel:ve site kökü gibi slug'sız hedeflerde bulunmaz.idher zaman string'dir.
data.type değerleri
Hedef bir kayda çözüldüğünde data.type şu değerlerden birini alır: products, categories, brands, suppliers, models, stores, tags, pages. Bilinmeyen ya da desteklenmeyen hedefler yer tutucu bir tip yerine 404 döner.
Rota hedefleri
Modül sayfaları API kaynağı değildir; data: null ve bir route hedefiyle döner:
{
"jsonapi": { "version": "1.0" },
"data": null,
"meta": {
"url": "sepetim",
"targets": [{ "kind": "route", "value": "basket" }],
"slug": "sepetim"
}
}
Olası route değerleri: home, customerOrders, customerLogin, customerRegistration, customerInformation, contact, newproducts, discounted, categoryList, brandList, modelList, basket, branchOfficeList, order.
Arama hedefleri
Arama içeren linkler search hedefi üretir. ?q= parametresi taşıyan bir sayfa linki hem rota hem arama hedefi döndürebilir:
{
"data": null,
"meta": {
"targets": [
{ "kind": "route", "value": "home" },
{ "kind": "search", "value": "elbise" }
]
}
}
Telefon hedefleri
curl "https://<domain>/api/v3/storefront/2026-01/link?url=tel:%2B905551112233" \
-H "Accept: application/vnd.api+json" \
-H "Authorization: Bearer <access_token>"
{
"jsonapi": { "version": "1.0" },
"data": null,
"meta": {
"url": "tel:+905551112233",
"targets": [{ "kind": "phone", "value": "+905551112233" }]
}
}
Site kökü
Site kök URL'i (https://www.example.com/) data: null ve { "kind": "route", "value": "home" } hedefiyle döner.
Yönlendirme semantiği
301 yönlendirme kayıtları zincir boyunca izlenir ve nihai hedef döner; meta.slug nihai slug'dır.
Yönlendirme zinciri en çok 3 sıçrama izlenir; daha uzun zincirler ve kendine dönen döngüler
404döner.
Hatalar
| Durum kodu | Sebep |
|---|---|
| 401 | Token yok, geçersiz veya client pasif |
| 403 | Token storefront:read scope'u taşımıyor |
| 422 | url parametresi eksik |
| 404 | Slug hiçbir hedefe çözülemedi, hedef tipi desteklenmiyor, yönlendirme sınırı aşıldı veya döngü tespit edildi |
404 gövdesi JSON:API hata biçimindedir:
{
"jsonapi": { "version": "1.0" },
"errors": [
{
"status": "404",
"title": "Not Found",
"detail": "The given url could not be resolved to a storefront target."
}
]
}