Notifications alt API'sine genel bakış

Merchant Center hesaplarınızdaki veriler değiştiğinde push bildirimi almak için Bildirimler alt API'sini kullanabilirsiniz. Değişiklikleri algılamak için API'yi düzenli olarak yoklamak 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ğıdaki 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 (örneğin, bir ürünün onaylanmaması veya onaylanması) anlık uyarılar alın.
  • Hesap hizmeti değişiklikleri: Bir AccountService kaynağı 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) gerçek zamanlı uyarılar alın.

Ön koşullar ve geri çağırma URI'si kurulumu

Push bildirimi almak için callBackUri sağlamanız gerekir. Geri arama URI'niz 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 üstbilgisi application/json olarak ayarlanmış HTTP POST isteklerini kabul etmelidir.
  • Bildirimin alındığını onaylamak için aşağıdaki HTTP durum kodlarından birini döndürmelidir:

    • 102
    • 200
    • 201
    • 202
    • 204

Birden fazla abonelik için aynı geri çağırma URI'sini kullanabilirsiniz. Tek bir uç noktadaki yükü en aza indirmek için her 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ını 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ılavuzlara bakın:

Abonelikleri listeleme

Bir hesaptaki tüm bildirim aboneliklerini listelemek için GET koleksiyonuna notificationsubscriptions isteği gönderin:

GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions

Aboneliği geri alma

Belirli bir aboneliğin ayrıntılarını almak için aboneliğin kaynak adını kullanın:

GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}

Aboneliği 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"
}

Aboneliği 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 cihazınıza bildirim gönderir. Push bildirimi, base64 kodlu 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 denetleyicisinde, push bildirimlerinin nasıl alınacağı ve kodunun nasıl çözüleceği gösterilmektedir:

@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 kod çözümü yapılmış yükleri işlemek üzere aşağıdaki makaleleri inceleyin: