Mengelola akun pengguna untuk produk SaaS Anda

Pada level tinggi, aplikasi Anda harus menangani skenario berikut:

  1. Pengguna membuat permintaan atau perubahan di Cloud Marketplace, seperti mendaftar ke produk Anda.

  2. Cloud Marketplace mengirimkan notifikasi ke aplikasi Anda melalui Pub/Sub, yang berisi informasi tentang permintaan di kolom eventType. Misalnya, jika pengguna mengubah haknya, eventType adalah ENTITLEMENT_PLAN_CHANGED.

    Lihat daftar lengkap kemungkinan eventType.

  3. Untuk menyetujui permintaan, aplikasi Anda mengirimkan permintaan HTTP POST ke Partner Procurement API.

Bagian berikut menjelaskan jenis permintaan yang dapat dilakukan pengguna, dan hal yang harus dilakukan aplikasi Anda untuk menangani permintaan tersebut.

Untuk panggilan API yang dijelaskan di bagian ini, gunakan endpoint ini:

https://cloudcommerceprocurement.googleapis.com/

Sebelum memulai

Membuat akun untuk pengguna baru

Saat pengguna pertama kali membeli produk Anda, Cloud Marketplace akan membuat resource akun yang melacak hubungan pengguna dengan Anda. Untuk pembelian berikutnya terhadap produk yang Anda miliki, resource akun yang sama akan digunakan kembali. Setiap kali pengguna melakukan pembelian pertama produk Anda, jika Anda telah mengaktifkan notifikasi akun untuk produk tersebut, Anda akan diberi tahu melalui topik Pub/Sub yang dibuat untuk Anda. Pesan Pub/Sub dalam format berikut:

{
  "eventId": "...",
  "providerId": "YOUR_PARTNER_ID",
  "account": {
    "id": "USER_ACCOUNT_ID",
    "updateTime": "..."
  }
}

dengan USER_ACCOUNT_ID adalah ID akun yang dibuat oleh Cloud Marketplace dan YOUR_PARTNER_ID adalah ID yang ditetapkan kepada Anda saat Partner Engineer mengaktifkan akses ke Partner Procurement API.

Secara bersamaan, pengguna akan diarahkan ke halaman pendaftaran Anda, tempat mereka membuat akun di sistem Anda. Untuk informasi tentang cara membuat halaman pendaftaran, lihat Mengintegrasikan frontend aplikasi.

Menyetujui akun pengguna

Setelah pengguna berhasil mendaftar, aplikasi Anda harus memanggil Partner Procurement API dan menunjukkan bahwa akun telah disetujui. Akun dibuat dalam status ACCOUNT_ACTIVE, tetapi memiliki entri PENDING di kolom approvals yang disebut signup, yang menunjukkan bahwa pengguna belum mendaftar. Untuk menyetujui akun setelah pengguna mendaftar, gunakan permintaan HTTP POST berikut:

POST v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID:approve {'approvalName': 'signup'}

Memeriksa status akun pengguna

Untuk memeriksa status akun tertaut, gunakan permintaan HTTP GET berikut:

GET v1/providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID

Responsnya dalam format berikut:

{
  "name": "providers/YOUR_PARTNER_ID/accounts/USER_ACCOUNT_ID",
  "provider": "acme-services",
  "state": "ACCOUNT_ACTIVE",
  "approvals": [{
    "name": "signup",
    "state": "APPROVED",
    "updateTime": "...",
  }],
  "updateTime": "...",
  "createTime": "..."
}

Untuk mengetahui daftar kemungkinan status akun, lihat referensi API providers.accounts.