Kısa cevap: CONSUMPTION_REQUEST, bir müşteri uygun bir uygulama içi satın alma veya abonelik için geri ödeme talep ettiğinde Apple'ın sunucunuza gönderdiği bildirimdir. Yanıt vermek için yapılandırılmış bir ConsumptionRequest geri gönderirsiniz; bu, müşterinin satın aldığı şeyi nasıl kullandığını, onay verip vermediğini ve geri ödeme tercihinizi açıklayan bir alanlar kümesidir. Apple bu alanları kararında değerlendirir. Bu kılavuz her birinin ne anlama geldiğini ve neden önemli olduğunu açıklar.
Bildirim nedir
Bir müşteri Apple'dan geri ödeme talep ettiğinde App Store, App Store Server Notifications aracılığıyla sunucunuza bir CONSUMPTION_REQUEST gönderir. Bu, Apple'ın şöyle dediği anlamına gelir: Bu müşterinin bu satın almayı nasıl kullandığı hakkında bildiklerinizi bize söyleyin, biz de bunu kararımıza dahil edelim.
Bir ConsumptionRequest gövdesi döndürerek yanıt verirsiniz. Her değer bir sinyaldir. Doğru ve eksiksiz apple geri ödeme verisi gönderirseniz Apple'ın bağlamı olur; alanları boş bırakırsanız Apple daha az bilgiyle karar verir. Geri ödemeyi siz onaylamaz veya reddetmezsiniz nihai kararı her zaman Apple verir ama gönderdiğiniz verinin kalitesi olasılıkları şekillendirir. Sürecin tamamı için bkz. Apple Geri Ödeme Taleplerini Otomatikleştirme Yöntemi.
Apple'ın kabul ettiği alanlar
Bir ConsumptionRequest'e neler girdiğini ve her alanın Apple'a ne anlattığını burada bulabilirsiniz. Bu consumption request alanları, consumption api iş akışında kullanılan yapılandırılmış verileri sağlar:
Alan | Neyi temsil eder | Neden önemli |
customerConsented | Müşterinin bu veriyi paylaşmaya onay verip vermediği | Zorunlu. true olmalıdır, aksi halde Apple yanıtı işlemez. |
consumptionStatus | Tüketilmedi / kısmen tüketildi / tamamen tüketildi | Tamamen tüketilmiş bir satın alma, hiç kullanılmamış bir satın almadan çok farklı bir durumdur. |
deliveryStatus | Değerin veya hizmetin başarıyla teslim edilip edilmediği | "Teslim ettik, onlar kullandı" durumunu gerçek bir teslimat hatasından ayırır. |
refundPreference | Sizin önerinizi belirtir: belirtilmedi / onaylanması tercih edilir / reddedilmesi tercih edilir | Apple'ın girdilerinden biridir — kanıtlarınız bunu destekliyorsa, karardaki sesiniz budur. |
accountTenure | Müşterinin sizde ne kadar süredir hesabı olduğu | Uzun süredir var olan bir hesap, yepyeni bir hesaptan farklı değerlendirilir. |
playTime | Müşterinin uygulamanızda ne kadar zaman geçirdiği | Geri ödemesini istediği şeyle ilgili etkileşimin doğrudan kanıtı. |
lifetimeDollarsPurchased | Müşterinin uygulamalarınızda toplam harcadığı tutar | Bunun tek seferlik bir satın alma mı yoksa değerli, köklü bir müşteri mi olduğuna dair bağlam sağlar. |
lifetimeDollarsRefunded | Bu müşteriye önceden iade edilen toplam tutar | Tekrarlanan geri ödeme deseni önemli bir sinyaldir. |
sampleContentProvided | Müşterinin satın almadan önce deneme yapıp yapamadığı | Satın almanın bilinçli yapılıp yapılmadığına işaret eder. |
userStatus | Mevcut hesap durumu (aktif, askıya alınmış vb.) | Talep anında müşterinin durumunu çerçeveler. |
Apple bunların çoğunu tanımlı değer kümelerine eşler (örneğin, consumptionStatus ve deliveryStatus belirli sayılandırılmış kodlar kullanır). Tam kodlar aşağıda bağlantısı verilen Apple dokümantasyonunda bulunur ve değişebilir; bu da bir yanıtı güncel tutmanın tek seferlik bir yapım işi değil, sürekli bir çalışma olmasının nedenlerinden biridir.
En önemli üç alan
Bir şeye odaklanacaksanız, buraya odaklanın:
customerConsented: Bu yalnızca önemli değil, aynı zamanda bir eşiktir. Değer true olmazsa Apple göndermenin tamamını reddeder ve veriyi göndermeden önce uygulamanızda bu onayı almış olmaktan yasal olarak siz sorumlusunuzdur. Bu, teknik olduğu kadar bir uyumluluk alanıdır da. Onay gereksinimini Müşteri Onayı ve Consumption API başlıklı yazımızda ayrıntılı olarak ele alıyoruz.
refundPreference: Elinizdeki oya en yakın şey budur. Kanıtlarınız gerçekten reddi destekliyorsa, bu tercihi belirtmek Apple'ın değerlendirdiği girdilerden biridir. Desteklemiyorsa, reddetme tercihini zorlamak sihirli bir geçersiz kılma değildir Apple yine de kararı kendisi verir.
consumptionStatus: Müşterinin satın aldığı şeyi gerçekten kullanıp kullanmadığı, çoğu zaman davanın can alıcı noktasıdır. Aynı zamanda, talep geldiği anda kullanım verileriniz doğru ve güncel değilse yanlış girilmesi en kolay alanlardan biridir.
Bu alanları doğru doldurmak göründüğünden neden daha zor
Bir alan tablosunu okurken bu, bir öğleden sonrada bitirilecek hızlı bir iş gibi görünebilir. Pratikte, iyi bir yanıt vermek şu anlama gelir:
Bir talep geldiği anda, dünün anlık görüntüsü değil, her müşteri için doğru ve o ana kadar güncel kullanım ve faturalama verilerini çekmek.
İç verilerinizi Apple'ın tam değer kümelerine eşlemek ve Apple bunları güncelledikçe bu eşlemeyi doğru tutmak.
Bunu, günün her saatinde, kimse izlemeden ~12 saatlik pencere içinde yapmak.
Ne gönderdiğinizi kanıtlayabilmek ve işe yarayıp yaramadığını görebilmek için onay durumunu, yeniden denemeleri, hataları ve günlük kaydını yönetmek.
Bunların hiçbiri kavramsal olarak zor değildir. Hepsi, ürününüz olmayan bir iş akışı için sahiplenip sürdürmeniz gereken bir altyapıdır. Çoğu ekibin sonunda yaptığı hesap şudur: alanlar öğrenilebilir, ama bunlar için güvenilir, süre sınırına uyan, uyumlu bir yanıtlayıcı kurmak ve sürdürmek, gerçek uygulamanıza hiçbir fayda sağlamayan kalıcı bir maliyettir.
RefundSensor'ın doldurduğu boşluk da budur. Her alanı verilerinizden eşler, Apple'ın değişiklikleriyle güncel kalır ve pencere içinde otomatik olarak yanıt verir; böylece geri ödemeleri belirleyen doğruluk, siz inşa etmeden veya üzerinde bekçilik yapmadan sağlanır. Apple geri ödeme otomasyon yazılımlarını karşılaştıran ekipler için bu, altyapı yükünü iş akışından kaldırır.
Resmi kaynaklar
Apple'ın değer kümeleri ve gereksinimleri değişir, bu nedenle dokümantasyonunu nihai referans olarak kabul edin:
Alanlar öğrenilebilir. Bunlar için bir yanıtlayıcı sürdürmek sizin işiniz değil. RefundSensor, her ConsumptionRequest alanını verilerinizden eşler ve Apple'ın penceresi içinde otomatik olarak, doğru, güncel ve uyumlu şekilde yanıt verir. Ücretsiz başla
Sık sorulan sorular
Bu, bir müşteri uygun bir satın alma için geri ödeme talep ettiğinde Apple'ın gönderdiği App Store Server Notification'dır. Apple'ın geri ödeme kararında değerlendirdiği tüketim verilerini geri göndermenizi ister.
Onay, tüketim durumu, teslimat durumu, hesap süresi, oynama süresi, toplam harcama ve geri ödemeler, örnek içerik, hesap durumu ve geri ödeme tercihinizi açıklayan alanlar. Her biri Apple'ın kararına kattığı bir sinyaldir.
customerConsented kesin bir eşiktir; bu olmadan yanıt reddedilir. refundPreference ve consumptionStatus ise, kanıtlarınız davanızı desteklediğinde sonucu en doğrudan şekillendiren alanlardır.
Bir tercih, doğru tüketim ve teslimat verileriyle desteklendiğinde daha fazla ağırlık taşır. Eksik yanıtlar Apple'a hareket edebileceği daha az veri sunar, bu nedenle tek başına bir tercih, kanıtlarla desteklenen bir tercihten daha zayıftır.
Hayır. Nihai kararı her zaman Apple verir. Doğru veri olasılıklarınızı artırır ama size veto hakkı vermez.



