Webhooks

Webhooks ช่วยให้คุณรับการอัปเดตแบบเรียลไทม์จาก Meshy เมื่อ API tasks ของคุณเสร็จสมบูรณ์หรือเปลี่ยนสถานะ เมื่อกำหนดค่าแล้ว Meshy จะ POST เพย์โหลดเหตุการณ์ในรูปแบบ json ไปยัง URLs ที่คุณระบุ


เหตุผลในการสร้าง Webhooks

การใช้ webhooks มีข้อดีหลายประการ โดยเฉพาะอย่างยิ่งในเรื่องการตรวจสอบสถานะ API task โดยอัตโนมัติ Webhooks ใช้ความพยายามและค่าใช้จ่ายน้อยกว่าการ polling API อย่างต่อเนื่องเพื่อรับการอัปเดตสถานะงาน Webhooks ยังช่วยให้ได้รับการอัปเดตเกือบแบบเรียลไทม์ และท้ายที่สุดสามารถขยายขนาดได้ดีกว่าการ polling API นอกจากนี้ยังช่วยให้คุณจัดการ rate limits ได้ดีขึ้น โดยเฉพาะหากคุณกำลัง polling อย่างต่อเนื่อง


การตั้งค่าและการกำหนดค่า

หากต้องการเปิดใช้งาน webhooks ให้ไปที่หน้าการตั้งค่า API เมื่อเข้าสู่ระบบในแอปพลิเคชันเว็บ Meshy ค้นหาส่วน "Webhooks" ใต้ API key ของคุณ แล้วคลิกปุ่ม "Create Webhook" ระบุ https URL ที่ต้องการเพื่อรับ webhooks และเปิดใช้งาน webhook เพื่อรับการอัปเดตงานจาก Meshy โดยอัตโนมัติ คุณสามารถมี webhooks ที่ใช้งานอยู่ได้สูงสุด 5 รายการต่อบัญชี Meshy เมื่อเปิดใช้งาน webhook แล้ว การอัปเดตสถานะ API task ทั้งหมดจะถูกส่งไปยังเพย์โหลด URL โดยอัตโนมัติ เพื่อวัตถุประสงค์ด้านความปลอดภัย ขณะนี้เราอนุญาตให้ส่ง webhooks ไปยัง https URLs เท่านั้น หากคุณต้องการกำหนดค่าการทดสอบภายในเครื่อง โปรดดูส่วนต่อไปนี้


ข้อกำหนดในการส่ง Webhook

เพื่อให้ webhook ของคุณทำงานได้ตามปกติและรับเหตุการณ์ต่อไป:

  • เซิร์ฟเวอร์ของคุณต้องตอบกลับด้วย รหัสสถานะ HTTP ต่ำกว่า 400 (เช่น 200 OK, 202 Accepted)
  • การตอบกลับใดๆ ที่มีรหัสสถานะ >= 400 จะถือว่าเป็นการส่งที่ล้มเหลว
  • ความล้มเหลวติดต่อกันหลายครั้งอาจ:
    • ทำให้การอัปเดต progress ล่าช้าหรือมาถึงไม่เป็นลำดับ
    • ปิดใช้งาน webhook ของคุณโดยอัตโนมัติหลังจากพยายามซ้ำหลายครั้ง (ดูนโยบายการปิดใช้งานอัตโนมัติ)

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


การส่งต่อ Webhooks สำหรับการทดสอบภายในเครื่อง

หากคุณต้องการทดสอบโค้ด webhook ของคุณภายในเครื่อง ซึ่งโดยทั่วไปจะอยู่ที่ที่อยู่ http คุณสามารถใช้ webhook proxy URL เพื่อส่งต่อ webhooks ไปยังคอมพิวเตอร์หรือ codespace ของคุณได้ ด้านล่างนี้คือขั้นตอนที่แนะนำโดยใช้ smee.io แต่คุณสามารถใช้บริการใดก็ได้ที่คุณต้องการเพื่อสร้าง webhook proxy URL

รับ webhook proxy URL:

  1. ในเบราว์เซอร์ของคุณ ให้ไปที่ https://smee.io/
  2. คลิก "Start a new channel"
  3. คัดลอก URL แบบเต็มใต้ "webhook proxy URL" คุณจะใช้ URL นี้ในขั้นตอนการตั้งค่าต่อไปนี้

ส่งต่อ webhooks:

  1. หากคุณยังไม่ได้ติดตั้ง smee-client ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ
npm install --global smee-client
  1. เพื่อรับ webhooks ที่ส่งต่อจาก smee.io ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ แทนที่ WEBHOOK_PROXY_URL ด้วย webhook proxy URL ของคุณจากก่อนหน้านี้
smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000

คุณควรเห็นผลลัพธ์ที่มีลักษณะดังนี้ โดยที่ WEBHOOK_PROXY_URL คือ webhook proxy URL ของคุณ:

Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:3000/webhook
Connected WEBHOOK_PROXY_URL
  1. ให้คงการทำงานนี้ไว้ขณะที่คุณทดสอบ webhook ของคุณ เมื่อคุณต้องการหยุดส่งต่อ webhooks ให้กด Ctrl+C
    โปรดทราบว่า path คือ /webhook และ port คือ 3000 ค่าเหล่านี้อาจมีประโยชน์เมื่อคุณต้องการตั้งค่าโค้ดของคุณเองเพื่อรับการส่ง webhook ในภายหลัง

สร้าง webhook:

ตอนนี้คุณสามารถใช้ webhook proxy URL เพื่อสร้าง webhook ใหม่ในหน้าการตั้งค่า Meshy API ได้แล้ว


ตัวอย่างการตอบกลับ

เมื่อสถานะงานเปลี่ยนแปลง Meshy จะ POST เพย์โหลด webhook ไปยัง URL ที่คุณกำหนดค่าไว้ เพย์โหลดประกอบด้วยออบเจ็กต์งานในรูปแบบ JSON สำหรับคำอธิบายแบบครบถ้วนของคุณสมบัติออบเจ็กต์งานทั้งหมดและตัวอย่างเพย์โหลด โปรดดู: