ตั้งค่าการแจ้งเตือนโดยใช้เว็บฮุค

คุณกำลังดูเอกสารประกอบสำหรับ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

Webhook คืออะไร

เว็บฮุคจะกําหนดตัวแฮนเดิลการเรียกกลับ HTTP ที่เรียกให้แสดงโดยเหตุการณ์ คุณสามารถสร้างและกำหนดค่า Webhook เพื่อจัดการการแจ้งเตือนเหตุการณ์แทนการใช้เทมเพลตการแจ้งเตือนการสร้างรายได้ตามที่อธิบายไว้ในตั้งค่าการแจ้งเตือนโดยใช้เทมเพลตการแจ้งเตือน

หากต้องการตั้งค่าการแจ้งเตือนโดยใช้ Webhook ให้ทำตามขั้นตอนต่อไปนี้โดยใช้ UI การจัดการ Edge หรือ Management and Monetization API

  1. เพิ่มเว็บฮุคที่กำหนดตัวแฮนเดิล Callback สำหรับเหตุการณ์การแจ้งเตือนโดยใช้ UI หรือ API
  2. ตั้งค่าตัวแฮนเดิลการเรียกกลับ
  3. ตั้งค่าการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้โดยใช้ UI หรือ API

การจัดการเว็บฮุค

เพิ่มและจัดการเว็บฮุคที่กำหนดตัวแฮนเดิล Callback สำหรับเหตุการณ์การแจ้งเตือนโดยใช้ UI หรือ API

การจัดการเว็บฮุคโดยใช้ UI

เพิ่มและจัดการ Webhook ที่กําหนดตัวแฮนเดิลการเรียกกลับสําหรับเหตุการณ์การแจ้งเตือนโดยใช้ UI ตามที่อธิบายในส่วนต่อไปนี้

การสำรวจหน้าเว็บฮุค

เข้าถึงหน้า Webhook ตามที่อธิบายไว้ด้านล่าง

Edge

วิธีเข้าถึงหน้า Webhook โดยใช้ UI ของ Edge

  1. ลงชื่อเข้าใช้ apigee.com/edge
  2. เลือกเผยแพร่ > การสร้างรายได้ > Webhook ในแถบนําทางด้านซ้าย

หน้า Webhooks จะปรากฏขึ้น

ดังที่ไฮไลต์ในรูปภาพ หน้า Webhooks ช่วยให้คุณทําสิ่งต่อไปนี้ได้

Edge แบบคลาสสิก (ระบบคลาวด์ส่วนตัว)

วิธีเข้าถึงหน้า Webhook โดยใช้ UI ของ Edge แบบคลาสสิก

  1. ลงชื่อเข้าใช้ http://ms-ip:9000 โดยที่ ms-ip คือที่อยู่ IP หรือชื่อ DNS ของโหนดเซิร์ฟเวอร์การจัดการ
  2. เลือกผู้ดูแลระบบ > Webhook

หน้า Webhooks จะปรากฏขึ้น

หน้า Webhooks ช่วยให้คุณทําสิ่งต่อไปนี้ได้

การเพิ่มเว็บฮุกโดยใช้ UI

วิธีเพิ่ม Webhook โดยใช้ UI

  1. ไปที่หน้าเว็บฮุค
  2. คลิก + เว็บฮุค
  3. ป้อนข้อมูลต่อไปนี้ (ต้องกรอกทุกช่อง)
    ช่อง รายละเอียด
    ชื่อ ชื่อของเว็บฮุก
    URL URL ของตัวแฮนเดิลการเรียกกลับที่จะเรียกใช้เมื่อมีการทริกเกอร์การแจ้งเตือนเหตุการณ์ โปรดดูการตั้งค่าตัวแฮนเดิลการเรียกกลับ
  4. คลิกบันทึก

ระบบจะเพิ่มและเปิดใช้ Webhook นั้นโดยค่าเริ่มต้น

การแก้ไขเว็บฮุกโดยใช้ UI

