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
Webhook là gì?
Webhook xác định một trình xử lý gọi lại HTTP được kích hoạt bởi một sự kiện. Bạn có thể tạo webhook và định cấu hình webhook để xử lý thông báo sự kiện, thay vì sử dụng mẫu thông báo kiếm tiền, như mô tả trong phần Thiết lập thông báo bằng mẫu thông báo.
Để thiết lập thông báo bằng webhook, hãy hoàn tất các bước sau bằng cách sử dụng giao diện người dùng Quản lý Edge hoặc API Quản lý và kiếm tiền:
- Thêm webhook xác định trình xử lý gọi lại cho các sự kiện thông báo bằng giao diện người dùng hoặc API.
- Thiết lập trình xử lý gọi lại.
- Thiết lập thông báo cho gói có thể điều chỉnh giá bằng cách sử dụng giao diện người dùng hoặc API.
Quản lý webhook
Thêm và quản lý các webhook xác định trình xử lý gọi lại cho các sự kiện thông báo bằng giao diện người dùng hoặc API.
Quản lý webhook bằng giao diện người dùng
Thêm và quản lý các webhook xác định trình xử lý lệnh gọi lại cho các sự kiện thông báo bằng giao diện người dùng, như mô tả trong các phần sau.
- Khám phá trang Webhook
- Thêm webhook bằng giao diện người dùng
- Chỉnh sửa webhook bằng giao diện người dùng
- Xoá webhook bằng giao diện người dùng
Khám phá trang Webhook
Truy cập vào trang Webhook như mô tả dưới đây.
Edge
Cách truy cập vào trang Webhook bằng giao diện người dùng Edge:
- Đăng nhập vào apigee.com/edge.
- Chọn Xuất bản > Kiếm tiền > Webhook trong thanh điều hướng bên trái.
Trang Webhook sẽ xuất hiện.
Như được làm nổi bật trong hình, trang Webhook cho phép bạn:
- Xem thông tin chi tiết về các webhook hiện có.
- Thêm webhook.
- Bật hoặc tắt, chỉnh sửa hoặc xoá một webhook.
- Tìm kiếm trong danh sách webhook.
Edge phiên bản cũ (Đám mây riêng)
Cách truy cập vào trang Webhook bằng giao diện người dùng Edge cũ:
- Đăng nhập vào
http://ms-ip:9000
, trong đó ms-ip là địa chỉ IP hoặc tên DNS của nút Máy chủ quản lý. Chọn Quản trị > Webhook.
Trang Webhook sẽ xuất hiện.
Trang Webhook cho phép bạn:
- Xem thông tin chi tiết về các webhook hiện có.
- Thêm webhook.
- Bật hoặc tắt, chỉnh sửa hoặc xoá webhook.
- Tìm kiếm trong danh sách webhook.
Thêm webhook bằng giao diện người dùng
Cách thêm webhook bằng giao diện người dùng:
- Truy cập vào trang Webhook.
- Nhấp vào + Webhook.
- Nhập những thông tin sau (bắt buộc phải điền tất cả các trường).
Trường Nội dung mô tả Tên Tên của webhook. URL URL của trình xử lý gọi lại sẽ được gọi khi thông báo sự kiện được kích hoạt. Hãy xem phần Thiết lập trình xử lý gọi lại. - Nhấp vào Lưu.
Webhook được thêm vào danh sách và được bật theo mặc định.
Chỉnh sửa webhook bằng giao diện người dùng
Cách chỉnh sửa webhook bằng giao diện người dùng:
- Truy cập vào trang Webhook.
- Di chuột qua webhook mà bạn muốn chỉnh sửa rồi nhấp vào trong trình đơn thao tác.
- Chỉnh sửa các trường webhook, theo yêu cầu.
- Nhấp vào Cập nhật webhook.
Bật hoặc tắt webhook bằng giao diện người dùng
Cách bật hoặc tắt webhook bằng giao diện người dùng:
- Truy cập vào trang Webhook.
- Đặt con trỏ lên webhook và bật/tắt nút chuyển trạng thái để bật hoặc tắt webhook.
Xoá webhook bằng giao diện người dùng
Cách xoá webhook bằng giao diện người dùng:
- Truy cập vào trang Webhook.
- Đặt con trỏ lên webhook mà bạn muốn xoá rồi nhấp vào .
Webhook sẽ bị xoá khỏi danh sách.
Quản lý webhook bằng API
Thêm và quản lý webhook bằng API như mô tả trong các phần sau.
- Xem tất cả webhook bằng API
- Xem webhook bằng API
- Thêm webhook bằng API
- Chỉnh sửa webhook bằng API
- Xoá webhook bằng API
Xem tất cả webhook bằng API
Xem tất cả các webhook bằng cách đưa ra yêu cầu GET tới /mint/organizations/{org_name}/webhooks
.
Ví dụ:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \ -H "Content-Type: application/json " \ -u email:password
Sau đây là ví dụ về phản hồi được trả về:
{ "totalRecords": 2, "webhooks": [ { "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }, { "created": 1460138724352, "createdBy": "joe@example.com", "enabled": true, "id": "a39ca777-1861-49cf-a397-c9e92ab3c09f", "name": "webhook2", "postUrl": "http://mycompany.com/callbackhandler2", "updated": 1460138724352, "updatedBy": "joe@example.com" } ] }
Xem webhook bằng API
Xem một webhook bằng cách đưa ra yêu cầu GET tới /mint/organizations/{org_name}/webhooks/{webhook_id}
.
Ví dụ:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
Sau đây là ví dụ về phản hồi:
{ "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }
Thêm webhook bằng API
Thêm webhook bằng cách đưa ra yêu cầu POST đến /mint/organizations/{org_name}/webhooks
.
Bạn phải truyền tên của webhook và URL của trình xử lý gọi lại sẽ được gọi khi thông báo sự kiện được kích hoạt.
Ví dụ: đoạn mã sau đây sẽ tạo một webhook có tên webhook3
và gán callbackhandler3
cho webhook đó:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" -H "Content-Type: application/json " -d '{ "name": "webhook3", "postURL": "http://mycompany.com/callbackhandler3" }' \ -u email:password
Sau đây là ví dụ về phản hồi:
{ "created": 1460385534555, "createdBy": "joe@example.com", "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler3", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Chỉnh sửa webhook bằng API
Chỉnh sửa webhook bằng cách gửi yêu cầu PUT cho
/mint/organizations/{org_name}/webhooks/{webhook_id}
. Truyền nội dung cập nhật trong phần nội dung của yêu cầu.
Ví dụ: nội dung sau đây sẽ cập nhật trình xử lý gọi lại liên kết với webhook1
:
curl -X PUT "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \ -H "Content-Type: application/json " \ -d '{ "postURL": "http://mycompany.com/callbackhandler4" }' \ -u email:password
Sau đây là ví dụ về phản hồi:
{ "created": 1460385534555, "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Bật hoặc tắt webhook bằng API
Bật hoặc tắt webhook bằng cách đưa ra yêu cầu POST đến /mint/organizations/{org_name}/webhooks/{webhook_id}
, như bạn đã làm khi cập nhật webhook, đồng thời đặt thuộc tính đã bật trong nội dung yêu cầu thành true hoặc false tương ứng. Nếu bạn tắt webhook, webhook sẽ không được kích hoạt khi có sự kiện xảy ra.
Ví dụ: nội dung sau đây sẽ bật webhook3
:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \ -H "Content-Type: application/json " \ -d '{ "enabled": "true" }' \ -u email:password
Sau đây là ví dụ về phản hồi:
{ "created": 1460385534555, "enabled": true, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Xoá webhook bằng API
Xoá một webhook bằng cách đưa ra yêu cầu DELETE cho /mint/organizations/{org_name}/webhooks/{webhook_id}
.
Để chỉ định việc có buộc xoá webhook hay không nếu có các quy trình đang diễn ra, hãy đặt tham số truy vấn forceDelete
thành true
hoặc false
. Tham số truy vấn forceDelete
được bật (true
) theo mặc định.
Ví dụ: thao tác sau đây sẽ xoá webhook3
:
curl -X DELETE "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
Thiết lập trình xử lý gọi lại
Phần sau đây cho thấy định dạng của yêu cầu JSON được gửi đến trình xử lý gọi lại do webhook xác định khi thông báo sự kiện được kích hoạt. Bạn phải đảm bảo rằng trình xử lý gọi lại xử lý yêu cầu một cách thích hợp.
{ "orgName": "{org_id}", "developerEmail": "{dev_email}", "developerFirstName": "{first_name}", "developerLastName": "{last_name}", "companyName": "{company_name}", "applicationName": "{app_name}", "packageName": "{api_package_name}", "packageId": "{api_package_id}", "ratePlanId": "{rateplan_id}", "ratePlanName": "{rateplan_name}", "ratePlanType": "{rateplan_type}", "developerRatePlanQuotaTarget": {quota_target}, "quotaPercentUsed": {percentage_quota_used}, "ratePlanStartDate": {rateplan_startdate}, "ratePlanEndDate": {rateplan_enddate}, "nextBillingCycleStartDate": {next_billing_cycle_startdate}, "products": ["{api_product_name}","{api_product_name}"], "developerCustomAttributes": [], "triggerTime": {trigger_time}, "triggerReason": "{trigger_reason}", "developerQuotaResetDate": "{devquota_resetdate}" }
Thiết lập thông báo cho gói giá có thể điều chỉnh
Thiết lập thông báo bằng webhook cho gói giá có thể điều chỉnh bằng giao diện người dùng hoặc API.
Thiết lập thông báo cho gói giá có thể điều chỉnh bằng giao diện người dùng
Thiết lập thông báo bằng webhook cho gói giá có thể điều chỉnh bằng cách sử dụng giao diện người dùng như mô tả bên dưới.
Mở hộp thoại Thông báo để nhận gói giá có thể điều chỉnh
Mở hộp thoại Thông báo để xem gói giá có thể điều chỉnh, theo mô tả dưới đây.
Edge
Cách truy cập vào hộp thoại thông báo bằng giao diện người dùng Edge:
- Tạo và phát hành gói giá thông báo có thể điều chỉnh như mô tả trong phần Chỉ định thông tin chi tiết về gói thông báo có thể điều chỉnh.
- Truy cập vào trang Gói giá bằng cách chọn Xuất bản > Kiếm tiền > Gói giá trong thanh điều hướng bên trái.
- Di chuột qua kế hoạch Tốc độ thông báo có thể điều chỉnh đã xuất bản để hiển thị các thao tác.
- Nhấp vào +Thông báo.
Hộp thoại Notifications (Thông báo) sẽ xuất hiện.
Lưu ý: Bạn phải phát hành gói giá thì hành động +Thông báo mới xuất hiện.
Edge phiên bản cũ (Đám mây riêng)
Cách truy cập vào trang Thông báo:
- Tạo một gói tốc độ thông báo có thể điều chỉnh, như mô tả trong phần Chỉ định thông tin chi tiết về gói tốc độ thông báo có thể điều chỉnh.
- Chọn Xuất bản > Gói để xem các gói giá.
- Nhấp vào +Thông báo trong cột Hành động cho gói giá.
Hộp thoại Notifications (Thông báo) sẽ xuất hiện.
Thêm thông báo cho gói giá có thể điều chỉnh bằng giao diện người dùng
Cách thêm thông báo về gói giá có thể điều chỉnh vào giao diện người dùng:
- Truy cập vào hộp thoại Thông báo.
- Đặt điều kiện thông báo trong phần Khoảng thời gian thông báo bằng cách chỉ định tỷ lệ phần trăm số giao dịch mục tiêu tại thời điểm bạn muốn kích hoạt thông báo. Cụ thể:
- Để đặt tỷ lệ phần trăm chính xác, hãy nhập tỷ lệ phần trăm vào trường Tại/Từ % và để trống trường Đến %.
- Để đặt phạm vi phần trăm, hãy nhập phần trăm bắt đầu và kết thúc tương ứng vào các trường At/From % (Tại/Từ %) và To % (Đến %), cũng như giá trị gia tăng vào trường Step % (Mức tăng %). Theo mặc định, thông báo được gửi theo mức tăng 10% trong phạm vi đã chỉ định.
Trường
Notify At
được cập nhật để phản ánh từng tỷ lệ phần trăm của số lượng giao dịch mục tiêu sẽ kích hoạt một sự kiện. - Để đặt thêm điều kiện thông báo, hãy nhấp vào +Thêm rồi lặp lại bước 4.
- Đặt hành động thông báo trong phần Webhook bằng cách chọn một hoặc nhiều webhook để quản lý việc xử lý lệnh gọi lại khi thông báo được kích hoạt.
- Nhấp vào Tạo thông báo.
Chỉnh sửa thông báo cho gói giá có thể điều chỉnh bằng giao diện người dùng
Cách chỉnh sửa thông báo cho gói giá có thể điều chỉnh trên giao diện người dùng:
- Truy cập vào hộp thoại Thông báo.
- Nhấp vào +Thông báo trong cột Thao tác cho gói giá.
- Nhấp vào Chỉnh sửa.
- Sửa đổi các giá trị nếu cần.
- Nhấp vào Lưu thông báo.
Xoá thông báo cho gói giá có thể điều chỉnh bằng giao diện người dùng
Cách xoá điều kiện và hành động thông báo:
- Mở Hộp thoại thông báo.
- Nhấp vào +Thông báo trong cột Thao tác cho gói giá.
- Nhấp vào Xoá thông báo.
Thiết lập thông báo cho gói giá có thể điều chỉnh bằng API
Để thiết lập thông báo cho gói giá có thể điều chỉnh bằng API, hãy làm theo quy trình được mô tả trong phần Quản lý các điều kiện và hành động về thông báo bằng API và dùng các thuộc tính được mô tả trong phần này.
Để thiết lập điều kiện thông báo (notificationCondition
), hãy sử dụng các giá trị thuộc tính sau. Để biết thêm thông tin, hãy xem phần Thuộc tính cấu hình cho điều kiện thông báo.
Thuộc tính | Giá trị |
---|---|
RATEPLAN |
Mã của gói giá thông báo có thể điều chỉnh. |
PUBLISHED |
TRUE để cho biết rằng bạn phải phát hành kế hoạch tốc độ thông báo có thể điều chỉnh. |
UsageTarget |
Tỷ lệ phần trăm số giao dịch mục tiêu tại thời điểm bạn muốn kích hoạt thông báo.
Thuộc tính này cho phép bạn thông báo cho nhà phát triển khi họ sắp hoặc đã đạt đến số lượng giao dịch mục tiêu đối với gói bảng giá thông báo có thể điều chỉnh mà họ đã mua. Ví dụ: nếu một nhà phát triển đã mua gói giá thông báo có thể điều chỉnh và số giao dịch mục tiêu cho nhà phát triển đó được đặt thành 1.000, thì bạn có thể thông báo cho họ khi họ đạt đến 800 giao dịch (80% số giao dịch mục tiêu), 1.000 giao dịch (100%) hoặc 1.500 giao dịch (150%).
|
Để thiết lập hành động thông báo, trong actions
, hãy đặt các giá trị sau. Để biết thêm thông tin, hãy xem phần Thuộc tính cấu hình cho các thao tác thông báo.
Thuộc tính | Giá trị |
---|---|
actionAttribute |
WEBHOOK để kích hoạt webhook. |
value |
Mã nhận dạng của webhook mà bạn đã xác định trong phần trước, Tạo webhook bằng API. |
Sau đây là ví dụ về cách tạo một điều kiện thông báo kích hoạt một webhook khi tỷ lệ phần trăm số lượng giao dịch mục tiêu đạt đến 80%, 90%, 100%, 110% và 120%.
{ "notificationCondition": [ { "attribute": "RATEPLAN", "value": "123456" }, { "attribute": "PUBLISHED", "value": "TRUE" }, { "attribute": "UsageTarget", "value": "%= 80 to 120 by 10" } } ], "actions": [{ "actionAttribute": "WEBHOOK", "value": "b0d77596-142e-4606-ae2d-f55c3c6bfebe", }] }
Để biết thông tin về cách xem, cập nhật và xoá điều kiện và hành động thông báo, hãy xem:
- Xem điều kiện và hành động thông báo bằng API
- Chỉnh sửa điều kiện và hành động thông báo bằng API
- Xoá thao tác và điều kiện thông báo bằng API
Mã phản hồi webhook
Phần sau đây tóm tắt các mã phản hồi webhook và cách hệ thống diễn giải các mã đó.
Mã phản hồi | Mô tả |
---|---|
2xx |
Thành công |
5xx |
Yêu cầu không thành công. Hệ thống sẽ thử lại yêu cầu tối đa 3 lần trong khoảng thời gian 5 phút. Lưu ý: Thời gian chờ đọc và kết nối cho các yêu cầu webhook là 3 giây, điều này có thể dẫn đến các yêu cầu không thành công. |
Other response |
Yêu cầu không thành công. Hệ thống sẽ không thử lại yêu cầu. |