Merchant Center hesaplarınızda veri değişiklikleri olduğunda push bildirimleri almak için Notifications alt API'sini kullanabilirsiniz. Değişiklikleri tespit etmek için API'yi düzenli olarak sorgulamak yerine, yapılandırdığınız bir HTTPS uç noktasına doğrudan gönderilen gerçek zamanlı etkinlik feed'lerine abone olabilirsiniz.
Notifications alt API'si, aşağıdakilerle ilgili bildirimleri destekler:
- Ürün durumu değişiklikleri: Bağlı hesaplarınızın veya alt hesaplarınızın herhangi birinde ürün onay durumu değiştiğinde (ör. bir ürün onaylanmadığında veya onaylandığında) gerçek zamanlı uyarılar alın.
- Hesap hizmeti değişiklikleri:
Bir
AccountServicekaynağı oluşturulduğunda, güncellendiğinde veya silindiğinde (ör. bir hesap hizmeti ilişkisi kurulduğunda, değiştirildiğinde veya kaldırıldığında) anlık uyarılar alın.
Ön koşullar ve geri çağırma URI'si kurulumu
Push bildirimleri almak için callBackUri sağlamanız gerekir. Geri çağırma URI'nız aşağıdaki koşulları karşılamalıdır:
- Tanınmış bir sertifika yetkilisi tarafından imzalanmış geçerli bir SSL sertifikasına sahip, herkese açık bir HTTPS adresi olmalıdır.
Content-Typeüst bilgisiapplication/jsonolarak ayarlanmış HTTPPOSTisteklerini kabul etmelidir.Bildirimin alındığını onaylamak için aşağıdaki HTTP durum kodlarından birini döndürmelidir:
102200201202204
Birden fazla abonelik için aynı geri çağırma URI'sini kullanabilirsiniz. Tek bir uç nokta üzerindeki yükü en aza indirmek için gelişmiş hesap ve etkinlik türü başına benzersiz bir geri çağırma URI'si kullanın.
Abonelikleri yönet
Bildirimler alt API'si; bildirim yapılandırmaları oluşturma, listeleme, alma, güncelleme ve silme yöntemleri sağlar.
Abonelik oluşturma
Abonelik oluşturma, almak istediğiniz etkinlik türüne özeldir. Her etkinlik türü farklı yapılandırma alanları gerektirir ve farklı yük yapıları sunar.
Abonelik oluşturmayı ve her etkinlik türü için örnek istekleri görüntülemeyi öğrenmek üzere ilgili kılavuzları inceleyin:
Abonelikleri listeleme
Bir hesaba ait tüm bildirim aboneliklerini listelemek için notificationsubscriptions koleksiyonuna bir GET isteği gönderin:
GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions
Abonelik alma
Belirli bir abonelikle ilgili ayrıntıları öğrenmek için aboneliğin kaynak adını kullanın:
GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}
Abonelik güncelleme
Mevcut bir aboneliğin geri çağırma URI'sini güncellemek için güncellenecek alanları belirten bir update_mask ile PATCH isteği gönderin:
PATCH https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}?update_mask=callBackUri
{
"callBackUri": "https://example.com/updated-callback"
}
Abonelik silme
Bildirim almayı durdurmak için aboneliği silin:
DELETE https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}
Bildirimlerin kodunu çözme
Bir etkinlik gerçekleştiğinde Google, kayıtlı callBackUri adresinize bildirim gönderir. Push bildirimi, base64 ile kodlanmış data yükü içeren bir JSON zarfında gelir:
{"message":{"data":"{base64_encoded_string}"}}
JSON etkinlik yüküne erişmek için veri dizesinin kodunu çözün. Aşağıdaki örnek Spring Boot denetleyicisi, push bildirimlerinin nasıl alınacağını ve kodunun nasıl çözüleceğini gösterir:
@RestController
public class ExampleController {
@RequestMapping(value = "/push",
method = RequestMethod.POST,
consumes = {"application/json"},
produces = {"text/plain"})
@ResponseStatus(HttpStatus.OK)
public void handleNotification(@RequestBody String message) {
JSONObject jsonObject = new JSONObject(message);
JSONObject jsonMessage = jsonObject.getJSONObject("message");
String encodedData = jsonMessage.getString("data");
byte[] decodedBytes = Base64.getDecoder().decode(encodedData);
String decodedPayload = new String(decodedBytes);
// Process decodedPayload according to the registered event type
}
}
Sonraki adımlar
Abonelikleri yapılandırmak ve belirli etkinlikler için kodu çözülmüş yükleri işlemek üzere aşağıdaki kaynakları inceleyin:
- Ürün durumu değişiklikleri için push bildirimleri alma:
Ürün onayı ve ret güncellemelerine nasıl abone olacağınızı ve
ProductStatusChangeMessageyükünü nasıl ayrıştıracağınızı öğrenin. - Hesap hizmeti değişiklikleri için push bildirimleri alma:
Hesap ilişkisi güncellemelerine nasıl abone olacağınızı ve
ResourceChangeMessageyükünü nasıl ayrıştıracağınızı öğrenin.