Gói giá bằng cách sử dụng 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

Phần này mô tả cách mua gói giá đã công bố và hết hạn hoặc huỷ gói đã mua (nếu muốn) bằng cách sử dụng API.

Mua gói giá đã công bố bằng API

Sau khi xuất bản gói giá, nhà phát triển hoặc công ty có thể mua (hoặc "chấp nhận") gói giá đó bằng cách đưa ra yêu cầu POST cho /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans, trong đó {org_name} là tên của tổ chức và {developer_or_company_id} là mã nhận dạng của nhà phát triển hoặc công ty.

Để miễn phí thiết lập khi mua gói giá, hãy đặt tham số truy vấn waivefees đến true. Cờ này hữu ích khi bạn di chuyển nhà phát triển sang kiếm tiền, vì được mô tả trong Di chuyển nhà phát triển sang kiếm tiền.

Bảng sau đây tóm tắt các thuộc tính cấu hình mà bạn có thể chỉ định trong nội dung yêu cầu, giá trị mặc định của chúng cũng như liệu chúng có bắt buộc hay không.

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

Ngày bắt đầu của gói giá. Ví dụ: 2017-03-24.

Không áp dụng
endDate

Ngày kết thúc gói giá. Ví dụ: 2017-09-24.

Gói giá sẽ có hiệu lực cho đến cuối ngày vào ngày được chỉ định. Ví dụ: nếu bạn muốn hết hạn gói giá vào ngày 1 tháng 12 năm 2017: bạn nên đặt giá trị endDate đến 2017-11-30. Trong phần này trường hợp, kế hoạch giá sẽ hết hạn vào cuối ngày 30/11/2017; tất cả yêu cầu vào ngày 1 tháng 12 năm 2017 sẽ bị chặn.

Không áp dụng Không
developer

Thuộc tính id xác định mã nhận dạng của nhà phát triển hoặc công ty khi mua gói giá.

Không áp dụng
quotaTarget

Số lượng giao dịch mục tiêu được phép cho nhà phát triển ứng dụng. Bạn có thể định cấu hình nếu và khi thông báo được gửi đi dựa trên tỷ lệ phần trăm số mục tiêu đạt được, chẳng hạn như 90%, 100% hoặc 150%. Các giao dịch bổ sung không bị chặn sau đã đạt đến con số mục tiêu.

Hãy đặt giá trị này thành một giá trị số nguyên dương hoặc đặt 0 để tắt thông báo cho một ứng dụng nhà phát triển.

0 Không
ratePlan

Thuộc tính id xác định mã của gói giá.

Mã gói giá khác với tên hiển thị. Cách xem chi tiết gói giá bao gồm cả mã nhận dạng, hãy xem Khám phá trang gói giá.

Không áp dụng
suppressWarning

Cờ chỉ định liệu có chặn lỗi nếu nhà phát triển cố gắng mua hay không một gói giá trùng lặp với một gói giá đã mua khác. Giá trị này có thể là một trong những sau:

  • true – Tính năng kiếm tiền chấm dứt tất cả các gói giá đã mua mà nhà phát triển phải sử dụng các gói API chứa các sản phẩm API xung đột. Sau đó mua gói API mới cho nhà phát triển.
  • false – Hệ thống sẽ báo lỗi nếu có sự chồng chéo gói giá.
Không áp dụng Không
waveTerminationCharge

Cờ cho biết liệu phí chấm dứt có được miễn khi một gói giá đang hoạt động là bị chấm dứt trong quá trình kích hoạt gói giá mới. Giá trị này có thể là một trong những sau:

  • true – Miễn phí chấm dứt khi gói giá đang hoạt động bị chấm dứt trong quá trình kích hoạt gói giá mới.
  • false – Không miễn phí chấm dứt khi một gói giá đang hoạt động chấm dứt khi kích hoạt gói giá mới.
Không áp dụng Không

Ví dụ: yêu cầu sau đây mua gói giá location_&_messaging dành cho nhà phát triển được chỉ định:

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

Trong ví dụ này, thuộc tính suppressWarning được thiết lập thành false. Trong trong trường hợp xung đột, lỗi sẽ xảy ra. Ví dụ: nếu nhà phát triển khi người dùng cố gắng mua một gói giá trùng lặp với một gói giá đã mua khác, thì hệ thống sẽ báo lỗi. Chiến dịch này cho phép ứng dụng cung cấp giao diện người dùng để kiếm tiền nhằm chặn lỗi và hiển thị các sản phẩm có xung đột để nhà phát triển xác nhận (nếu thích hợp). Nếu suppressWarning được đặt thành true, tính năng kiếm tiền sẽ chấm dứt đối với tất cả các giao dịch đã mua mà nhà phát triển có đối với các gói API chứa sản phẩm xung đột. Sau đó mua gói API mới cho nhà phát triển.

Yêu cầu sau mua gói tỷ lệ thông báo có thể điều chỉnh và đặt số mục tiêu giao dịch đến 4.000.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

Ở một trong các ví dụ trên, nếu thông báo lỗi sau được trả về:

Developer legal name not specified. 

Sau đó, bạn phải đặt các thuộc tính kiếm tiền MINT_DEVELOPER_ADDRESSMINT_DEVELOPER_LEGAL_NAME, sau đó lặp lại lệnh gọi API.

Thời hạn của gói giá mà nhà phát triển mua bằng API

Để hết hạn (hoặc huỷ) gói giá mà nhà phát triển đã mua, hãy cập nhật gói giá đã mua thông tin chi tiết về gói giá và chỉ định cơ sở lưu trú endDate trong nội dung yêu cầu ở một yêu cầu PUT đến tài nguyên /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

Gói giá sẽ có hiệu lực cho đến cuối ngày ngày được chỉ định. Ví dụ: nếu bạn muốn hết hạn gói giá vào ngày 1 tháng 12 năm 2017, bạn phải đặt giá trị endDate đến 2017-11-30. Trong trường hợp này, gói giá sẽ hết hạn vào cuối ngày ngày 30/11/2017; tất cả các yêu cầu vào ngày 1 tháng 12, Năm 2017 sẽ bị chặn.

{developer_rateplan_id} được trả lại trong phản hồi khi bạn mua hàng gói giá được công bố.

Ví dụ:

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

Ngoài ra, bạn có thể lấy {developer-rateplan-id} cho gói giá dành cho nhà phát triển bằng cách đưa ra một yêu cầu GET đến /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, trong đó {developer_id} là địa chỉ email của nhà phát triển. Để biết thêm thông tin, hãy xem phần Xem tất cả gói giá mà nhà phát triển mua.

Yêu cầu sau đây cập nhật ngày kết thúc thành ngày 1 tháng 12 năm 2017. Đó là gói giá sẽ hết hạn vào cuối ngày 30/11/2017; tất cả các yêu cầu vào ngày 1 tháng 12 năm 2017 sẽ được bị chặn.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'