Quản lý gói sản phẩm API

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

Nhóm một hoặc nhiều sản phẩm API vào một vùng chứa kiếm tiền duy nhất, được gọi là gói sản phẩm API, như mô tả trong các phần sau.

Gói sản phẩm API là gì?

Gói sản phẩm API là tập hợp các sản phẩm API được giới thiệu cho các nhà phát triển dưới dạng một nhóm và thường liên kết với một hoặc nhiều gói giá để kiếm tiền. Bạn có thể tạo nhiều gói sản phẩm API và đưa một hoặc nhiều sản phẩm API vào mỗi gói. Bạn có thể đưa cùng một sản phẩm API vào các gói khác nhau rồi liên kết những gói giá đó với các gói giá khác nhau (hoặc giống nhau).

Nhà phát triển chỉ có thể đăng ký ứng dụng để sử dụng gói sản phẩm API bằng cách mua một trong những gói giá đang còn hiệu lực. Nhà phát triển chỉ nhìn thấy gói sản phẩm API cho đến khi bạn thêm và xuất bản (ở chế độ công khai) một gói giá cho gói sản phẩm đó (có ngày bắt đầu là một ngày hiện tại hoặc một ngày trong tương lai), như mô tả trong bài viết Quản lý gói giá. Sau khi bạn thêm và xuất bản một gói giá, những nhà phát triển đăng nhập vào cổng thông tin dành cho nhà phát triển của bạn sẽ có thể chọn gói sản phẩm API rồi chọn gói giá. Ngoài ra, bạn có thể chấp nhận gói giá của nhà phát triển bằng API Quản lý. Để biết thêm thông tin, hãy xem bài viết Mua gói giá được công bố bằng API.

Sau khi thêm một sản phẩm API vào một gói sản phẩm API, có thể bạn cần thiết lập điểm giá cho Sản phẩm API. Bạn chỉ cần thực hiện việc này nếu tất cả các điều kiện sau đây đều đúng:

  • Bạn thiết lập gói tỷ lệ chia sẻ doanh thu cho sản phẩm API.
  • Nhà phát triển tính phí bên thứ ba cho việc sử dụng tài nguyên trong sản phẩm API.
  • Có giới hạn tối thiểu hoặc tối đa về số tiền mà nhà phát triển có thể tính phí và bạn muốn để thông báo cho nhà phát triển về quy định hạn chế này.

Giá tối thiểu và tối đa được hiển thị trong thông tin chi tiết của gói sản phẩm API.

Khám phá trang Gói sản phẩm

Truy cập vào trang Gói sản phẩm theo mô tả dưới đây.

Edge

Để truy cập vào trang gói sản phẩm API bằng giao diện người dùng Edge, hãy chọn Xuất bản > Kiếm tiền > Gói sản phẩm trong thanh điều hướng bên trái.

Như được làm nổi bật trong hình trước, trang Gói sản phẩm cho phép bạn:

  • Xem thông tin tóm tắt về tất cả gói sản phẩm, bao gồm cả tên gói và danh sách các sản phẩm API trong gói đó
  • Thêm gói sản phẩm
  • Chỉnh sửa gói sản phẩm
  • Tìm kiếm danh sách gói sản phẩm trên bất kỳ trường hiển thị nào

Bạn có thể quản lý các sản phẩm API trong một gói sản phẩm hoặc xoá một gói sản phẩm (nếu không có gói giá nào được xác định) bằng cách chỉ sử dụng API.

Classic Edge (Đám mây riêng tư)

Để truy cập vào trang gói API bằng giao diện người dùng Classic Edge, hãy chọn Publish > (Xuất bản >) Gói trong thanh điều hướng trên cùng.

Trang Gói API hỗ trợ bạn:

  • Xem thông tin tóm tắt về tất cả các gói API, bao gồm cả các sản phẩm API có trong gói đó và các gói giá được liên kết
  • Thêm gói API
  • Chỉnh sửa gói API
  • Thêm và quản lý gói giá
  • Bật/tắt chế độ cài đặt quyền truy cập gói giá (công khai/riêng tư)
  • Lọc danh sách các gói

Bạn có thể dùng API để quản lý các sản phẩm API trong một gói API hoặc xoá một gói API (nếu không có gói giá nào được xác định).

Thêm gói sản phẩm

Cách thêm gói sản phẩm API:

  1. Nhấp vào + Gói sản phẩm API trên trang Gói sản phẩm.
  2. Nhập tên cho gói sản phẩm API.
  3. Nhập tên của sản phẩm API vào trường Thêm sản phẩm.

    Khi bạn nhập tên của một sản phẩm API, danh sách các sản phẩm API chứa chuỗi sẽ hiển thị trong trình đơn thả xuống. Nhấp vào tên của một sản phẩm API để thêm sản phẩm đó vào gói. Lặp lại để thêm các sản phẩm API bổ sung.

  4. Lặp lại bước 3 để thêm tên sản phẩm API bổ sung.
  5. Đối với mỗi sản phẩm API mà bạn thêm, hãy thiết lập chính sách ghi lại giao dịch.
  6. Nhấp vào Lưu gói sản phẩm.

Chỉnh sửa gói sản phẩm

Cách chỉnh sửa gói sản phẩm:

  1. Trên trang Gói sản phẩm, hãy nhấp vào hàng của gói sản phẩm mà bạn muốn chỉnh sửa.

    Bảng điều khiển gói sản phẩm đã xuất hiện.

  2. Chỉnh sửa các trường gói sản phẩm theo yêu cầu.

    Xem định cấu hình chính sách ghi lại giao dịch để biết thêm thông tin.

  3. Nhấp vào Cập nhật gói sản phẩm.

Quản lý gói sản phẩm API bằng API

Các phần sau đây mô tả cách quản lý các gói sản phẩm API bằng API.

Tạo gói sản phẩm API bằng API

Để tạo gói sản phẩm API, hãy gửi yêu cầu POST để /organizations/{org_name}/monetization-packages. Khi gửi yêu cầu, bạn phải:

  • Xác định các sản phẩm API để đưa vào gói sản phẩm API.
  • Chỉ định tên và nội dung mô tả cho gói sản phẩm API.
  • Đặt chỉ báo trạng thái cho gói sản phẩm API. Chỉ báo trạng thái có thể có một trong số các giá trị sau: CREATED, ACTIVE, INACTIVE. Hiện tại, giá trị chỉ báo trạng thái mà bạn chỉ định được duy trì trong gói sản phẩm API nhưng không được sử dụng cho bất kỳ mục đích nào.

Nếu muốn, bạn có thể chỉ định tổ chức.

Xem thuộc tính cấu hình gói sản phẩm API để biết danh sách các tuỳ chọn hiển thị với API.

Ví dụ:

$ 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

Sau đây là ví dụ về phản hồi:

{
   "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"
 }

Lưu ý rằng phản hồi bao gồm thông tin bổ sung về các sản phẩm API và bất kỳ thông tin tuỳ chỉnh nào được chỉ định cho các sản phẩm API đó. (Thuộc tính tuỳ chỉnh được chỉ định khi bạn tạo một sản phẩm API.) Bạn có thể sử dụng các thuộc tính tuỳ chỉnh của một sản phẩm API để đưa vào nhiều gói giá. Cho ví dụ: nếu bạn thiết lập một gói bảng giá, trong đó bạn tính phí nhà phát triển cho mỗi giao dịch, bạn có thể đặt tốc độ cho gói thuê bao dựa trên một thuộc tính tuỳ chỉnh như số byte đã truyền trong một giao dịch.

Quản lý các sản phẩm API trong gói sản phẩm API bằng API

Bạn có thể thêm hoặc xoá sản phẩm API khỏi gói sản phẩm API bằng cách sử dụng API, như được mô tả trong các phần sau.

Thêm sản phẩm API vào gói sản phẩm API

Để thêm một sản phẩm API vào một gói sản phẩm API, hãy gửi yêu cầu POST để organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, trong đó {org_name} chỉ định tên tổ chức của bạn, {package_id} chỉ định tên gói sản phẩm API, còn {product_id} chỉ định mã nhận dạng của API của Google.

Ví dụ:

$ 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

Thêm một sản phẩm API vào gói sản phẩm API bằng API gói giá theo sản phẩm cụ thể

Cách thêm một sản phẩm API vào một gói sản phẩm API có một hoặc nhiều gói giá dành riêng cho sản phẩm API đã xác định (bảng giá hoặc chia sẻ doanh thu), hãy đưa ra yêu cầu POST để organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, trong đó {org_name} chỉ định tên tổ chức của bạn, {package_id} chỉ định tên gói sản phẩm API, còn {product_id} chỉ định mã nhận dạng của API của Google.

Bạn phải chuyển thông tin chi tiết về gói giá cho sản phẩm API mới vào nội dung yêu cầu. Ngoại trừ mảng ratePlanRates, thì các giá trị gói giá phải khớp với các giá trị được chỉ định cho tất cả các sản phẩm API khác. Để biết thêm thông tin về các thuộc tính gói giá có thể được xác định, hãy xem Thuộc tính cấu hình cho gói giá.

Ví dụ:

$ 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

Xoá sản phẩm API khỏi gói sản phẩm API

Để xóa một sản phẩm API khỏi gói sản phẩm API, hãy gửi yêu cầu DELETE đến organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, trong đó {org_name} chỉ định tên tổ chức của bạn, {package_id} chỉ định tên gói sản phẩm API, còn {product_id} chỉ định mã nhận dạng của API của Google.

Ví dụ:

$ 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

Xem gói sản phẩm API bằng API

Bạn có thể truy xuất một gói sản phẩm API cụ thể hoặc tất cả các gói sản phẩm API trong một tổ chức. Bạn cũng có thể truy xuất gói sản phẩm API có giao dịch trong một phạm vi ngày nhất định, tức là chỉ các gói cho những người dùng gọi những ứng dụng truy cập API trong các gói đó trong một điểm bắt đầu và kết thúc được chỉ định ngày.

Xem một gói sản phẩm API cụ thể: Để truy xuất một gói sản phẩm API cụ thể, hãy gửi yêu cầu GET đến /organizations/{org_name}/monetization-packages/{package_id}, trong đó {package_id} là thông tin nhận dạng gói sản phẩm API (mã nhận dạng được trả về trong khi bạn tạo gói sản phẩm API). Ví dụ:

$ 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

Xem tất cả các gói sản phẩm API: Để truy xuất tất cả các gói sản phẩm API cho một tổ chức, hãy phát hành phương thức GET gửi yêu cầu đến /organizations/{org_name}/monetization-packages. Ví dụ:

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

Bạn có thể truyền các tham số truy vấn sau để lọc kết quả:

Tham số truy vấn Mô tả
all Cờ chỉ định liệu có trả về tất cả các gói sản phẩm API hay không. Nếu bạn đặt chính sách này thành false, số lượng gói sản phẩm API được trả về trên mỗi trang sẽ là được xác định bởi tham số truy vấn size. Giá trị mặc định là false.
size Số gói sản phẩm API được trả về trên mỗi trang. Giá trị mặc định là 20. Nếu truy vấn all được đặt thành true, nên tham số này sẽ bị bỏ qua.
page Số trang bạn muốn trả lại (nếu nội dung được phân trang). Nếu tham số truy vấn all được đặt thành true, điều này sẽ bị bỏ qua.

Phản hồi khi xem tất cả các gói sản phẩm API trong một tổ chức sẽ có dạng như sau (chỉ một phần của câu trả lời được hiển thị):

