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

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

เว็บฮุคคืออะไร

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

หากต้องการตั้งค่าการแจ้งเตือนโดยใช้เว็บฮุค ให้ทำตามขั้นตอนต่อไปนี้โดยใช้ UI การจัดการของ Edge หรือ API การจัดการและการสร้างรายได้

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

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

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

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

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

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

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

Edge

วิธีเข้าถึงหน้าเว็บฮุคโดยใช้ UI ของ Edge

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

หน้าเว็บฮุคจะปรากฏขึ้น

ตามที่ไฮไลต์ในรูปภาพ หน้าเว็บฮุคช่วยให้คุณทำสิ่งต่อไปนี้ได้

Classic Edge (Private Cloud)

วิธีเข้าถึงหน้าเว็บฮุคโดยใช้ UI ของ Classic Edge

  1. ลงชื่อเข้าใช้ http://ms-ip:9000 โดยที่ ms-ip คือที่อยู่ IP หรือชื่อ DNS ของโหนด Management Server
  2. เลือกผู้ดูแลระบบ > เว็บฮุค

หน้าเว็บฮุคจะปรากฏขึ้น

หน้าเว็บฮุคช่วยให้คุณทำสิ่งต่อไปนี้ได้

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

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

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

ระบบจะเพิ่มเว็บฮุคลงในรายการและเปิดใช้โดยค่าเริ่มต้น

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

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

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

การเปิดหรือปิดใช้เว็บฮุคโดยใช้ UI

วิธีเปิดหรือปิดใช้เว็บฮุคโดยใช้ UI

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

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

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

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

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

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

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

การดูเว็บฮุคทั้งหมดโดยใช้ 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"
    }

  ]
}

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

ดูเว็บฮุครายการเดียวโดยส่งคำขอ 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 คุณต้องส่งชื่อของเว็บฮุคและ URL ของ Callback Handler ที่จะเรียกใช้ เมื่อมีการทริกเกอร์การแจ้งเตือนเหตุการณ์

ตัวอย่างเช่น คำขอต่อไปนี้จะสร้างเว็บฮุคชื่อ 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}. ส่งการอัปเดตในเนื้อหาของ คำขอ

ตัวอย่างเช่น คำขอต่อไปนี้จะอัปเดต Callback Handler ที่เชื่อมโยงกับ 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"
}

การเปิดหรือปิดใช้เว็บฮุคโดยใช้ API

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

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

หากต้องการระบุว่าจะบังคับให้ลบเว็บฮุคหรือไม่หากมีกระบวนการที่กำลังดำเนินการอยู่ ให้ตั้งค่าพารามิเตอร์การค้นหา 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

การตั้งค่า Callback Handler

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

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

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

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

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

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

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

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

Edge

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

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

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

    หมายเหตุ: ต้องเผยแพร่แพ็กเกจเพื่อให้การดำเนินการ +แจ้งเตือนปรากฏขึ้น

Classic Edge (Private Cloud)

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

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

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

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

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

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

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

  3. หากต้องการตั้งค่าเงื่อนไขการแจ้งเตือนเพิ่มเติม ให้คลิก +เพิ่ม แล้วทำขั้นตอนที่ 4 ซ้ำ
  4. ตั้งค่าการดำเนินการแจ้งเตือนในส่วนเว็บฮุค โดยเลือกเว็บฮุคอย่างน้อย 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 รหัสของเว็บฮุคที่คุณกำหนดไว้ในส่วนก่อนหน้า หัวข้อ การสร้างเว็บฮุคโดยใช้ API

ตัวอย่างต่อไปนี้แสดงวิธีสร้างเงื่อนไขการแจ้งเตือนที่จะทริกเกอร์a เว็บฮุคเมื่อเปอร์เซ็นต์ของจำนวนธุรกรรมเป้าหมายถึง 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 นาที

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

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