วิธีแก้ไขเว็บฮุกโดยใช้ UI

  1. ไปที่หน้าเว็บฮุค
  2. วางเคอร์เซอร์เหนือ Webhook ที่ต้องการแก้ไข แล้วคลิก ในเมนูการดําเนินการ
  3. แก้ไขช่องเว็บฮุคตามต้องการ
  4. คลิกอัปเดตเว็บฮุค

เปิดหรือปิดใช้ Webhook โดยใช้ UI

วิธีเปิดหรือปิดใช้ Webhook โดยใช้ UI

  1. เข้าถึงหน้าเว็บฮุค
  2. วางเคอร์เซอร์เหนือ Webhook แล้วสลับสวิตช์สถานะเพื่อเปิดหรือปิดใช้

การลบเว็บฮุกโดยใช้ UI

วิธีลบเว็บฮุคโดยใช้ UI

  1. ไปที่หน้าเว็บฮุค
  2. วางเคอร์เซอร์เหนือ Webhook ที่ต้องการลบ แล้วคลิก

ระบบจะลบและนำเว็บฮุคออกจากรายการ

การจัดการเว็บฮุคโดยใช้ API

เพิ่มและจัดการ Webhook โดยใช้ API ตามที่อธิบายไว้ในส่วนต่อไปนี้

การดู Webhook ทั้งหมดโดยใช้ API

ดูเว็บฮุคทั้งหมดโดยการออกคำขอ GET ไปยัง /mint/organizations/{org_name}/webhooks เช่น

curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \
  -H "Content-Type: application/json " \
  -u email:password

ต่อไปนี้เป็นตัวอย่างของคำตอบที่แสดง

{
  "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"
    }

  ]
}

การดู Webhook โดยใช้ API

ดู Webhook รายการเดียวโดยส่งคําขอ GET ไปที่ /mint/organizations/{org_name}/webhooks/{webhook_id}

เช่น

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

ต่อไปนี้เป็นตัวอย่างการตอบกลับ

{
   "created": 1460162656342,
   "enabled": false,
   "id": "21844a37-d26d-476c-93ed-38f3a4b24691",
   "name": "webhook1",
   "postUrl": "http://mycompany.com/callbackhandler1",
   "updated": 1460162656342,
   "updatedBy": "joe@example.com"
 }

การเพิ่มเว็บฮุกโดยใช้ API

เพิ่มเว็บฮุคโดยการส่งคําขอ POST ไปยัง /mint/organizations/{org_name}/webhooks คุณต้องส่งชื่อของ Webhook และ URL ของตัวแฮนเดิลการเรียกกลับที่จะเรียกใช้เมื่อมีการทริกเกอร์การแจ้งเตือนเหตุการณ์

ตัวอย่างเช่น คำสั่งต่อไปนี้จะสร้างเว็บฮุคชื่อ webhook3 และกำหนด callbackhandler3 ให้กับเว็บฮุค

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

ต่อไปนี้เป็นตัวอย่างการตอบกลับ

{
  "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"
}

การแก้ไขเว็บฮุคโดยใช้ API

แก้ไขเว็บฮุกโดยการส่งคําขอ PUT ไปยัง /mint/organizations/{org_name}/webhooks/{webhook_id} ส่งข้อมูลอัปเดตในเนื้อหาของคำขอ

ตัวอย่างเช่น คำสั่งต่อไปนี้จะอัปเดตตัวแฮนเดิลการเรียกกลับที่เชื่อมโยงกับ 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

ต่อไปนี้เป็นตัวอย่างการตอบกลับ

{
  "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"
}

การเปิดหรือปิดใช้ Webhook โดยใช้ API

เปิดหรือปิดใช้เว็บฮุคโดยการออกคำขอ POST ไปยัง /mint/organizations/{org_name}/webhooks/{webhook_id} เช่นเดียวกับที่คุณทำเมื่ออัปเดตเว็บฮุค และตั้งค่าแอตทริบิวต์ที่เปิดใช้ในเนื้อหาคำขอเป็น "จริง" หรือ "เท็จ" ตามลำดับ หากคุณปิดใช้ Webhook Webhook จะไม่ทริกเกอร์เมื่อเกิดเหตุการณ์

