Push bildirimleri

Genel Bakış

Bayi API'si, push bildirimlerini göndermek için Pub/Sub API'yi kullanır farklı Google Workspace ile ilgili bildirimler abonelik etkinlikleri. Örneğin, push bildirimlerini kullanarak müşterilerinize yönelik bir dönüşüm işlemi olduğunda abonelik durumları unutmayın.

Ön koşullar

  • Pub/Sub API'yi etkinleştirin Google Cloud projeniz için.
  • Şurada hizmet hesabınıza Pub/Sub IAM rolleri verin: Cloud projesi. YouTube'da roles/pubsub.editor rolü iyi bir uzlaşmaya sahip (kolay ve çok geniş değil), ancak daha spesifik Pub/Sub izinleri.

Konu oluşturma

Konu oluşturmak için Bayi API'sine kaydolmanız gerekir. öğesini kullanarak resellernotify.register yöntemini kullanın. resellernotify.register yöntemi, parametresinden sonra bir değer girin. Yalnızca bu yöntemle yetkilendirilen hizmet hesapları konu.

POST https://reseller.googleapis.com/apps/reseller/v1/resellernotify/register
{
  "serviceAccountEmailAddress": "reseller@reseller-project.iam.gserviceaccount.com"
}

Başarılı bir yanıt, HTTP 200 durum kodu döndürüyor ve Pub/Sub konu adınızı içeren bir JSON yanıtı içerir.

Aşağıda örnek bir yanıt verilmiştir:

{
  "topicName": "projects/partner-watch/topics/C0abcdefg"
}

Ek hizmet hesaplarını konunuzu kullanacak şekilde yetkilendirmek için: resellernotify.register tekrar.

Bir hizmet hesabının erişimini iptal etme

Satıcı API'sı, hizmet hesaplarının kaydını iptal etme olanağı da sunar. resellernotify.unregister uç noktasını kullanarak:

POST https://reseller.googleapis.com/apps/reseller/v1/resellernotify/unregister
{
  "serviceAccountEmailAddress": "reseller@reseller-project.iam.gserviceaccount.com"
}

Bir konuya abone olma

Pub/Sub konusunu oluşturduktan sonra uygulamanızın nasıl yapılacağını ayarlamanız gerekir. tükettiğini gösterir. Aşağıdaki seçeneklerden birini belirleyin:

  • Push aboneliği: Bir HTTP POST geri çağırması sağlarsınız. Pub/Sub kullanımları bu geri çağırmayı kullanın.
  • Abonelik çekme: Uygulamanız düzenli olarak sıraya alınan tüm değişiklikleri al.
ziyaret edin.

Aşağıda, bir konuya abone olmaya yönelik örnek bir istek verilmiştir:

PUT https://pubsub.googleapis.com/v1/projects/PROJECT/subscriptions/SUBSCRIPTION_NAME
{
  "topic": "TOPIC_NAME"
  // Only needed for push configurations
  "pushConfig": {
    "pushEndpoint": "PUSH_NOTIFICATION_ENDPOINT"
  },
}

Aşağıdakini değiştirin:

  • PROJECT: Google Cloud projeniz.
  • SUBSCRIPTION_NAME: alan adınız için tanımlayıcı ad abonelik.
  • TOPIC_NAME: Daha önce oluşturduğunuz Pub/Sub konusu oluşturuldu.
  • PUSH_NOTIFICATION_ENDPOINT: Push bildiriminiz işleyici uç noktasıdır.

Başarılı bir yanıt, HTTP 200 durum kodu döndürür. Bu, örnek yanıt:

{
  "name": "projects/PROJECT/subscriptions/SUBSCRIPTION_NAME",
  "topic": "TOPIC_NAME",
  "pushConfig": {
    "pushEndpoint": "PUSH_NOTIFICATION_ENDPOINT"
    },
  "ackDeadlineSeconds": 10
}

Bildirim biçimleri

Aşağıda örnek bir Pub/Sub bildirimi verilmiştir. Mesaj verileri, base64 kodlu JSON dizesi olarak iletilir.

{
  "message": {
    "attributes": {},
    "data": "eyJza3VfaWQiOiAiR29vZ2xlLUFwcHMtVW5saW1pdGVkIiwgImV2ZW50X3R5cGUiOiAiU1VCU0NSSVBUSU9OX0NBTkNFTExFRCIsICJjdXN0b21lcl9kb21haW5fbmFtZSI6ICJkb21haW4uY29tIiwgInN1YnNjcmlwdGlvbl9pZCI6ICIxMjM0NTY3IiwgImN1c3RvbWVyX2lkIjogIkMwYWJjZGVmIiwgIm1lc3NhZ2VfaWQiOiAiODY3NTMwOSIsICJwdWJsaXNoX3RpbWUiOiB7InNlY29uZHMiOiAxNDU3NzMxODQ2LCAibmFub3MiOiAzNDkwMDAwMDB9LCAicmVzZWxsZXJfY3VzdG9tZXJfaWQiOiAiQzByZXNlbGxlciJ9",
    "message_id": 1234567891012131
  },
  "subscription": "projects/PROJECT/subscriptions/SUBSCRIPTION_NAME"
}