{
  "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
}

Xem gói sản phẩm API có giao dịch: Để truy xuất gói sản phẩm API có các giao dịch trong một phạm vi ngày nhất định, hãy gửi yêu cầu GET tới /organizations/{org_name}/packages-with-transactions. Khi bạn gửi yêu cầu, bạn cần chỉ định ngày bắt đầu và ngày kết thúc cho phạm vi ngày làm tham số truy vấn. Cho Ví dụ: yêu cầu sau đây truy xuất gói sản phẩm API có giao dịch trong tháng Tháng 8 năm 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

Câu trả lời sẽ có dạng như sau (chỉ một phần của câu trả lời được hiển thị):

{
  "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"
  },
     ...
  } ]
}

Xem gói sản phẩm API mà nhà phát triển hoặc công ty chấp nhận bằng cách sử dụng API

Xem các gói sản phẩm API được nhà phát triển hoặc công ty cụ thể chấp nhận bằng cách phát hành một GET yêu cầu đến các API sau, tương ứng:

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, trong đó {developer_id} là mã (địa chỉ email) của nhà phát triển.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, trong đó {company_id} là mã nhận dạng của công ty.

Khi bạn đưa ra yêu cầu, bạn có thể tuỳ ý chỉ định các tham số truy vấn sau:

Tham số truy vấn Mô tả Mặc định
current Gắn cờ chỉ định xem chỉ truy xuất gói sản phẩm API đang hoạt động (current=true) hay tất cả gói (current=false). Tất cả gói giá trong gói đang hoạt động đều được coi là sẵn có. current=false
allAvailable Gắn cờ chỉ định việc truy xuất tất cả các gói sản phẩm API hiện có (allAvailable=true) hay chỉ những gói sản phẩm API dành riêng cho nhà phát triển hoặc công ty (allAvailable=false). Tất cả sản phẩm hiện có đều đề cập đến gói sản phẩm API dành cho nhà phát triển hoặc công ty được chỉ định ngoài các nhà phát triển hoặc công ty khác. Gói sản phẩm API dành riêng cho một công ty hoặc nhà phát triển chỉ chứa các gói giá chỉ dành riêng cho công ty hoặc nhà phát triển đó. allAvailable=true

Ví dụ: yêu cầu sau đây truy xuất tất cả gói sản phẩm API do một nhà phát triển:

$ 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

Yêu cầu sau chỉ truy xuất các gói API đang hoạt động được một công ty cụ thể chấp nhận:

$ 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

Xoá gói sản phẩm API bằng API

Bạn chỉ có thể xoá gói sản phẩm API nếu gói đó chưa xác định gói giá nào.

Để xoá gói sản phẩm API không có gói giá nào được xác định, hãy gửi yêu cầu DELETE đến organizations/{org_name}/monetization-packages/{package_id}, trong đó {org_name} chỉ định tên tổ chức của bạn và {package_id} chỉ định tên gói sản phẩm API.

Ví dụ:

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

Thuộc tính cấu hình gói sản phẩm API cho API

API này hiển thị các lựa chọn cấu hình gói sản phẩm API sau đây:

Tên Mô tả Mặc định Bắt buộc?
description

Nội dung mô tả về gói sản phẩm API.

Không áp dụng
displayName

Tên hiển thị cho gói sản phẩm API (ví dụ: trong danh mục API gói).

Không áp dụng
name

Tên của gói sản phẩm API.

Không áp dụng
organization

Tổ chức chứa gói sản phẩm API.

Không áp dụng Không
product

Một mảng gồm một hoặc nhiều sản phẩm trong gói sản phẩm API.

Không áp dụng Không
status

Chỉ báo trạng thái cho gói sản phẩm API. Chỉ báo trạng thái có thể có một trong số các giá trị sau: CREATED, ACTIVE, INACTIVE.

Không áp dụng