ตัวอย่างเช่น รายการต่อไปนี้จะเปิดใช้ 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

ต่อไปนี้เป็นตัวอย่างการตอบกลับ

{
  "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"
}

การลบเว็บฮุกโดยใช้ API

ลบเว็บฮุกโดยส่งคําขอ DELETE ไปยัง /mint/organizations/{org_name}/webhooks/{webhook_id}

หากต้องการระบุว่าจะบังคับให้ลบ Webhook หรือไม่หากมีกระบวนการที่กำลังดำเนินอยู่ ให้ตั้งค่าพารามิเตอร์การค้นหา forceDelete เป็น true หรือ false ระบบจะเปิดใช้พารามิเตอร์การค้นหา forceDelete (true) โดยค่าเริ่มต้น

ตัวอย่างเช่น คำสั่งต่อไปนี้จะลบ 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

การตั้งค่าตัวแฮนเดิลการเรียกกลับ

ต่อไปนี้แสดงรูปแบบคำขอ JSON ที่ส่งไปยังตัวแฮนเดิลการเรียกกลับซึ่งกำหนดโดย Webhook เมื่อมีการเรียกให้แสดงการแจ้งเตือนเหตุการณ์ คุณต้องตรวจสอบว่าตัวแฮนเดิลการเรียกกลับประมวลผลคําขออย่างเหมาะสม

{
        "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}"
}

การตั้งค่าการแจ้งเตือนสำหรับแพ็กเกจราคาที่ปรับได้

ตั้งค่าการแจ้งเตือนโดยใช้ Webhook สำหรับแพ็กเกจอัตราที่ปรับได้โดยใช้ UI หรือ API

การตั้งค่าการแจ้งเตือนสำหรับแพ็กเกจราคาที่ปรับได้โดยใช้ UI

ตั้งค่าการแจ้งเตือนโดยใช้ Webhook สำหรับแพ็กเกจอัตราที่ปรับได้โดยใช้ UI ตามที่อธิบายไว้ด้านล่าง

เข้าถึงกล่องโต้ตอบการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้

เข้าถึงกล่องโต้ตอบการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้ ตามที่อธิบายไว้ด้านล่าง

Edge

วิธีเข้าถึงกล่องโต้ตอบการแจ้งเตือนโดยใช้ UI ของ Edge

  1. สร้างและเผยแพร่แพ็กเกจอัตราค่าบริการการแจ้งเตือนแบบปรับได้ ตามที่อธิบายไว้ในระบุรายละเอียดแพ็กเกจการแจ้งเตือนแบบปรับได้
  2. เข้าถึงหน้าแพ็กเกจราคาโดยเลือกเผยแพร่ > การสร้างรายได้ > แพ็กเกจราคาในแถบนำทางด้านซ้าย
  3. วางเคอร์เซอร์เหนือแผนที่อัตราการแจ้งเตือนแบบปรับได้ซึ่งเผยแพร่แล้วเพื่อแสดงการดำเนินการ
  4. คลิก +แจ้งเตือน

    กล่องโต้ตอบการแจ้งเตือนจะปรากฏขึ้น

    หมายเหตุ: คุณต้องเผยแพร่แพ็กเกจอัตราค่าบริการเพื่อให้การดำเนินการ + แจ้งเตือนแสดง

Edge แบบคลาสสิก (ระบบคลาวด์ส่วนตัว)

วิธีเข้าถึงหน้าการแจ้งเตือน

  1. สร้างแพ็กเกจอัตราการแจ้งเตือนแบบปรับได้ตามที่อธิบายไว้ในระบุรายละเอียดแพ็กเกจการแจ้งเตือนแบบปรับได้
  2. เลือกเผยแพร่ > แพ็กเกจเพื่อดูแพ็กเกจราคา
  3. คลิก +แจ้งเตือนในคอลัมน์การดำเนินการของแพ็กเกจราคา

    กล่องโต้ตอบการแจ้งเตือนจะปรากฏขึ้น

