Notifications alt API'sine genel bakış

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 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) 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 bilgisi 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ç 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: