Webhooks
Webhooks ช่วยให้คุณได้รับการอัปเดตแบบเรียลไทม์จาก Meshy เมื่อ API tasks ของคุณเสร็จสิ้นหรือเปลี่ยนสถานะ เมื่อกำหนดค่าแล้ว Meshy จะ POST event payloads ในรูปแบบ json ไปยัง URLs ที่คุณระบุ
ทำไมต้องสร้าง Webhooks
การใช้ webhooks มีข้อดีหลายประการ โดยเฉพาะอย่างยิ่งในเรื่องการตรวจสอบสถานะของ API tasks โดยอัตโนมัติ Webhooks ต้องการความพยายามและค่าใช้จ่ายน้อยกว่าการ polling API อย่างต่อเนื่องเพื่อรับการอัปเดตสถานะของ tasks นอกจากนี้ Webhooks ยังช่วยให้ได้รับการอัปเดตเกือบเรียลไทม์และสามารถปรับขนาดได้ดีกว่าการ polling API ซึ่งช่วยให้คุณจัดการกับข้อจำกัดของอัตราการใช้งานได้ดีขึ้น โดยเฉพาะถ้าคุณทำการ polling อย่างต่อเนื่อง
การตั้งค่าและการกำหนดค่า
เพื่อเปิดใช้งาน webhooks ให้ไปที่หน้าการตั้งค่า API เมื่อเข้าสู่ระบบในแอปพลิเคชันเว็บ Meshy ค้นหาส่วน "Webhooks" ด้านล่าง API Keys ของคุณและคลิกปุ่ม "Create Webhook" ระบุ https URL ที่คุณต้องการเพื่อรับ webhooks และเปิดใช้งาน webhook เพื่อรับการอัปเดต tasks จาก Meshy โดยอัตโนมัติ คุณสามารถมี webhooks ที่ใช้งานได้สูงสุด 5 ตัวต่อบัญชี Meshy เมื่อเปิดใช้งาน webhook การอัปเดตสถานะของ API tasks ทั้งหมดจะถูกส่งไปยังเพย์โหลด URL โดยอัตโนมัติ เพื่อความปลอดภัย เราอนุญาตให้ส่ง webhooks ไปยัง https URLs เท่านั้นในขณะนี้ หากคุณต้องการกำหนดค่าการทดสอบในเครื่อง ดูส่วนต่อไปนี้
ข้อกำหนดการส่ง Webhook
เพื่อให้ webhook ของคุณทำงานได้ตามปกติและรับเหตุการณ์ต่อไป:
- เซิร์ฟเวอร์ของคุณต้องตอบกลับด้วย HTTP status code ต่ำกว่า 400 (เช่น
200 OK,202 Accepted) - การตอบกลับใด ๆ ที่มี status code
>= 400จะถือว่าเป็นการส่งที่ล้มเหลว - การล้มเหลวติดต่อกันหลายครั้งอาจ:
- ทำให้การอัปเดต progress ล่าช้าหรือมาถึงไม่ตามลำดับ
- ปิดการใช้งาน webhook ของคุณโดยอัตโนมัติหลังจากพยายามซ้ำหลายครั้ง (ดูนโยบายการปิดใช้งานอัตโนมัติ)
เคล็ดลับ: ควรตอบกลับด้วยความสำเร็จหลังจากที่คุณตรวจสอบและจัดเก็บเพย์โหลดของ webhook แล้ว แม้ว่าการประมวลผลเพิ่มเติมจะเกิดขึ้นแบบอะซิงโครนัส
การส่งต่อ Webhooks สำหรับการทดสอบในเครื่อง
หากคุณต้องการทดสอบโค้ด webhook ของคุณในเครื่อง ซึ่งโดยทั่วไปจะอยู่ที่ที่อยู่ http คุณสามารถใช้ webhook proxy URL เพื่อส่งต่อ webhooks ไปยังคอมพิวเตอร์หรือพื้นที่โค้ดของคุณ ขั้นตอนที่แนะนำด้านล่างใช้ smee.io แต่คุณสามารถใช้บริการใดก็ได้ที่คุณต้องการเพื่อสร้าง webhook proxy URL
รับ webhook proxy URL:
- ในเบราว์เซอร์ของคุณ ไปที่ https://smee.io/
- คลิก "Start a new channel"
- คัดลอก URL เต็มภายใต้ "Webhook Proxy URL" คุณจะใช้ URL นี้ในขั้นตอนการตั้งค่าต่อไป
ส่งต่อ webhooks:
- หากคุณยังไม่มี smee-client ติดตั้ง ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ
npm install --global smee-client
- เพื่อรับ 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
- ให้รันต่อไปในขณะที่คุณทดสอบ webhook ของคุณ เมื่อคุณต้องการหยุดการส่งต่อ webhooks ให้กด Ctrl+C
โปรดทราบว่า path คือ /webhook และ port คือ 3000 ค่าต่าง ๆ เหล่านี้อาจมีประโยชน์เมื่อคุณต้องการตั้งค่าโค้ดของคุณเองเพื่อรับการส่ง webhook ในภายหลัง
สร้าง webhook:
คุณสามารถใช้ webhook proxy URL เพื่อสร้าง webhook ใหม่ในหน้าการตั้งค่า Meshy API
ตัวอย่างการตอบกลับ
เมื่อสถานะของ task เปลี่ยนไป Meshy จะ POST เพย์โหลด webhook ไปยัง URL ที่คุณกำหนด เพย์โหลดประกอบด้วยวัตถุ task ในรูปแบบ JSON สำหรับคำอธิบายทั้งหมดของคุณสมบัติของวัตถุ task และตัวอย่างเพย์โหลด ดูที่: