Pada level tinggi, aplikasi Anda harus menangani skenario berikut:
Pengguna membuat permintaan atau perubahan di Cloud Marketplace, seperti mendaftar ke produk Anda.
Cloud Marketplace mengirimkan notifikasi ke aplikasi Anda melalui Pub/Sub, yang berisi informasi tentang permintaan di kolom
eventType
. Misalnya, jika pengguna mengubah haknya,eventType
adalahENTITLEMENT_PLAN_CHANGED
.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
- Siapkan akses ke Cloud Commerce Partner Procurement API, seperti yang dijelaskan dalam Mengintegrasikan aplikasi Anda.
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
.