Thiết lập thông báo bằng webhook

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

Webhook là gì?

webhook xác định trình xử lý gọi lại HTTP được một sự kiện kích hoạt. Thay vì sử dụng mẫu thông báo kiếm tiền, bạn có thể tạo webhook và định cấu hình webhook để xử lý các thông báo sự kiện, như mô tả trong bài viết 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 thành các bước sau bằng cách sử dụng giao diện người dùng Quản lý biên hoặc API Quản lý và kiếm tiền:

  1. 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 cách sử dụng Giao diện người dùng hoặc API.
  2. Thiết lập trình xử lý gọi lại.
  3. 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 hoặc API.

Quản lý webhook

Thêm và quản lý những 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 cách sử dụng Giao diện người dùng hoặc API.

Quản lý webhook bằng cách sử dụng giao diện người dùng

Thêm và quản lý những 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 cách sử dụng giao diện người dùng, như mô tả trong các phần sau.

Khám phá trang Webhook

Truy cập trang Webhook theo mô tả dưới đây.

Edge

Cách truy cập trang Webhook bằng giao diện người dùng Edge:

  1. Đăng nhập vào apigee.com/edge.
  2. 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 đánh dấu trong hình, trang Webhooks cho phép bạn:

Phiên bản cũ (Đám mây riêng tư)

Cách truy cập vào trang Webhook bằng giao diện người dùng Classic Edge:

  1. Đă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ý.
  2. Chọn Quản trị > Webhook.

Trang Webhook sẽ xuất hiện.

Trang Webhook cho phép bạn:

Thêm một webhook bằng cách sử dụng giao diện người dùng

Cách thêm một webhook bằng giao diện người dùng:

  1. Truy cập vào trang Webhook.
  2. Nhấp vào + Webhook.
  3. Nhập thông tin sau (tất cả các trường đều là bắt buộc).
    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.
  4. Nhấp vào Lưu.

Webhook sẽ được thêm vào danh sách và bật theo mặc định.

Chỉnh sửa webhook sử dụng giao diện người dùng

Cách chỉnh sửa webhook bằng cách sử dụng giao diện người dùng:

  1. Truy cập vào trang Webhook.
  2. Đặt con trỏ lên webhook mà bạn muốn chỉnh sửa rồi nhấp vào trong trình đơn thao tác.
  3. Chỉnh sửa các trường webhook theo yêu cầu.
  4. 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:

  1. Truy cập vào trang Webhook.
  2. Đặt con trỏ lên webhook và chuyển đổi nút trạng thái để bật hoặc tắt webhook.

Xoá webhook bằng cách sử dụng giao diện người dùng

Cách xoá một webhook bằng giao diện người dùng:

  1. Truy cập vào trang Webhook.
  2. Đặt con trỏ lên webhook bạn muốn xoá rồi nhấp vào .

Webhook sẽ bị xoá và loại bỏ 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ả các webhook bằng API

Xem tất cả các webhook bằng cách gửi 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

Dưới đâ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 gửi 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 một webhook bằng cách gửi yêu cầu POST tới /mint/organizations/{org_name}/webhooks. Bạn phải chuyể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ụ: nội dung sau đây sẽ tạo một webhook có tên webhook3 và chỉ định 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 một webhook bằng cách gửi yêu cầu POST tới /mint/organizations/{org_name}/webhooks/{webhook_id}. Truyền thông tin 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 POST "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ạn có thể bật hoặc tắt webhook bằng cách gửi yêu cầu POST tới /mint/organizations/{org_name}/webhooks/{webhook_id} như khi cập nhật webhook và đặ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, nó sẽ không được kích hoạt khi sự kiện xảy ra.

Ví dụ: đoạn mã 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 gửi yêu cầu DELETE tới /mint/organizations/{org_name}/webhooks/{webhook_id}.

Để chỉ định xem 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. Theo mặc định, tham số truy vấn forceDelete được bật (true).

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

Hình ảnh sau đây minh hoạ đị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 sẽ xử lý yêu cầu một cách phù 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

Dù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, theo mô tả dưới đây.

Chuyển đến hộp thoại Thông báo để xem gói giá có thể điều chỉnh

