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

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

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

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

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

{
        "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. กำหนดเงื่อนไขการแจ้งเตือนในส่วนช่วงเวลาการแจ้งเตือนโดย โดยระบุเปอร์เซ็นต์ของจำนวนธุรกรรมเป้าหมายในเวลาที่คุณต้องการ ที่จะถูกเรียกใช้ กล่าวโดยละเอียดคือ
    • หากต้องการกำหนดเปอร์เซ็นต์ที่แน่นอน ให้ป้อนเปอร์เซ็นต์ในช่อง %ที่/จาก และเว้นช่องถึง % ว่างไว้
    • หากต้องการกำหนดช่วงเปอร์เซ็นต์ ให้ป้อนเปอร์เซ็นต์เริ่มต้นและสิ้นสุดในฟิลด์ ช่องที่/จาก % และถึง % ตามลำดับ และการเพิ่ม ในช่องขั้นตอน % โดยค่าเริ่มต้น ระบบจะส่งการแจ้งเตือนใน 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%) หรือ 1500 รายการ (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 สำเร็จ
5xx

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

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

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