Mengelola paket produk API

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Paketkan satu atau beberapa produk API ke dalam satu penampung yang dimonetisasi, yang disebut sebagai paket produk API, seperti yang dijelaskan di bagian berikut.

Apa yang dimaksud dengan paket produk API?

Paket produk API adalah kumpulan produk API yang ditampilkan kepada developer sebagai grup, dan biasanya dikaitkan dengan satu atau beberapa paket tarif untuk monetisasi. Anda dapat membuat beberapa paket produk API dan menyertakan satu atau beberapa produk API di dalamnya. Anda dapat menempatkan produk API yang sama atau produk dalam paket yang berbeda dan mengaitkannya dengan paket tarif yang berbeda (atau sama).

Developer dapat mendaftarkan aplikasinya untuk menggunakan paket produk API hanya dengan membeli salah satu paket tarif yang saat ini berlaku. Paket produk API tidak akan terlihat oleh developer sebelum Anda menambahkan dan memublikasikan paket tarif untuk paket produk tersebut (sebagai publik) (dengan tanggal mulai tanggal saat ini atau tanggal mendatang), seperti yang dijelaskan dalam Mengelola paket tarif. Setelah Anda menambahkan dan memublikasikan paket tarif, developer yang login ke portal developer Anda akan dapat memilih paket produk API lalu pilih paket tarif. Atau, Anda dapat menyetujui paket tarif untuk developer menggunakan Management API. Untuk mengetahui informasi selengkapnya, lihat Membeli paket tarif yang dipublikasikan menggunakan API.

Setelah menambahkan produk API ke paket produk API, Anda mungkin perlu menyiapkan titik harga untuk produk API. Anda perlu melakukan ini hanya jika semua hal berikut benar:

  • Anda menyiapkan rencana tarif pembagian keuntungan untuk produk API.
  • Developer mengenakan biaya kepada pihak ketiga atas penggunaan resource dalam produk API.
  • Ada batasan minimum atau maksimum untuk jumlah yang dapat ditagih developer, dan Anda ingin untuk memberi tahu developer tentang pembatasan ini.

Harga minimum dan maksimum ditampilkan dalam detail untuk paket produk API.

Menjelajahi halaman Paket Produk

Akses halaman Paket Produk, seperti yang dijelaskan di bawah ini.

Edge

Untuk mengakses halaman paket produk API menggunakan UI Edge, pilih Publish > Monetisasi > Paket Produk di menu navigasi sebelah kiri.

Seperti yang disoroti dalam gambar sebelumnya, halaman Paket Produk memungkinkan Anda untuk:

Anda dapat mengelola produk API dalam paket produk atau menghapus paket produk (jika tidak ada paket tarif yang ditentukan) hanya menggunakan API tersebut.

Edge Klasik (Private Cloud)

Untuk mengakses halaman paket API menggunakan UI Edge Klasik, pilih Publish > Packages (Paket) di menu navigasi atas.

Halaman Paket API memungkinkan Anda:

  • Lihat informasi ringkasan untuk semua paket API termasuk produk API yang ada di dalamnya dan paket tarif terkait
  • Menambahkan paket API
  • Mengedit paket API
  • Menambahkan dan mengelola paket tarif
  • Alihkan setelan akses paket tarif (publik/pribadi)
  • Memfilter daftar paket

Anda dapat mengelola produk API dalam paket API atau menghapus paket API (jika tidak ada paket tarif yang ditentukan) hanya menggunakan API tersebut.

Menambahkan paket produk

Untuk menambahkan paket produk API:

  1. Klik + Paket Produk API di halaman Paket Produk.
  2. Masukkan nama untuk paket produk API.
  3. Masukkan nama produk API di kolom Tambahkan Produk.

    Saat Anda mengetik nama produk API, daftar produk API yang berisi string tersebut akan ditampilkan di drop-down. Klik nama produk API untuk menambahkannya ke paket. Ulangi untuk menambahkan produk API lain.

  4. Ulangi langkah 3 untuk menambahkan nama produk API tambahan.
  5. Untuk setiap produk API yang Anda tambahkan, konfigurasikan kebijakan pencatatan transaksi.
  6. Klik Simpan Paket Produk.

Mengedit paket produk

Untuk mengedit paket produk:

  1. Di halaman Paket Produk, klik baris paket produk yang ingin diedit.

    Panel paket produk ditampilkan.

  2. Edit kolom paket produk, jika diperlukan.

    Lihat mengonfigurasi kebijakan pencatatan transaksi untuk informasi selengkapnya.

  3. Klik Perbarui Paket Produk.

Mengelola paket produk API menggunakan API

Bagian berikut menjelaskan cara mengelola paket produk API menggunakan API tersebut.

Membuat paket produk API menggunakan API

Untuk membuat paket produk API, berikan permintaan POST ke /organizations/{org_name}/monetization-packages. Saat mengajukan permintaan, Anda harus:

  • Identifikasi produk API yang akan disertakan dalam paket produk API.
  • Tentukan nama dan deskripsi paket produk API.
  • Menetapkan indikator status untuk paket produk API. Indikator status dapat memiliki salah satu nilai berikut: CREATED, ACTIVE, INACTIVE. Saat ini, nilai indikator status yang Anda tentukan dikelola dalam paket produk API, tetapi tidak digunakan untuk tujuan apa pun.