Chuyển đến hộp thoại Thông báo để xem gói giá có thể điều chỉnh theo mô tả bên dưới.

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:

  1. Tạo và phát hành kế hoạch giá thông báo có thể điều chỉnh như mô tả trong phần Chỉ định chi tiết về kế hoạch thông báo có thể điều chỉnh.
  2. 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.
  3. Đặt con trỏ lên kế hoạch tỷ lệ thông báo có thể điều chỉnh đã xuất bản để hiển thị các hành động.
  4. Nhấp vào +Thông báo.

    Hộp thoại Thông báo hiển thị.

    Lưu ý: Bạn phải xuất bản gói giá để thao tác +Thông báo xuất hiện.

Phiên bản cũ (Đám mây riêng tư)

Để truy cập trang Thông báo:

  1. Tạo một kế hoạch giá thông báo có thể điều chỉnh như mô tả trong phần Chỉ định chi tiết về kế hoạch thông báo có thể điều chỉnh.
  2. Hãy chọn Publish > Packages (Xuất bản > Gói) để xem các gói giá.
  3. Nhấp vào +Thông báo trong cột Thao tác cho gói giá.

    Hộp thoại Thông báo hiển thị.

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 cho gói giá có thể điều chỉnh trên giao diện người dùng:

  1. Truy cập vào Hộp thoại thông báo.
  2. Đặt điều kiện thông báo trong Khoảng thời gian thông báo bằng cách chỉ định tỷ lệ phần trăm của số lượng giao dịch mục tiêu 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ừ % và để trống trường Đến %.
    • Để đặt một phạm vi tỷ lệ phần trăm, hãy nhập tỷ lệ phần trăm bắt đầu và kết thúc tương ứng vào các trường Điểm/từ %Đến % và giá trị tăng dần trong trường Bước %. 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 sự kiện.

  3. Để đặt các điều kiện thông báo khác, hãy nhấp vào +Thêm rồi lặp lại bước 4.
  4. Đặt hành động thông báo trong mục 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.
  5. Nhấp vào Tạo thông báo.

Sử dụng giao diện người dùng để chỉnh sửa thông báo cho gói giá có thể điều chỉnh

Cách chỉnh sửa thông báo cho một gói giá có thể điều chỉnh trên giao diện người dùng:

  1. Truy cập vào Hộp thoại thông báo.
  2. Nhấp vào +Thông báo trong cột Thao tác cho gói giá.
  3. Nhấp vào Chỉnh sửa.
  4. Sửa đổi các giá trị, nếu cần.
  5. Nhấp vào Lưu thông báo.

Dùng giao diện người dùng để xoá thông báo về gói giá có thể điều chỉnh

Để xoá điều kiện và hành động thông báo:

  1. Truy cập vào Hộp thoại thông báo.
  2. Nhấp vào +Thông báo trong cột Thao tác cho gói giá.
  3. 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 mô tả trong bài viết Quản lý các điều kiện và hành động thông báo bằng API, đồng thời sử dụng các thuộc tính 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 các đ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 gói giá thông báo có thể điều chỉnh phải được phát hành.
UsageTarget Tỷ lệ phần trăm của số lượng giao dịch mục tiêu 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 cho gói thẻ giá thông báo có thể điều chỉnh mà họ đã mua. Ví dụ: nếu nhà phát triển đã mua gói giá thông báo có thể điều chỉnh và số lượng giao dịch mục tiêu cho nhà phát triển đã được đặt thành 1000, thì bạn có thể thông báo cho họ khi họ đạt 800 lượt giao dịch (80% số giao dịch mục tiêu), 1000 lượt giao dịch (100%) hoặc 1500 lượt giao dịch (150%).

  • Để đặt tỷ lệ phần trăm chính xác, hãy nhập %= n. Ví dụ: %= 80 sẽ gửi thông báo khi tỷ lệ phần trăm số giao dịch mục tiêu đạt đến 80%.
  • Để thiết lập một phạm vi phần trăm, hãy nhập tỷ lệ phần trăm bắt đầu và kết thúc cũng như giá trị tăng dần như sau: %= start to end by n. Ví dụ: giá trị của %= 80 to 100 by 10 sẽ gửi thông báo khi tỷ lệ phần trăm số giao dịch mục tiêu đạt đến mức 80%, 90% và 100%.

Để thiết lập hành động thông báo, trong actions, hãy thiết lập 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 hành động thông báo.

Thuộc tính Giá trị
actionAttribute WEBHOOK để kích hoạt webhook.
value Mã 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 điều kiện thông báo kích hoạt webhook khi tỷ lệ phần trăm số giao dịch mục tiêu đạt đến là 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 cũng như thao tác thông báo, hãy xem:

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 Nội dung 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 đối với các yêu cầu webhook là 3 giây mỗi yêu cầu. Điều này có thể khiến 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.