Lokasyona göre stok seviyelerini okuma
Bir lokasyondaki tüm ürünlerin satılabilir, eldeki, ayrılmış ve yoldaki stoğunu ya da tek bir ürünün tüm lokasyonlardaki stoğunu okuyun.
- API
- Admin GraphQL API
- İşlemler
- location, inventoryItem (inventoryLevels, quantities)
- Erişim yetkileri
- read_inventory, read_locations
- Yerini aldığı REST çağrısı
- GET /admin/api/inventory_levels.json?location_ids=…
- API sürümü
- 2026-10
- Son kontrol
Kısaca
Lokasyon bazında stok okumak için location(id) sorgusunun inventoryLevels bağlantısını sayfalayın ve her seviyeden quantities(names: ["available", "on_hand", "committed", "incoming"]) isteyin. Tek bir ürünü her yerde görmek için inventoryItem(id) ve onun inventoryLevels’ını sorgulayın; lokasyon başına bir seviye döner. quantities alanı eski available sayısının yerini alır ve istediğiniz her stok durumunu döndürür.
Nasıl kullanılır
- Lokasyon ID’lerini locations sorgusuyla bir kez alın.
- StockAtLocation’ı first: 100 ile gönderin ve hasNextPage false olana kadar after: endCursor ile sayfalayın.
- names içinde ihtiyacınız olan durumları seçin: available, on_hand, committed, incoming, reserved, damaged, safety_stock ya da quality_control.
- Tek bir SKU’nun depolar arasındaki stoğu için StockOfItem’ı envanter kalemi ID’siyle gönderin.
Kod
location-inventory-levels.graphqlquery StockAtLocation($locationId: ID!, $first: Int!, $after: String) {
location(id: $locationId) {
id
name
inventoryLevels(first: $first, after: $after) {
nodes {
item {
id
sku
}
quantities(names: ["available", "on_hand", "committed", "incoming"]) {
name
quantity
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}
location-inventory-levels.variables.json{
"locationId": "gid://shopify/Location/1234567890",
"first": 100,
"after": null
}
location-inventory-levels.response.json{
"data": {
"location": {
"id": "gid://shopify/Location/1234567890",
"name": "Main warehouse",
"inventoryLevels": {
"nodes": [
{
"item": {"id": "gid://shopify/InventoryItem/1111111111", "sku": "LS-S"},
"quantities": [
{"name": "available", "quantity": 12},
{"name": "on_hand", "quantity": 15},
{"name": "committed", "quantity": 3},
{"name": "incoming", "quantity": 20}
]
}
],
"pageInfo": {
"hasNextPage": true,
"endCursor": "eyJsYXN0X2lkIjoxMTExMTExMTExfQ=="
}
}
}
}
}
item-inventory-levels.graphqlquery StockOfItem($inventoryItemId: ID!) {
inventoryItem(id: $inventoryItemId) {
id
sku
tracked
inventoryLevels(first: 20) {
nodes {
location {
id
name
}
quantities(names: ["available", "on_hand"]) {
name
quantity
}
}
}
}
}
item-inventory-levels.variables.json{
"inventoryItemId": "gid://shopify/InventoryItem/1111111111"
}
item-inventory-levels.response.json{
"data": {
"inventoryItem": {
"id": "gid://shopify/InventoryItem/1111111111",
"sku": "LS-S",
"tracked": true,
"inventoryLevels": {
"nodes": [
{
"location": {"id": "gid://shopify/Location/1234567890", "name": "Main warehouse"},
"quantities": [{"name": "available", "quantity": 12}, {"name": "on_hand", "quantity": 15}]
},
{
"location": {"id": "gid://shopify/Location/1234567891", "name": "Shop floor"},
"quantities": [{"name": "available", "quantity": 2}, {"name": "on_hand", "quantity": 2}]
}
]
}
}
}
}
Lintel tarafından yazıldı. MIT lisansı: kendi mağazanızda da müşteri işlerinizde de ücretsiz kullanabilirsiniz.
Sınırlar ve özel durumlar
- includeInactive: true vermezseniz pasif seviyeler listelenmez.
- on_hand; available, committed ve satılamayan durumların toplamıdır. incoming henüz elde olmayan, yoldaki stoktur.
- Binlerce kalemlik tam bir stok dökümü için aynı sorguyu bulk operation olarak çalıştırın.
Sık sorulan sorular
- Shopify’da belirli bir lokasyonun stoğunu nasıl alırım?
- location(id) { inventoryLevels(first: 100) { nodes { item { sku } quantities(names: ["available"]) { quantity } } } } sorgusunu çalıştırıp sonuçları sayfalayın.
- available ile on_hand arasındaki fark nedir?
- available şu an satılabilecek miktardır. on_hand ise fiziksel olarak orada olan her şeydir; siparişlere ayrılmış ve hasarlı ya da rezerve olarak ayrılmış adetler dahil.
- inventoryLevel.available alanı neden yok?
- Yerini, herhangi bir stok durumunu adıyla döndüren quantities(names: [...]) aldı.
Shopify belgeleri
- Gösterilen tarihte, 2026-10 sürümünün Admin veya Storefront API şemasıyla doğrulandı. İstek adresinizdeki sürümü kontrol edin.
- Örneklerdeki ID’ler ve mağaza adresleri yer tutucudur. Kendi değerlerinizle değiştirin.
- Admin API çağrıları uygulamanızdan bir erişim anahtarı (access token) ister. Admin API anahtarını asla vitrine ya da temaya koymayın.
- MIT lisansı. Kodu kendi mağazanızda da müşteri işlerinizde de kullanabilirsiniz.
Mağazanız için kurulmasını, test edilmesini ve bakımını isterseniz: API entegrasyonları.
