Enterprise License Manager API: Panduan Developer

Dokumen ini menjelaskan cara administrator reseller dan tingkat akun dapat menggunakan Enterprise License Manager API untuk mengelola penetapan lisensi pengguna. Setelah lisensi SKU produk akun Anda diaktifkan dan pengguna Anda telah 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 mengetahui 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 Mengizinkan 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 yang berbeda. 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-20 GB ke 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 licenseAssignments insert method.

Tetapkan ulang SKU produk pengguna dengan SKU berbeda untuk 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 API yang tersedia:

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-20GB yang ada dengan Google-Drive-storage-50GB. SKU lisensi yang ada ada dalam URI permintaan dan SKU lisensi baru ada dalam 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 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 untuk 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 licenseAssignments listForProduct method.

Mengambil semua pengguna yang diberi lisensi untuk SKU produk tertentu

Untuk mendapatkan daftar semua pengguna dengan lisensi untuk 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 untuk API

Contoh ini menampilkan halaman pertama dari 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 informasi selengkapnya, lihat halaman referensi LicenseAssignments metode listForProductAndSku.

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 Mengizinkan permintaan. Untuk ID produk dan SKU, lihat Produk dan SKU API yang tersedia:

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

Contoh ini mendapatkan SKU produk penyimpanan Google Drive sebesar 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, lisensi tersebut adalah respons yang berhasil dan 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 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 Mengizinkan permintaan. Untuk ID produk dan SKU, lihat Produk dan SKU API yang tersedia:

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

Contoh ini adalah lisensi Google-Drive-storage-50 GB yang 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 informasi selengkapnya, lihat halaman referensi licenseAssignments delete method.

Kode error

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

Kode Error Deskripsi
400 Permintaan Buruk - Email pengguna tidak valid.
400 Permintaan Buruk - SKU/produk tidak ada.
401 Pelaku tidak memiliki kredensial untuk memanggil API ini.
404 Jika pengguna tidak memiliki lisensi ini, respons akan menampilkan kode error 'tidak ditemukan'.
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 License Manager tidak tersedia.