Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
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 giá đã mua (nếu muốn) bằng API.
Mua gói giá đã xuất bản bằng API
Sau khi một gói giá được phát hành, nhà phát triển hoặc công ty có thể mua (hoặc "chấp nhận") gói đó 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 giá, 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 kiếm tiền, như mô tả trong phần 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 phần nội dung yêu cầu, giá trị mặc định của các thuộc tí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 áp dụng 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 giá sẽ có hiệu lực cho đến cuối ngày vào ngày được chỉ định. Ví dụ: nếu muốn gói giá hết hạn 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; tất cả cá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 |
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 bổ sung sẽ không bị chặn sau khi đạt đến 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 một 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 việc có 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 lặp 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 xem có miễn phí chấm dứt khi một 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 hay không. Giá trị này 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 đã 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ẽ được gửi trong trường hợp xung đột. Ví dụ: nếu nhà phát triển cố gắng mua một gói giá trùng lặp với một gói giá đã mua khác, thì lỗi sẽ xảy ra. Điều này cho phép một ứ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 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 giá đã 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 đó, hệ thống sẽ mua một gói API mới cho nhà phát triển.
Yêu cầu sau đây mua gói tỷ lệ thông báo có thể điều chỉnh và đặt số lượng giao dịch mục tiêu thành 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 }'
Trong một trong 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.
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 chi tiết gói giá đã mua và chỉ định thuộc tính endDate
trong phần nội dung yêu cầu trong 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 vào ngày kết thúc được chỉ định. Ví dụ: nếu muốn gói giá hết hạn 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; 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ả 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 đưa ra 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 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. Tức là, gói giá sẽ hết hạn vào cuối ngày 30 tháng 11 năm 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.
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 }'