Enterprise License Manager API: Panduan Developer

Dokumen ini menjelaskan cara administrator tingkat akun dan reseller dapat menggunakan Enterprise License Manager API untuk mengelola penetapan lisensi pengguna. Setelah lisensi SKU produk akun Anda diaktifkan dan pengguna dibuat, gunakan Enterprise License Manager API untuk menetapkan, memperbarui, mengambil, dan menghapus lisensi bagi pengguna akun Anda.

Dalam versi ini, Enterprise License Manager API digunakan oleh administrator akun dan reseller. Administrator yang didelegasikan dengan hak istimewa License Management juga dapat menggunakan Enterprise License Manager API.

Catatan: Enterprise License Manager API digunakan oleh pelanggan Google. Untuk informasi tentang cara developer aplikasi pihak ketiga Google mengelola lisensi, lihat Google Workspace Marketplace API.

Enterprise License Manager API didasarkan pada pendekatan desain Representational State Transfer (RESTful) untuk layanan web.

Mengelola Lisensi

Tetapkan lisensi

Sebelum operasi ini, pelanggan atau reseller telah memesan lisensi produk Google dan telah membuat pengguna. Untuk menetapkan salah satu lisensi produk ini kepada pengguna ini, gunakan permintaan HTTP POST berikut. Sertakan header Authorization seperti yang dijelaskan dalam Memberi otorisasi permintaan. Untuk ID produk dan SKU, lihat Produk dan SKU API yang tersedia:

POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user

Catatan: Pengguna dapat diberi lisensi untuk berbagai produk Google. Namun, pengguna hanya diberi satu lisensi SKU per produk dalam satu waktu. Dengan menggunakan API, lisensi SKU pengguna dapat ditetapkan ulang ke lisensi SKU yang berbeda dalam produk.

Contoh ini menetapkan SKU Google-Drive-storage-20GB kepada pengguna yang alamat email utamanya adalah alex@example.com:

POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user

Isi permintaan JSON:

{
  "userId" : "alex@example.com",
}

Respons yang berhasil akan menampilkan kode status HTTP 200. Untuk mengetahui kemungkinan kode error, lihat Kode error API. Jika berhasil, respons akan menampilkan status penetapan pemberian lisensi dalam format data JSON.

Respons JSON

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-20GB",
  "skuName": "Google Drive storage 20 GB",
  "productName": "Google Drive storage"
}

Untuk informasi selengkapnya, lihat halaman referensi metode penyisipan licenseAssignments.

Menetapkan ulang SKU produk pengguna dengan SKU yang berbeda dalam produk yang sama

Untuk menetapkan ulang lisensi pengguna ke SKU lisensi baru dalam produk yang sama, gunakan permintaan HTTP PUT berikut. API ini juga mendukung sintaksis patch. Sertakan header Authorization seperti yang dijelaskan dalam Memberi otorisasi permintaan. Untuk ID produk dan SKU, lihat Produk dan SKU yang tersedia di API:

PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email

Contoh ini mengupdate SKU Google-Drive-storage-20 GB saat ini dengan Google-Drive-storage-50 GB. SKU lisensi saat ini ada di URI permintaan dan SKU lisensi baru ada di isi permintaan:

PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com

Isi permintaan JSON memiliki :

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

Respons yang berhasil akan menampilkan kode status HTTP 200. Untuk mengetahui kemungkinan kode error, lihat Kode error API. Jika berhasil, respons akan menampilkan status penetapan lisensi dalam format data JSON.

Respons JSON

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

Untuk informasi selengkapnya, lihat halaman referensi metode update dan metode patch licenseAssignments.

Mengambil semua pengguna yang diberi lisensi untuk produk tertentu

Untuk mendapatkan semua lisensi pengguna untuk produk tertentu, gunakan permintaan HTTP GET berikut. Sertakan header Authorization seperti yang dijelaskan dalam Memberi otorisasi permintaan. String kueri customerId adalah nama domain primer pelanggan. String kueri maxResults menentukan jumlah entri lisensi pengguna yang ditampilkan dalam respons API:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page

Untuk ID produk dan SKU, lihat Produk dan SKU yang tersedia di API.

Contoh ini mencantumkan halaman pertama hasil untuk semua pengguna di domain example.com yang diberi lisensi untuk produk penyimpanan Google Drive:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2

Respons yang berhasil akan menampilkan kode status HTTP 200. Untuk mengetahui kemungkinan kode error, lihat Kode error API. Jika berhasil, respons akan menampilkan daftar pemberian lisensi dalam format JSON.

Respons JSON