การเพิ่มการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้โดยใช้ UI

วิธีเพิ่มการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้ของ UI

  1. เข้าถึงกล่องโต้ตอบการแจ้งเตือน
  2. กำหนดเงื่อนไขการแจ้งเตือนในส่วนช่วงเวลาการแจ้งเตือนด้วยการระบุเปอร์เซ็นต์ของจำนวนธุรกรรมเป้าหมายในเวลาที่คุณต้องการให้มีการเรียกใช้การแจ้งเตือน กล่าวคือ
    • หากต้องการกำหนดเปอร์เซ็นต์ที่แน่นอน ให้ป้อนเปอร์เซ็นต์ในช่อง At/From % แล้วเว้นช่อง To % ว่างไว้
    • หากต้องการตั้งค่าช่วงเปอร์เซ็นต์ ให้ป้อนเปอร์เซ็นต์เริ่มต้นและสิ้นสุดในช่องที่/จาก % และถึง % ตามลำดับ และค่าที่เพิ่มขึ้นในช่องขั้นตอน % โดยค่าเริ่มต้น ระบบจะส่งการแจ้งเตือนเป็นช่วงๆ ละ 10% ภายในช่วงที่ระบุ

    ระบบจะอัปเดตช่อง Notify At เพื่อแสดงแต่ละเปอร์เซ็นต์ของจำนวนธุรกรรมเป้าหมายที่จะเรียกใช้เหตุการณ์

  3. หากต้องการตั้งค่าเงื่อนไขการแจ้งเตือนเพิ่มเติม ให้คลิก +เพิ่ม แล้วทำขั้นตอนที่ 4 ซ้ำ
  4. ตั้งค่าการดำเนินการสำหรับการแจ้งเตือนในส่วน Webhook โดยเลือก Webhook อย่างน้อย 1 รายการเพื่อจัดการการจัดการการเรียกกลับเมื่อมีการเรียกให้แสดงการแจ้งเตือน
  5. คลิกสร้างการแจ้งเตือน

การแก้ไขการแจ้งเตือนสำหรับแพ็กเกจราคาที่ปรับได้โดยใช้ UI

วิธีแก้ไขการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้ของ UI

  1. เข้าถึงกล่องโต้ตอบการแจ้งเตือน
  2. คลิก +แจ้งเตือนในคอลัมน์การดำเนินการสำหรับแพ็กเกจอัตรา
  3. คลิกแก้ไข
  4. แก้ไขค่าตามที่จำเป็น
  5. คลิกบันทึกการแจ้งเตือน

การลบการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้โดยใช้ UI

วิธีลบเงื่อนไขและการดําเนินการของการแจ้งเตือน

  1. เข้าถึงกล่องโต้ตอบการแจ้งเตือน
  2. คลิก +แจ้งเตือนในคอลัมน์การดำเนินการสำหรับแพ็กเกจอัตรา
  3. คลิกลบการแจ้งเตือน

การตั้งค่าการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้โดยใช้ API

หากต้องการตั้งค่าการแจ้งเตือนสำหรับแพ็กเกจอัตราที่ปรับได้โดยใช้ API ให้ทำตามขั้นตอนที่อธิบายไว้ในการจัดการเงื่อนไขและการดําเนินการของการแจ้งเตือนโดยใช้ API และใช้แอตทริบิวต์ที่อธิบายในส่วนนี้

หากต้องการตั้งค่าเงื่อนไขการแจ้งเตือน (notificationCondition) ให้ใช้ค่าแอตทริบิวต์ต่อไปนี้ ดูข้อมูลเพิ่มเติมได้ที่พร็อพเพอร์ตี้การกำหนดค่าสำหรับเงื่อนไขการแจ้งเตือน