Secara opsional, Anda dapat menentukan organisasi.

Lihat properti konfigurasi paket produk API untuk daftar opsi yang diekspos API.

Contoh:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "description": "payment messaging package",
     "displayName": "Payment Messaging Package",
     "name": "Payment Messaging Package",
     "organization": { "id": "{org_name}" },
     "product": [
       { "id": "messaging" },
       { "id": "payment" }
     ],
     "status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Berikut ini contoh responsnya:

{
   "description" : "payment messaging package",
   "displayName" : "Payment Messaging Package",
   "id" : "payment_messaging_package",
   "name" : "Payment Messaging Package",
   "organization" : {
     "id" : "{org_name}",
     "separateInvoiceForFees" : false
   },
   "product" : [ {
     "customAtt1Name" : "user",
     "description" : "Messaging",
     "displayName" : "Messaging",
     "id" : "messaging",
     "name" : "messaging",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }, {
     "customAtt1Name" : "user",
     "description" : "Payment",
     "displayName" : "Payment",
     "id" : "payment",
     "name" : "payment",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }],
   "status" : "CREATED"
 }

Perhatikan bahwa respons tersebut menyertakan informasi tambahan tentang produk API dan semua tindakan konversi yang ditetapkan untuk produk API tersebut. (Atribut khusus ditentukan saat Anda membuat produk API.) Atribut khusus untuk produk API dapat diperhitungkan ke dalam berbagai paket tarif. Sebagai misalnya, jika Anda menyiapkan paket kartu tarif, di mana Anda menagih pengembang untuk setiap transaksi, Anda dapat menetapkan tarif paket berdasarkan atribut khusus seperti jumlah byte yang ditransmisikan dalam transaksi.

Mengelola produk API dalam paket produk API menggunakan API

Anda dapat menambahkan atau menghapus produk API dari paket produk API menggunakan API, seperti yang dijelaskan dalam bagian berikut ini.

Menambahkan produk API ke paket produk API

Untuk menambahkan produk API ke paket produk API, berikan permintaan POST ke organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, dengan {org_name} menentukan nama organisasi Anda, {package_id} menentukan nama paket produk API, dan {product_id} menentukan ID API Google.

Contoh:

$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Menambahkan produk API ke paket produk API dengan API paket tarif spesifik per produk

Untuk menambahkan produk API ke paket produk API yang memiliki satu atau beberapa paket tarif khusus produk API yang ditentukan (kartu tarif atau pembagian keuntungan), mengeluarkan permintaan POST untuk organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, dengan {org_name} menentukan nama organisasi Anda, {package_id} menentukan nama paket produk API, dan {product_id} menentukan ID API Google.

Anda harus meneruskan detail paket tarif untuk produk API baru dalam isi permintaan. Kecuali untuk array ratePlanRates, nilai paket tarif harus sesuai dengan yang ditentukan untuk semua produk API lainnya. Untuk mengetahui informasi selengkapnya tentang atribut paket tarif yang dapat ditentukan, lihat Properti konfigurasi untuk paket tarif.

