Mengelola paket produk API

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

Gabungkan satu atau beberapa produk API ke dalam satu penampung yang dimonetisasi, 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 satu 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 dalam setiap paket produk. Anda dapat menempatkan produk API atau produk yang sama dalam paket yang berbeda dan mengaitkannya dengan paket tarif yang berbeda (atau sama).

Developer dapat mendaftarkan aplikasi mereka untuk menggunakan paket produk API hanya dengan membeli salah satu paket tarif yang saat ini berlaku. Paket produk API tidak akan terlihat oleh developer hingga Anda menambahkan dan memublikasikan (sebagai publik) paket tarif untuk paket produk tersebut (dengan tanggal mulai dari tanggal saat ini atau tanggal di masa 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 dan memilih paket tarif. Atau, Anda dapat menyetujui paket tarif untuk developer menggunakan API pengelolaan. Untuk informasi selengkapnya, lihat Beli paket tarif yang dipublikasikan menggunakan API.

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

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

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

Menjelajahi halaman Paket Produk

Akses halaman Paket Produk, seperti yang dijelaskan di bawah.

Edge

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

Seperti yang disorot pada gambar sebelumnya, halaman Paket Produk memungkinkan Anda:

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

Edge Klasik (Private Cloud)

Untuk mengakses halaman paket API menggunakan UI Edge Klasik, pilih Publikasikan > Paket di menu navigasi atas.

Halaman Paket API memungkinkan Anda untuk:

  • 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
  • Mengubah 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.

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 akan ditampilkan di drop-down. Klik nama produk API untuk menambahkannya ke paket. Ulangi untuk menambahkan produk API tambahan.

  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 Anda edit.

    Panel paket produk ditampilkan.

  2. Edit kolom paket produk, sebagaimana diperlukan.

    Lihat mengonfigurasi kebijakan pencatatan transaksi untuk mengetahui 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, kirimkan 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 untuk paket produk API.
  • Tetapkan 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 dipertahankan dalam paket produk API, tetapi tidak digunakan untuk tujuan apa pun.

(Opsional) Anda dapat menentukan organisasi.

Lihat Properti konfigurasi paket produk API untuk daftar opsi yang diekspos ke 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 adalah 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 setiap atribut khusus yang ditentukan untuk produk API tersebut. (Atribut khusus ditentukan saat Anda membuat produk API.) Atribut khusus untuk produk API dapat diperhitungkan dalam berbagai paket tarif. Misalnya, jika Anda menyiapkan paket kartu tarif dan mengenakan biaya kepada developer untuk setiap transaksi, Anda dapat menetapkan tarif paket tersebut berdasarkan atribut khusus seperti jumlah byte yang dikirimkan dalam sebuah 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 di bagian berikut.

Menambahkan produk API ke paket produk API

Untuk menambahkan produk API ke paket produk API, kirim 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 produk API.

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 paket tarif khusus produk API

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), kirim 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 produk API.

Anda harus meneruskan detail paket tarif untuk produk API baru dalam isi permintaan. Kecuali untuk array ratePlanRates, nilai paket tarif harus cocok dengan yang ditentukan untuk semua produk API lainnya. Untuk 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 produk API.

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 dalam organisasi. Anda juga dapat mengambil paket produk API yang memiliki transaksi dalam rentang tanggal tertentu, yaitu hanya paket yang penggunanya memanggil aplikasi yang mengakses API dalam paket tersebut dalam tanggal mulai dan akhir yang ditentukan.

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 dalam respons saat 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, kirim permintaan GET 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 ditentukan oleh parameter kueri size. Nilai defaultnya adalah false.
size Jumlah paket produk API yang ditampilkan per halaman. Default-nya adalah 20. Jika parameter kueri all ditetapkan ke true, parameter ini akan diabaikan.
page Jumlah halaman yang ingin ditampilkan (jika konten diberi nomor halaman). Jika parameter kueri all ditetapkan ke true, parameter ini akan diabaikan.

Respons untuk melihat semua paket produk API di organisasi akan 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 dengan transaksi: Untuk mengambil paket produk API dengan transaksi dalam rentang tanggal tertentu, kirim permintaan GET ke /organizations/{org_name}/packages-with-transactions. Saat mengajukan permintaan, Anda harus menentukan tanggal mulai dan tanggal akhir untuk rentang tanggal sebagai parameter kueri. Misalnya, permintaan berikut mengambil paket produk API dengan 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

Responsnya 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 masing-masing mengajukan permintaan GET 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 mengajukan permintaan, Anda dapat secara opsional menentukan parameter kueri berikut:

Parameter Kueri Deskripsi Default
current Tanda yang menentukan apakah hanya akan mengambil paket produk API yang aktif (current=true) atau semua paket (current=false). Semua paket tarif dalam paket aktif akan dianggap 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 untuk developer atau perusahaan yang ditentukan selain developer 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 developer tertentu:

$ 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 tidak memiliki paket tarif yang ditentukan.

Untuk menghapus paket produk API yang tidak memiliki paket tarif apa pun, kirim permintaan DELETE ke 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 diisi?
description

Deskripsi paket produk API.

T/A Ya
displayName

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

T/A Ya
name

Nama paket produk API.

T/A Ya
organization

Organisasi yang berisi paket produk API.

T/A Tidak
product

Array berisi 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