veinpsyco adlı üyeden alıntı: mesajı görüntüle
Hocam bu tip CDN'de görseli asenkron işleyen API'lerde (Shopier'in iç işleyişini bilmiyorum ama davranış tipik) kalıcı çözüm görselin hazır olmasını beklemek değil, kontrol edip öyle yönlendirmek:
1) Hazır olana kadar yokla: POST cevabında dönen ürünün görsel URL'sini al (yoksa ürünü GET ile çek). Sunucu tarafında bu URL'ye 500 ms aralıkla HEAD/GET at, 200 ve content-type: image/* gelince kullanıcıyı ürün sayfasına yönlendir. 15 sn üst sınır koy, aşarsa yine yönlendir. Kullanıcıya bu arada "Ürün hazırlanıyor..." göster; bu birkaç saniye yeterli oluyor.
2) Kendi önizlemeni göster: Kendi panelinde/listende Shopier'in URL'si yerine senin yüklediğin orijinal görseli göster, Shopier linkini sadece "Mağazada gör" butonunda kullan. Kullanıcı kırık görsel hiç görmez.
3) Kaynak tarafı: media.url'nin verdiğin sunucuda doğrudan, yönlendirmesiz (301/302 yok), doğru Content-Type ve Content-Length ile döndüğünden emin ol; Cloudflare gibi bot korumaları ilk istekte challenge verip Shopier'in çekmesini geciktirebiliyor. Görseli kendi CDN'inde kalıcı ve herkese açık bir URL'den ver.
4) Dokümanda ayrı bir "media upload" uç noktası varsa (önce yükle, ID al, sonra ürüne bağla) o daha iyi; yükleme cevabı geldiğinde dosya işlenmiş oluyor. Yoksa 1+2 en sağlam yol.
Teşekkürler hocam, detaylı açıklama için. Dediğiniz 1. yöntem mantıklı geldi. 1-2 saniyelik bekleme sorun değil, hazır olduğu anda yönlendirme şeklinde deneyeceğim.
Bu arada Shopier PAT tarafında direkt media upload veya media ID ile ürüne görsel bağlama yöntemini daha önce kullandıysanız endpoint/payload bilgisini de paylaşırsanız çok sevinirim. /v1/media denediğimde 404 dönüyor.