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 telah dibuat, gunakan Enterprise License Manager API untuk menetapkan, memperbarui, mengambil, dan menghapus lisensi untuk 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 mendapatkan 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 kepada pengguna tersebut, gunakan permintaan HTTP POST berikut. Sertakan header Authorization seperti yang dijelaskan dalam Mengizinkan permintaan. Untuk ID produk dan SKU, lihat Produk dan SKU yang tersedia di API:

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 lain 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 mengetahui informasi selengkapnya, lihat halaman referensi masukkan metode LicenseAssignments.

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

Untuk menetapkan ulang lisensi pengguna ke SKU lisensi baru dalam produk yang sama, gunakan permintaan HTTP PUT berikut. API juga mendukung sintaksis patch. Sertakan header Authorization seperti yang dijelaskan dalam Mengizinkan 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 memperbarui SKU Google-Drive-storage-20 GB saat ini dengan Google-Drive-storage-50 GB. SKU lisensi yang sekarang ada di URI permintaan dan SKU lisensi yang 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 mengetahui 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 bagi produk tertentu, gunakan permintaan HTTP GET berikut. Sertakan header Authorization seperti yang dijelaskan dalam Mengizinkan 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 mengetahui informasi selengkapnya, lihat halaman referensi metode listForProduct LicenseAssignments.

Mengambil semua pengguna yang ditetapkan lisensi untuk SKU produk tertentu

Untuk mendapatkan daftar semua pengguna yang memiliki lisensi atas SKU produk tertentu, gunakan permintaan HTTP GET berikut. Sertakan header Authorization seperti yang dijelaskan dalam Mengizinkan 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 dari semua pengguna di domain example.com yang diberi lisensi SKU Google-Drive-storage-200 GB. Responsnya 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 ForListAndSku LicenseAssignments.

Mengambil lisensi pengguna tertentu berdasarkan SKU produk

Untuk mendapatkan lisensi pengguna tertentu menurut SKU produk, gunakan permintaan HTTP GET berikut. Sertakan header Authorization seperti yang dijelaskan dalam Mengizinkan 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, respons tersebut berhasil dan merupakan kode status HTTP 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 mengetahui informasi selengkapnya, lihat halaman referensi mendapatkan metode LicenseAssignments.

Menghapus lisensi

Untuk membatalkan penetapan lisensi dari pengguna, gunakan permintaan HTTP DELETE berikut. Sertakan header Authorization seperti yang dijelaskan dalam Mengizinkan 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

Contoh lisensi Google-Drive-storage-50GB ini dibatalkan penetapannya 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 menghapus metode LicenseAssignments.

Kode error

Jika permintaan tidak berhasil, respons 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 Aktor tidak memiliki kredensial untuk memanggil API ini.
404 Jika pengguna tidak memiliki lisensi ini, respons akan memiliki kode error 'tidak ditemukan'.
412 Prasyarat belum terpenuhi. Untuk 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.