แอตทริบิวต์ ค่า
RATEPLAN รหัสแพ็กเกจราคาการแจ้งเตือนแบบปรับได้
PUBLISHED TRUE เพื่อระบุว่าต้องเผยแพร่แพ็กเกจอัตราการแจ้งเตือนแบบปรับได้
UsageTarget เปอร์เซ็นต์ของจํานวนธุรกรรมเป้าหมายที่ต้องการให้มีการแจ้งเตือน

แอตทริบิวต์นี้ช่วยให้คุณแจ้งเตือนนักพัฒนาแอปได้เมื่อนักพัฒนาแอปใกล้จะถึงหรือถึงจำนวนธุรกรรมเป้าหมายสำหรับแพ็กเกจการ์ดอัตราการแจ้งเตือนแบบปรับได้ซึ่งนักพัฒนาแอปซื้อไว้ ตัวอย่างเช่น หากนักพัฒนาแอปซื้อแพ็กเกจการแจ้งเตือนที่มีราคาปรับได้และตั้งค่าจำนวนธุรกรรมเป้าหมายของนักพัฒนาแอปเป็น 1,000 รายการ คุณจะแจ้งเตือนนักพัฒนาแอปได้เมื่อทำธุรกรรมครบ 800 รายการ (80% ของจำนวนธุรกรรมเป้าหมาย) 1,000 รายการ (100%) หรือ 1,500 รายการ (150%)

  • หากต้องการตั้งค่าเปอร์เซ็นต์ที่แน่นอน ให้ป้อน %= n เช่น %= 80 จะส่งการแจ้งเตือนเมื่อเปอร์เซ็นต์ของจํานวนธุรกรรมเป้าหมายถึง 80%
  • หากต้องการตั้งค่าช่วงเปอร์เซ็นต์ ให้ป้อนเปอร์เซ็นต์เริ่มต้นและเปอร์เซ็นต์สุดท้าย รวมถึงค่าที่จะเพิ่มขึ้น ดังนี้ %= start to end by n เช่น ค่า %= 80 to 100 by 10 จะส่งการแจ้งเตือนเมื่อเปอร์เซ็นต์ของจำนวนธุรกรรมเป้าหมายถึง 80%, 90% และ 100%

หากต้องการตั้งค่าการดําเนินการการแจ้งเตือน ให้ตั้งค่าต่อไปนี้ในส่วน actions ดูข้อมูลเพิ่มเติมได้ที่พร็อพเพอร์ตี้การกำหนดค่าสำหรับการดำเนินการของการแจ้งเตือน

แอตทริบิวต์ ค่า
actionAttribute WEBHOOK เพื่อทริกเกอร์เว็บฮุค
value รหัสของ Webhook ที่คุณกําหนดไว้ในส่วนก่อนหน้า การสร้าง Webhook โดยใช้ API

ต่อไปนี้เป็นตัวอย่างวิธีสร้างเงื่อนไขการแจ้งเตือนที่จะทริกเกอร์ Webhook เมื่อเปอร์เซ็นต์ของจํานวนธุรกรรมเป้าหมายถึง 80%, 90%, 100%, 110% และ 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",
        }]
  }

ดูข้อมูลเกี่ยวกับการดู การอัปเดต และการลบเงื่อนไขและการดําเนินการของการแจ้งเตือนได้ที่

โค้ดตอบกลับของเว็บฮุก

โค้ดต่อไปนี้สรุปโค้ดตอบกลับของเว็บฮุคและวิธีที่ระบบตีความรหัสดังกล่าว

โค้ดตอบกลับ คำอธิบาย
2xx สำเร็จ
5xx

คำขอไม่สำเร็จ ระบบจะลองส่งคำขออีกครั้งไม่เกิน 3 ครั้งทุกๆ 5 นาที

หมายเหตุ: การหมดเวลาในการอ่านและการเชื่อมต่อสําหรับคําขอ Webhook จะเท่ากับ 3 วินาทีต่อรายการ ซึ่งอาจทําให้คําขอไม่สําเร็จ

Other response คำขอล้มเหลว ระบบจะไม่ลองส่งคำขออีกครั้ง