Jika memilih harga berbasis penggunaan untuk produk, Anda harus melaporkan penggunaan aplikasi ke Service Control API.
Untuk pengantar Service Control, lihat Panduan Memulai.
Sebelum memulai
- Siapkan akses ke Cloud Commerce Partner Procurement API, seperti yang dijelaskan dalam Mengintegrasikan aplikasi Anda.
- Sebaiknya Anda menggunakan Producer Portal untuk membuat akun layanan yang akan digunakan dengan Service Control.
(Untuk harga berbasis penggunaan) Laporkan penggunaan
Saat hak dibuat, Anda harus memanggil Partner Procurement API
untuk mengambil usageReportingId, menggunakan permintaan HTTP GET berikut:
GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID
Respons berisi informasi tentang hak, dalam format berikut:
{ "name": "providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID", "provider": "YOUR_PARTNER_ID", "account": "USER_ACCOUNT_ID", "product": "example-messaging-service", "plan": "pro", "usageReportingId": "USAGE_REPORTING_ID", "state": "ENTITLEMENT_ACTIVATION_REQUESTED", "updateTime": "...", "createTime": "..." }
Untuk melaporkan penggunaan, Anda harus melakukan panggilan API
services.check
terlebih dahulu, untuk memeriksa konfigurasi layanan. Dalam respons, jika objek
checkErrors[] kosong, lakukan panggilan
API services.report
untuk mengirim laporan penggunaan.
Laporan penggunaan adalah Operation Service Control API.
Berikut adalah contoh laporan penggunaan untuk example-messaging-service
yang mengirimkan informasi tentang penyimpanan yang digunakan oleh pelanggan:
POST https://servicecontrol.googleapis.com/v1/services/example-messaging-service.gcpmarketplace.example.com:report
{ "operations": [{ "operationId": "1234-example-operation-id-4567", "operationName": "Hourly Usage Report", "consumerId": "USAGE_REPORTING_ID", "startTime": "2019-02-06T12:00:00Z", "endTime": "2019-02-06T13:00:00Z", "metricValueSets": [{ "metricName": "example-messaging-service/UsageInGiB", "metricValues": [{ "int64Value": "150" }] }], "userLabels": { "cloudmarketplace.googleapis.com/resource_name": "order_history_cache", "cloudmarketplace.googleapis.com/container_name": "storefront_prod", "environment": "prod", "region": "us-west2" } }] }
dengan:
operationIdadalah string unik yang dihasilkan oleh instance layanan Anda. GunakanoperationIdyang sama untuk operasicheckdanreport.consumerIdsama denganusageReportingIddari hak.startTimedanendTimemenunjukkan waktu mulai dan berakhir dari total interval untuk Operasireport. Biasanya,startTimedari Operasireportharus memiliki nilai yang sama denganendTimedari Operasireportsebelumnya. Jika layanan pelanggan dinonaktifkan sebelumstartTimeOperasireport, panggilan APIservices.checkakan mengirimkan error dalam objekcheckErrors[], dan pelanggan tidak akan ditagih untuk interval yang sesuai.MetricValueSetberisi satu atau beberapa interval waktu perantara dan nilai metrik yang diperbarui yang sesuai. Anda menentukan metrik layanan saat memilih dan mengirimkan model harga. Anda dapat melihat dan merujuk ID untuk metrik di bagian Integrasi teknis di Producer Portal.userLabelsadalah label buatan pengguna, yang ditentukan sebagai string nilai kunci yang mengikuti persyaratan sintaksis tertentu. Label ini diteruskan ke alat pengelolaan biaya Penagihan Cloud untuk atribusi. Untuk rekomendasi terkait pelabelan penggunaan, lihat Praktik terbaik untuk pelabelan penggunaan.
Jika services.check API menampilkan satu atau beberapa error berikut, sebaiknya Anda berhenti memberikan layanan kepada pelanggan hingga error tersebut diselesaikan:
SERVICE_NOT_ACTIVATEDBILLING_DISABLEDPROJECT_DELETED