Jika memilih harga berbasis penggunaan untuk produk, Anda harus melaporkan penggunaan aplikasi ke Service Control API.
Untuk pengantar Kontrol Layanan, lihat Panduan Memulai.
Sebelum memulai
- Siapkan akses ke Cloud Commerce Partner Procurement API, seperti yang dijelaskan dalam Mengintegrasikan aplikasi Anda.
- Sebaiknya gunakan Producer Portal untuk membuat akun layanan yang akan digunakan dengan Service Control.
(Untuk harga berbasis penggunaan) Melaporkan 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:
operationId
adalah string unik yang dihasilkan instance layanan Anda. GunakanoperationId
yang sama untuk operasicheck
danreport
.consumerId
sama denganusageReportingId
dari hak.startTime
danendTime
mewakili waktu mulai dan waktu berakhir dari interval total untuk Operasireport
. Pada umumnya,startTime
Operasireport
harus memiliki nilai yang sama denganendTime
Operasireport
sebelumnya. Jika layanan pelanggan dinonaktifkan sebelumstartTime
Operasireport
, panggilan APIservices.check
akan mengirim error dalam objekcheckErrors[]
, dan pelanggan tidak akan ditagih untuk interval yang sesuai.MetricValueSet
berisi 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 mereferensikan ID untuk metrik di bagian Integrasi teknis di Portal Produser.userLabels
adalah 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
hentikan penyediaan layanan Anda kepada pelanggan hingga error
tersebut teratasi:
SERVICE_NOT_ACTIVATED
BILLING_DISABLED
PROJECT_DELETED