API

Migros API: ürün, fiyat ve indirimleri JSON olarak

Migros'un geliştiricilere açık bir API'si yok. Burada dönen şey Sanal Market'in herkese gösterdiği katalog: ürün, marka, raf fiyatı ve ayrı bir alan olarak Money kart fiyatı. Bir de çoğu motorda bulunmayan bir uç var: ürünü **barkodundan** bulabiliyorsunuz, yani elinizdeki paketten doğrudan kayda gidebiliyorsunuz.

Uçlar

endpointNe döndürürZorunlu
searchAnahtar kelimeyle arama. Her ürün raf fiyatıyla ve ayrıca Money kart fiyatıyla birlikte gelir.query
product/detailTek ürünün tamamı: başlık, marka, kategori yolu ve bütün alanlar. `product_id` ya da ürün adresiyle.product_id
product/barcodePaketin üzerindeki EAN/GTIN barkoduyla ürünü bulur ve `product/detail` ile aynı tam kaydı döner.barcode
dealsMigros'un kendi indirim sayfaları: tüm indirimli ürünler, Money kart indirimleri ve çoklu alım kampanyaları.hepsi opsiyonel
categoryBir kategorideki bütün ürünler, sayfalı, aramayla aynı satır ve filtrelerle.category
categoriesSanal Market'in ana raf ağacı: her ana kategori, id'si ve adresi.hepsi opsiyonel
suggestKullanıcı yazarken çıkan öneriler: arama ifadeleri, markalar ve kategoriler.query

Her çağrı kredi ile ücretlendirilir. Başarısız ve engellenen çağrılar ücretsizdir.

Çalışan örnek

Raf fiyatı ile Money kart fiyatı aynı sayfada iki ayrı değer. Tek bir 'fiyat' alanı toplayan bir karşılaştırma, kartlı ve kartsız fiyatları karıştırır ve sonuç doğru görünür ama değildir.

İstek
curl -X POST https://api.reefapi.com/migros/v1/product/barcode \
  -H "x-api-key: ANAHTARINIZ" \
  -H "content-type: application/json" \
  -d '{"barcode": "8690632000015"}'
Yanıt (kısaltılmış)
{
  "ok": true,
  "data": {
    "product": {
      "product_id": "...",
      "title": "...",
      "brand": "...",
      "price": 89.9,
      "money_card_price": 79.9
    }
  },
  "meta": { "record_count": 1, "cache_hit": false, "mode": "live" }
}

Migros için kendi scriptinizi yazmak yerine

Migros kataloğunu kendiniz çekmek ilk gün çalışır. Sonrasında iki şey oluyor ve ikisi de sessiz: site yapısını değiştirdiğinde ayrıştırıcınız hata vermeden boş liste döndürür, bot koruması devreye girdiğinde istek engellenir.

Markette ayrıca kendine özgü bir tuzak var: Money kart fiyatı ile raf fiyatı aynı kartta duruyor. İlk bulduğu sayıyı alan bir script ikisini karıştırır ve ortaya hiçbir yerde hata vermeyen yanlış bir veri tabanı çıkar.

Tek seferlik bir çıkarım için kendi scriptiniz daha ucuz, bunu dürüstçe söylüyoruz. Günlük çalışan bir fiyat takibi kuruyorsanız maliyet kodda değil, fark edilmeyen kırılmalarda birikir.

Sınırlar ve dürüst notlar

  • Bu Migros'un resmi API'si değildir ve Migros ile bir ortaklığımız yoktur.
  • Raf fiyatı ve Money kart fiyatı ayrı alanlardır. Ürünün kart indirimi yoksa o alan null gelir.
  • Katalog Sanal Market'i kapsar; mağazaya özel fiyat ve stok burada yayımlanmaz.
  • Her çağrı canlıdır, önbellekten yanıt dönmez.