Aşağıda, kod çözme işleminden sonra örnek message.data nesnesi verilmiştir:

{
  "customer_id": "C0abcdef",
  "customer_domain_name": "domain.com",
  "event_type": "SUBSCRIPTION_CANCELLED",
  "sku_id": "Google-Apps-Unlimited",
  "subscription_id": "1234567",
  // Optional fields depended on event_type
  "subscription_suspension_reasons": [],
  "subscription_cancellation_reason": "REASON"
}

Etkinlik türleri

Aşağıdaki liste olası tüm etkinlik türlerini içerir:

  • NEW_SUBSCRIPTION_CREATED: Yeni bir abonelik oluşturuldu.
  • SUBSCRIPTION_TRIAL_ENDED: Bir aboneliğin deneme süresi sona erdi.
  • PRICE_PLAN_SWITCHED: Müşteri, esnek plandan yıllık plana geçti daha fazla bilgi edineceksiniz. Müşteri bir taahhüt türünden esnek bir plana geçirilir.
  • COMMITMENT_CHANGED: Yıllık taahhüt artırıldı veya azaltıldı.
  • SUBSCRIPTION_RENEWED: Yıllık abonelik yenilendi.
  • SUBSCRIPTION_SUSPENDED: Abonelik askıya alındı. Bkz. subscription_suspension_reasons alanı boş bırakılamaz.
  • SUBSCRIPTION_SUSPENSION_REVOKED: Daha önce askıya alınmış bir abonelik için askıya alma işlemi iptal edildi.
  • SUBSCRIPTION_CANCELLED: Abonelik iptal edildi. Bkz. subscription_cancellation_reason alanı boş bırakılamaz. Aşağıdakileri algılamak için de kullanılabilir: aktarım.
  • SUBSCRIPTION_CONVERTED: Abonelik dönüştürüldü. Konuyla ilgili bu etkinlik aşağıdaki gibidir:

    • Doğrudan aboneliği bayi aboneliğine dönüştürün.
    • Ücretli aboneliği ek süre teklifine dönüştürün.
    • Online aboneliği çevrimdışı aboneliğe dönüştürün.
  • SUBSCRIPTION_UPGRADE: Abonelik SKU'su yükseltildi. Örneğin, abonelik, Google Workspace Business Starter'dan Business'a yükseltildi Standart.

  • SUBSCRIPTION_DOWNGRADE: Abonelik SKU'su eski sürüme geçirildi. Örneğin, abonelik, Google Workspace Business Standard'dan Business Starter.

  • LICENSE_ASSIGNMENT_CHANGED: Şu lisansa atandı: belirtir. Bu etkinliği, Google Ads hesabınızdaki koltuk sayısı değişikliklerini tepkisel olarak izlemek için Esnek abonelikler.

Abonelik iptal nedenleri

Abonelik iptal nedeni, event_type şu durumlarda doldurulur: SUBSCRIPTION_CANCELLED. Olası iptal nedenleri şunlardır:

  • TRANSFERRED_OUT: Müşteri doğrudan faturalandırmaya veya başka bir bayi.
  • PURCHASE_OF_SUBSUMING_SKU: Müşteri, şu özelliklere sahip bir SKU'ya geçiş yaptı: diğerini geçersiz kılar. Örneğin, Google Workspace Business kullanan bir müşteri Google Workspace Business Plus'a yükseltme, Apps Kasası aboneliği Google Workspace Business Plus.
  • RESELLER_INITIATED: Bayi, aboneliği iptal etti.
  • OTHER: Abonelik, listelenenlerden farklı bir nedenle iptal edildi.

Aboneliğin askıya alınmasının nedenleri

Aboneliğin askıya alınma nedeni, event_type için şu koşulda doldurulur: SUBSCRIPTION_SUSPENDED. Hesabın askıya alınmasının olası nedenleri şunlardır:

  • PENDING_TOS_ACCEPTANCE: Müşteri giriş yapmadı ve Google Workspace Yeniden Satışı Yapılan Hizmet Şartları.
  • RENEWAL_WITH_TYPE_CANCEL: Müşterinin taahhüdü sona erdi ve müşterinin Hizmet döneminin sonunda iptal edilmiş olması.
  • RESELLER_INITIATED: Bayi, aboneliği manuel olarak askıya almıştır.
  • TRIAL_ENDED: Müşterinin deneme süresi sona erdi ve müşteri seçim yapmadı deneme olmayan bir plan kullanın.
  • OTHER: Müşteri, Google'ın dahili bir nedenden dolayı askıya alındı: suistimal gibi.

Pub/Sub sınırlamaları

Push bildirimlerinin sırası garanti edilmez. Mesajlar teslim edilebilir ve aşırı durumlarda hiç böyle bir durum söz konusu değildir. Önerilerimiz reseller.subscriptions.get, değiştirilen tüm aboneliklerde durumu özetlemeyi unutmayın.