Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Phần này mô tả cách mua một kế hoạch giá đã xuất bản và hết hạn hoặc huỷ một kế hoạch giá đã mua (nếu muốn) bằng API.
Mua một gói giá đã phát hành bằng API
Sau khi một gói giá được xuất bản, 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 gửi yêu cầu POST đến /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 cước, hãy đặt tham số truy vấn waivefees thành true. Cờ này rất hữu ích khi bạn di chuyển nhà phát triển sang tính năng kiếm tiền, như mô tả trong phần Di chuyển nhà phát triển sang tính năng 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 và liệu các thuộc tính đó 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 | Có |
endDate |
Ngày kết thúc gói giá. Ví dụ: 2017-09-24. Gói cước sẽ có hiệu lực cho đến hết ngày vào ngày được chỉ định. Ví dụ: nếu muốn hết hạn một kế hoạch giá vào ngày 1 tháng 12 năm 2017, bạn nên đặt giá trị endDate thành 2017-11-30. Trong trường hợp này, gói giá sẽ hết hạn vào cuối ngày 30 tháng 11 năm 2017; mọi 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 |
Không áp dụng | Có |
quotaTarget |
Số 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 việc gửi thông báo và thời điểm gửi thông báo 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 khác sẽ không bị chặn sau khi đạt được số lượng mục tiêu. Đặt giá trị này thành một số nguyên dương hoặc 0 để tắt thông báo cho nhà phát triển ứng dụng. |
0 |
Không |
ratePlan |
thuộc tính Mã gói giá khác với tên hiển thị. Để xem thông tin chi tiết về gói giá, bao gồm cả mã nhận dạng, hãy xem bài viết Khám phá trang gói giá. |
Không áp dụng | Có |
suppressWarning |
Cờ chỉ định có nên chặn lỗi hay không nếu nhà phát triển cố gắng mua một gói giá trùng với một gói giá đã mua khác. Giá trị có thể là một trong những giá trị sau:
|
Không áp dụng | Không |
waveTerminationCharge |
Cờ chỉ định việc có miễn phí chấm dứt hay không khi một gói cước đang hoạt động bị chấm dứt trong quá trình kích hoạt gói cước mới. Giá trị có thể là một trong những giá trị sau:
|
Không áp dụng | Không |
Ví dụ: yêu cầu sau đây mua gói giá location_&_messaging 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 đặt thành false. Trong trường hợp này, lỗi sẽ xảy ra trong trường hợp có xung đột. Ví dụ: nếu nhà phát triển cố gắng mua một gói giá trùng với một gói giá đã mua khác, thì sẽ xảy ra lỗi. Điều này cho phép ứng dụng cung cấp giao diện người dùng để kiếm tiền chặn lỗi và hiển thị các sản phẩm xung đột cho nhà phát triển để xác nhận (nếu thích hợp). Nếu suppressWarning được đặt thành true, thì hoạt động kiếm tiền sẽ chấm dứt tất cả các gói thuê bao đã mua mà nhà phát triển phải trả cho các gói API có chứa các sản phẩm xung đột. Sau đó, nó sẽ mua một gói API mới cho nhà phát triển.
Yêu cầu sau đây mua một gói giá thông báo có thể điều chỉnh và đặt số lượng giao dịch mục tiêu là 4000.
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
}'
Trong cả hai ví dụ trên, nếu thông báo lỗi sau đây đượ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_ADDRESS và MINT_DEVELOPER_LEGAL_NAME, rồi lặp lại lệnh gọi API.
Hết hạn gói thuê bao do nhà phát triển mua bằng API
Để hết hạn (hoặc huỷ) một gói giá mà nhà phát triển đã mua, hãy cập nhật thông tin chi tiết về gói giá đã mua và chỉ định thuộc tính endDate trong nội dung yêu cầu trong yêu cầu PUT đối với tài nguyên /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.
Gói cước sẽ có hiệu lực cho đến hết ngày vào ngày kết thúc đã chỉ định. Ví dụ: nếu muốn hết hạn một kế hoạch giá vào ngày 1 tháng 12 năm 2017, bạn nên đặt giá trị endDate thành 2017-11-30. Trong trường hợp này, gói giá sẽ hết hạn vào cuối ngày 30 tháng 11 năm 2017; mọi yêu cầu vào ngày 1 tháng 12 năm 2017 sẽ bị chặn.
{developer_rateplan_id} được trả về trong phản hồi khi bạn mua gói giá đã xuất bản.
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 gửi 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ả các gói thuê bao mà nhà phát triển đã mua.
Yêu cầu sau đây sẽ cập nhật ngày kết thúc thành ngày 1 tháng 12 năm 2017. Tức là gói giá sẽ hết hạn vào cuối ngày 30 tháng 11 năm 2017; mọi yêu cầu vào ngày 1 tháng 12 năm 2017 sẽ 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
}'