Contoh:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [ 
        {
            "id": "mypackage_rateplan1",
            "ratePlanDetails": [
                {
                    "currency": {
                        "id": "usd"
                    },
                    "duration": 1,
                    "durationType": "MONTH",
                    "meteringType": "UNIT",
                    "organization" : {
                        "id": "{org_name}",
                    "paymentDueDays": "30",
                    "ratePlanRates": [
                        {
                            "rate": "1.99",
                            "startUnit": "0",
                            "type": "RATECARD"
                        }
                    ],
                    "ratingParameter": "VOLUME",
                    "type": "RATECARD"
                }
            ]
        }
    ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Menghapus produk API dari paket produk API

Untuk menghapus produk API dari paket produk API, keluarkan permintaan DELETE ke organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, dengan {org_name} menentukan nama organisasi Anda, {package_id} menentukan nama paket produk API, dan {product_id} menentukan ID API Google.

Contoh:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Melihat paket produk API menggunakan API

Anda dapat mengambil paket produk API tertentu atau semua paket produk API di organisasi. Anda juga dapat mengambil paket produk API yang memiliki transaksi dalam rentang tanggal tertentu, yaitu, hanya paket untuk mana pengguna memanggil aplikasi yang mengakses API dalam paket tersebut di dalam titik awal dan akhir yang ditentukan tanggal.

Melihat paket produk API tertentu: Untuk mengambil paket produk API tertentu, kirimkan permintaan GET ke /organizations/{org_name}/monetization-packages/{package_id}, dengan {package_id} adalah identifikasi paket produk API (ID ditampilkan di respons jika Anda membuat paket produk API). Contoh:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password

Melihat semua paket produk API: Untuk mengambil semua paket produk API untuk organisasi, berikan GET permintaan ke /organizations/{org_name}/monetization-packages. Contoh:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Anda dapat meneruskan parameter kueri berikut untuk memfilter hasil:

Parameter Kueri Deskripsi
all Tanda yang menentukan apakah akan menampilkan semua paket produk API atau tidak. Jika ditetapkan ke false, jumlah paket produk API yang ditampilkan per halaman adalah yang ditentukan oleh parameter kueri size. Nilai defaultnya adalah false.
size Jumlah paket produk API yang ditampilkan per halaman. Defaultnya adalah 20. Jika kueri all disetel ke true, parameter ini akan diabaikan.
page Nomor halaman yang ingin Anda tampilkan (jika konten diberi nomor halaman). Jika parameter kueri all disetel ke true, diabaikan.

Respons untuk melihat semua paket produk API di organisasi harus terlihat seperti ini (hanya sebagian respons yang ditampilkan):

{
  "monetizationPackage" : [ {
    "description" : "payment messaging package",
    "displayName" : "Payment Messaging Package",
    "id" : "payment_messaging_package",
    "name" : "Payment Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Communications",
    "displayName" : "Communications",
    "id" : "communications",
    "name" : "Communications",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Location",
      "displayName" : "Location",
      "id" : "location",
      "name" : "location",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Payment",
    "displayName" : "Payment",
    "id" : "payment",
    "name" : "Payment",
    "organization" : {
     ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  } ],
  "totalRecords" : 3
}

Melihat paket produk API yang berisi transaksi: Untuk mengambil paket produk API dengan transaksi di rentang tanggal tertentu, kirim permintaan GET untuk /organizations/{org_name}/packages-with-transactions. Saat Anda mengajukan permintaan, Anda harus menentukan tanggal mulai dan tanggal akhir untuk rentang tanggal sebagai parameter kueri. Sebagai misalnya, permintaan berikut mengambil paket produk API yang berisi transaksi selama bulan Agustus 2013.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password

Respons akan terlihat seperti ini (hanya sebagian respons yang ditampilkan):

{
  "monetizationPackage" : [ {
    "description" : "Payment Package",
    "displayName" : "Payment Package",
    "id" : "payment_package",
    "name" : "Payment Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "payment api product",
      "displayName" : "payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "messaging package",
    "displayName" : "Messaging Package",
    "id" : "messaging_package",
    "name" : "Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "messaging api product",
      "displayName" : "messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  },
     ...
  } ]
}

Melihat paket produk API yang diterima oleh developer atau perusahaan yang menggunakan API

Lihat paket produk API yang diterima oleh developer atau perusahaan tertentu dengan menerbitkan GET permintaan akses masing-masing ke API berikut:

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, dengan {developer_id} adalah ID (alamat email) developer.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, dengan {company_id} adalah ID perusahaan.

Saat mengeluarkan permintaan, Anda dapat menentukan parameter kueri berikut secara opsional:

Parameter Kueri Deskripsi Default
current Tanda yang menentukan apakah akan mengambil paket produk API yang aktif saja (current=true) atau semua paket (current=false). Semua paket tarif dalam paket aktif dianggap yang tersedia. current=false
allAvailable Tanda yang menentukan apakah akan mengambil semua paket produk API yang tersedia (allAvailable=true) atau hanya paket produk API yang tersedia khusus untuk developer atau perusahaan (allAvailable=false). Semua yang tersedia mengacu pada paket produk API yang tersedia bagi developer atau perusahaan tertentu selain pengembang atau perusahaan lain. Paket produk API yang tersedia khusus untuk perusahaan atau developer hanya berisi paket tarif yang tersedia secara eksklusif untuk perusahaan atau developer tersebut. allAvailable=true

Misalnya, permintaan berikut mengambil semua paket produk API yang diterima oleh pengembang:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password

Permintaan berikut hanya mengambil paket API aktif yang diterima oleh perusahaan tertentu:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password

Menghapus paket produk API menggunakan API

Anda dapat menghapus paket produk API hanya jika paket tarif tersebut belum ditetapkan.

Untuk menghapus paket produk API yang tidak memiliki paket tarif yang ditentukan, kirimkan permintaan DELETE kepada organizations/{org_name}/monetization-packages/{package_id}, dengan {org_name} menentukan nama organisasi Anda dan {package_id} menentukan nama paket produk API.

Contoh:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password

Properti konfigurasi paket produk API untuk API

Opsi konfigurasi paket produk API berikut diekspos ke API:

Nama Deskripsi Default Wajib?
description

Deskripsi paket produk API.

T/A Ya
displayName

Nama yang akan ditampilkan untuk paket produk API (misalnya, dalam katalog API paket).

T/A Ya
name

Nama paket produk API.

T/A Ya
organization

Organisasi yang berisi paket produk API.

T/A Tidak
product

Array dari satu atau beberapa produk dalam paket produk API.

T/A Tidak
status

Indikator status untuk paket produk API. Indikator status dapat memiliki salah satu nilai berikut: CREATED, ACTIVE, INACTIVE.

T/A Ya