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.
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.