{
  "kind" : "licensing#licenseAssignmentList",
  "etag": "etag value",
  "nextPageToken" : "the next page token value",
  "items": [
  {
    "kind": "licensing#licenseAssignment",
    "etags": "etag value",
    "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
    "userId": "alex@example.com",
    "productId": "Google-Drive-storage",
    "skuId": "Google-Drive-storage-50GB",
    "skuName": "Google Drive storage 50 GB",
    "productName": "Google Drive storage"
  },
  {
    "kind": "licensing#licenseAssignment",
    "etags": "etag value",
    "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/keshav@example.com",
    "userId": "keshav@example.com",
    "productId": "Google-Drive-storage",
    "skuId": "Google-Drive-storage-200GB",
    "skuName": "Google Drive storage 200 GB",
    "productName": "Google Drive storage"
  },
  ...
}

Untuk informasi selengkapnya, lihat halaman referensi metode listForProduct licenseAssignments.

Mengambil semua pengguna yang diberi lisensi untuk SKU produk tertentu

Untuk mendapatkan daftar semua pengguna yang memiliki lisensi untuk SKU produk tertentu, gunakan permintaan HTTP GET berikut. Sertakan header Authorization seperti yang dijelaskan di Memberi otorisasi permintaan. String kueri customerId adalah nama domain primer pelanggan. String kueri maxResults menentukan jumlah entri pengguna yang ditampilkan dalam respons API:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page

Untuk ID produk dan SKU, lihat Produk dan SKU yang tersedia di API

Contoh ini menampilkan halaman pertama semua pengguna di domain example.com yang diberi lisensi untuk SKU Google-Drive-storage-200 GB. Respons mencantumkan dua entri pengguna per halaman:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2

Respons yang berhasil akan menampilkan kode status HTTP 200. Untuk mengetahui kemungkinan kode error, lihat Kode error API. Jika berhasil, respons akan menampilkan daftar pemberian lisensi dalam format JSON.

Respons JSON

{
  "kind" : "licensing#licenseAssignmentList",
   "etag": "etag value",
   "nextPageToken" : "next page token's value",
   "items": [
    {
     "kind": "licensing#licenseAssignment",
     "etags": "etag value",
     "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/alex@example.com",
     "userId": "alex@example.com",
     "productId": "Google-Drive-storage",
     "skuId": "Google-Drive-storage-200GB",
     "skuName": "Google Drive storage 200 GB",
     "productName": "Google Drive storage"
    },
    {
     "kind": "licensing#licenseAssignment",
     "etags": "etag value",
     "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/mary@example.com",
     "userId": "mary@example.com",
     "productId": "Google-Drive-storage",
     "skuId": "Google-Drive-storage-200GB",
     "skuName": "Google Drive storage 200 GB",
     "productName": "Google Drive storage"
    },
    ...
  }

Untuk mengetahui informasi selengkapnya, lihat halaman referensi metode listForProductAndSku licenseAssignments.

Mengambil lisensi pengguna tertentu berdasarkan SKU produk

Untuk mendapatkan lisensi pengguna tertentu berdasarkan SKU produk, gunakan permintaan HTTP GET berikut. Sertakan header Authorization seperti yang dijelaskan dalam Memberi otorisasi permintaan. Untuk ID produk dan SKU, lihat Produk dan SKU yang tersedia di API:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId

Contoh ini mendapatkan SKU produk penyimpanan Google Drive 50 GB untuk pengguna yang userId-nya adalah alex@example.com:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com

Jika pengguna memiliki lisensi ini, responsnya akan berhasil dan kode status HTTP-nya adalah 200. Untuk mengetahui kemungkinan kode error, lihat Kode error API. Jika berhasil, respons akan menampilkan lisensi pengguna dalam format JSON.

Respons JSON

{
  "kind": "licensing#licenseAssignment",
  "etag": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "keshav@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

Untuk informasi selengkapnya, lihat halaman referensi metode get licenseAssignments.

Menghapus lisensi

Untuk membatalkan penetapan lisensi dari pengguna, gunakan permintaan HTTP DELETE berikut. Sertakan header Authorization seperti yang dijelaskan dalam Memberi otorisasi permintaan. Untuk ID produk dan SKU, lihat Produk dan SKU yang tersedia di API:

DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId

Dalam contoh ini, lisensi Google-Drive-storage-50GB tidak ditetapkan dari pengguna yang userId-nya adalah alex@example.com:

DELETE https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com

Respons yang berhasil akan menampilkan kode status HTTP 200. Untuk mengetahui kemungkinan kode error, lihat Kode error API.

Untuk mengetahui informasi selengkapnya, lihat halaman referensi delete method LicenseAssignments.

Kode error

Jika permintaan tidak berhasil, respons akan memiliki penjelasan singkat tentang error tersebut:

Kode Error Deskripsi
400 Permintaan Tidak Valid - Email pengguna tidak valid.
400 Permintaan Tidak Valid - SKU/produk tidak ada.
401 Pelaku tidak memiliki kredensial untuk memanggil API ini.
404 Jika pengguna tidak memiliki lisensi ini, respons akan memiliki kode error 'not found'.
412 Prasyarat belum terpenuhi. Untuk mengetahui detail tentang error ini, periksa kolom message. Contoh:
  • Auto License switching is not allowed.
  • Auto License un-assignment is not allowed.
  • For reassign operations, the new SKU should be different from the old SKU: sku
  • Reassign operation can't be performed on different products: product1, product2
  • Reassign operation can't be performed on different users: user1, user2
  • There aren't enough available licenses for the specified product-SKU pair
  • User already has a license for the specified product and SKU
  • User already has a license of the product, but with a different SKU. To reassign a new SKU for this product, use the 'update' operation.
503 Layanan Pengelola Lisensi tidak tersedia.