Mengelola hak untuk penawaran pribadi

Saat pelanggan membeli penawaran pribadi, Google membuat hak, yang menunjukkan bahwa pelanggan telah membeli penawaran dari Cloud Marketplace.

Artikel ini meninjau cara mengelola hak untuk penawaran pribadi Anda menggunakan Partner Procurement API.

Untuk mengetahui detail tentang penggunaan Partner Procurement API untuk penawaran pribadi, buka dokumentasi referensi.

Menyetujui hak

Saat pelanggan membeli penawaran pribadi, Cloud Marketplace membuat hak dan mengirimkan pesan Pub/Sub berikut ke produk Anda:

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_CREATION_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "updateTime": "...",
  "newOfferDuration": "P1Y6M", // Contract duration for the offer
  "newOfferEndTime": "", // Ending time for the offer
  },
}

Dalam contoh ini, ENTITLEMENT_ID adalah ID yang dibuat oleh Cloud Marketplace.

Jika penawaran dibuat dengan durasi, pesan akan menampilkan durasi dalam tahun dan bulan, dan kolom newOfferEndTime kosong. Jika penawaran dibuat dengan waktu berakhir yang ditentukan, pesan akan menampilkan waktu berakhir penawaran tersebut, dan kolom newOfferDuration kosong.

Di sistem Anda, perbarui akun pengguna untuk mencerminkan bahwa mereka telah membeli penawaran. Kemudian, untuk menyetujui hak, buat permintaan HTTP POST ke Partner Procurement API, dan kirim ENTITLEMENT_ID yang Anda setujui:

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approve

Menolak hak

Untuk menolak hak, gunakan metode reject dalam permintaan HTTP POST Anda:

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:reject

Mengganti penawaran aktif

Bergantung pada cara Anda menyiapkan penawaran pribadi, pelanggan Anda mungkin dapat mengganti penawarannya. Jika pelanggan memilih penawaran pribadi baru, Anda akan menerima pesan Pub/Sub, dalam format berikut:

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_PLAN_CHANGE_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "newPlan": "ultimate",   // New plan for the offer,
  "newOffer": "OFFER2",    // New offer,
  "updateTime": "...",
  "newOfferDuration": "P2Y",   // Contract duration for the new offer
  },
}

Dalam contoh ini, OFFER2 adalah penawaran pengganti dan ENTITLEMENT_ID adalah ID yang dibuat oleh Cloud Marketplace. Durasi penawaran diberikan dalam hitungan tahun dan bulan.

Untuk menyetujui penggantian penawaran, buat permintaan HTTP POST berikut ke Partner Procurement API:

POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approvePlanChange

Isi permintaan harus memiliki rencana untuk penawaran yang disetujui:

{
  "pendingPlanName": PLAN_NAME
}

Setelah perubahan disetujui, Anda akan menerima pesan Pub/Sub lain saat perubahan diterapkan. Dalam pesan, kolom eventType berubah menjadi ENTITLEMENT_PLAN_CHANGED. Untuk memeriksa status rencana, buat permintaan HTTP GET berikut ke Partner Procurement API:

GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID

Responsnya mirip dengan berikut ini, dengan kolom status yang menunjukkan apakah penawaran baru aktif, atau apakah perubahan penawaran masih tertunda:

{
  "name": "providers/PARTNER_ID/entitlements/ENTITLEMENT_ID",
  "provider": "PARTNER_ID",
  "account": "USER_ACCOUNT_ID",
  "product": "example-server",
  "Offer":   "OFFER1",
  "plan": "pro",
  "state": "ENTITLEMENT_PENDING_PLAN_CHANGE",
  "newPendingOffer": "OFFER2",
  "newPendingPlan": "ultimate",
  "newOfferDuration": "P2Y",
  "newOfferEndTime": "",
  ...
}

Menyelesaikan tugas hak lainnya

Untuk tugas hak lainnya yang tidak spesifik untuk penawaran pribadi, lihat dokumentasi publik Cloud Marketplace:

Daftar jenis acara untuk tugas akun penawaran pribadi

Tabel berikut berisi eventType yang mungkin diterima produk Anda di pesan Pub/Sub untuk penawaran pribadi.

Untuk mengetahui daftar lengkapnya, baca Daftar jenis peristiwa untuk tugas akun.

eventType Deskripsi
ENTITLEMENT_OFFER_ENDED Menunjukkan bahwa penawaran pribadi pelanggan telah berakhir. Penawaran ini memicu peristiwa ENTITLEMENT_CANCELLED atau tetap aktif dengan harga tanpa diskon.

Langkah selanjutnya