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

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

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

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

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

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

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

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

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

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

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

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

Edge

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

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

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

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

คลาสสิก Edge (Private Cloud)

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

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

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

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

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

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

  1. เข้าถึงหน้าเว็บฮุค
  2. คลิก + เว็บฮุค
  3. ป้อนข้อมูลต่อไปนี้ (ต้องกรอกทุกช่อง)
    ฟิลด์ คำอธิบาย
    ชื่อ ชื่อของเว็บฮุค
    URL URL ของเครื่องจัดการ Callback ที่จะถูกเรียกเมื่อมีการทริกเกอร์การแจ้งเตือนเหตุการณ์ โปรดดูการตั้งค่าเครื่องจัดการ Callback
  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 ซึ่งจะถูกเรียกเมื่อมีการทริกเกอร์การแจ้งเตือนเหตุการณ์

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

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

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

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

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

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

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

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

คลาสสิก Edge (Private Cloud)

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

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

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

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

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

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

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

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

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

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

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

Other response คำขอล้มเหลว ระบบจะไม่ดำเนินการตามคำขออีกครั้ง