webhook คืออะไร? วิธีการทำงานกับตัวอย่าง

0
98


คุณเคยได้ยินหรือไม่ว่าผลิตภัณฑ์ที่คุณกำลังพูดถึงนั้นมี“ webhook” ด้วยสมมติฐานที่ไม่ได้พูดที่คุณเข้าใจและตื่นเต้น คุณควรจะตื่นเต้นเพราะ webhooks นั้นยอดเยี่ยมจริงๆ แต่ก่อนที่เราจะเริ่มแตรมาก่อนมาก่อนที่จะเข้าใจว่า webhook คืออะไรและทำไมมันถึงสำคัญ

WebHook เป็นเครื่องมือที่ใช้ในการพัฒนาเว็บหรือ API ช่วยให้แอพสามารถให้ข้อมูลแบบเรียลไทม์กับแอพอื่น ๆ เมื่อมีเหตุการณ์เฉพาะเกิดขึ้น พวกเขามีน้ำหนักบรรทุกที่ส่งไปยัง URL ที่ไม่ซ้ำกันซึ่งเป็นวิธีง่ายๆสำหรับแอพในการส่งข้อมูลซึ่งกันและกัน การแปล: webhook เป็น URL ที่คุณให้กับระบบอื่นที่ระบบเรียกเมื่อมีเหตุการณ์บางอย่างที่เกิดขึ้นที่คุณต้องรู้

ลองดูตัวอย่าง สมมติว่าคุณต้องการทราบทุกครั้งที่สภาพอากาศลดลงต่ำกว่า 32 องศาฟาเรนไฮต์หรือ Celicius 0 องศาและบริการสภาพอากาศแห่งชาติเสนอสิ่งนี้ผ่านการรวม Webhook – ซึ่งไม่ได้ แต่มันน่าทึ่งมากที่พวกเขาทำ คุณสร้าง URL URL WebHook บนระบบของคุณว่าเมื่อเรียกว่าให้คุณรู้ว่าอุณหภูมิลดลง หลังจากลงทะเบียน URL นี้ด้วยบริการสภาพอากาศบริการสภาพอากาศจะเรียก URL ของคุณเมื่อใดก็ตามที่อุณหภูมิลดลงต่ำกว่า 32 องศา นั่นคือวิธีการทำงานของ webhook

ตอนนี้เรามาดูรายละเอียดกันเถอะ

webhook คือการโทรกลับ http

คำขอ webhook เป็นประเภทของการโทรกลับ HTTP ที่ผู้ใช้กำหนด มันเป็นการแจ้งเตือนเหตุการณ์ผ่านโพสต์ HTTP เมื่อเหตุการณ์บางอย่างเกิดขึ้นในแอปพลิเคชันต้นฉบับมันจะกระตุ้น WebHook ซึ่งจะส่งข้อความโดยทั่วไปในรูปแบบ JSON หรือ XML ไปยัง URL ที่ระบุ – URL WebHook ข้อความนี้มีข้อมูลเกี่ยวกับเหตุการณ์ที่เพิ่งเกิดขึ้น webhook คล้ายกับคำขอ API แต่ถูกเรียกใช้โดยเหตุการณ์บางประเภทมากกว่าการเรียกร้องขออย่างชัดเจน

webhooks ทำงานอย่างไร

กระบวนการตั้งค่าและการใช้ webhook เกี่ยวข้องกับหลายขั้นตอน:

  1. การกำหนดค่า: กำหนดค่า webhook ในแอปพลิเคชันต้นทางระบุ URL WebHook ที่ควรส่งการแจ้งเตือนและเหตุการณ์ที่ควรเรียกใช้ WebHook ในแบบคู่ขนานกำหนดค่าแอปพลิเคชันที่ได้รับด้วยตรรกะเกี่ยวกับสิ่งที่ต้องทำกับข้อความที่ได้รับ
  2. เหตุการณ์ทริกเกอร์: เมื่อเหตุการณ์ที่ระบุเกิดขึ้นในแอปพลิเคชันต้นทาง WebHook จะถูกเรียกใช้ เช่นการลงทะเบียนผู้ใช้ใหม่การส่งแบบฟอร์มหรือการทำธุรกรรม
  3. การแจ้ง: แอปพลิเคชันต้นฉบับสร้างข้อความและส่งไปยัง URL WebHook ที่กำหนดค่าแอปพลิเคชันที่ได้รับเป็นคำขอโพสต์ HTTP
  4. การกระทำ: แอปพลิเคชันที่ได้รับจะได้รับข้อความนี้และดำเนินการตามเนื้อหา

ในแผนภาพด้านล่างเราจะเห็นตัวอย่างของวิธีการเรียกใช้เว็บฮุคสร้างการแจ้งเตือนแล้วขับเคลื่อนการกระทำ

เว็บแอพเซิร์ฟเวอร์กับแผงควบคุมเว็บแอป

ในสถานการณ์นี้แอปพลิเคชันเว็บมีแดชบอร์ดส่วนหน้าและเซิร์ฟเวอร์ เราสามารถกำหนดค่า URL WebHook บนเซิร์ฟเวอร์เพื่อรับการแจ้งเตือนว่าโพสต์ที่กำหนดเวลาถูกเผยแพร่สำเร็จบน Fb (ขั้นตอนที่ 1) Server Webhook ได้รับข้อความนั้น (ขั้นตอนที่ 2) จากนั้นเรียกใช้กระบวนการเพื่ออัปเดตข้อมูลบางอย่างและอัปเดตแดชบอร์ดผู้ใช้ (ขั้นตอนที่ 3) ผู้ใช้ปลายทางจะได้เห็นข้อมูลใหม่บนแผงควบคุม (ขั้นตอนที่ 4) ว่าโพสต์ถูกเผยแพร่สำเร็จ

ไดอะแกรมที่แสดงกระบวนการสร้างเว็บแอปด้วย WebBook

ข้อดีของการใช้ webhooks

สำหรับการสื่อสารข้อมูลแบบเรียลไทม์ที่เรียบง่ายทางเลือกที่พบบ่อยที่สุดสำหรับ webhooks คือการสำรวจ เมื่อเทียบกับการเลือกตั้ง webhooks มีข้อดีหลายประการ:

  • การอัปเดตแบบเรียลไทม์: Webhooks ให้การแจ้งเตือนทันทีซึ่งแตกต่างจากกลไกการสำรวจซึ่งต้องตรวจสอบการอัปเดตเป็นประจำ ที่ Ayrshare เราเสนอ webhook ที่ให้คุณรู้ว่าเมื่อใดก็ตามที่มีการประมวลผลโพสต์ที่กำหนด
  • ประสิทธิภาพ: พวกเขาลดการโหลดเซิร์ฟเวอร์และปรับปรุงประสิทธิภาพเนื่องจากพวกเขาไม่จำเป็นต้องมีการสำรวจบ่อยครั้ง ตัวอย่างคือการประมวลผลแบบแบทช์ – เว็บฮุคสามารถใช้เพื่อแจ้งให้คุณทราบเมื่องานเสร็จ
  • การปรับแต่ง: คุณสามารถกำหนดตรรกะเพื่อควบคุมเหตุการณ์ที่เรียกร้องให้มีการร้องขอ WebHook และข้อมูลใดที่ส่ง บางครั้งคุณต้องการข้อมูลเฉพาะเท่านั้น ตัวอย่างเช่น Stripe มีข้อเสนอ webhook ที่ยอดเยี่ยม แทนที่จะได้รับทุกเหตุการณ์ที่เกิดขึ้นในแถบและมีจำนวนมากคุณสามารถลงทะเบียนสำหรับกิจกรรมเฉพาะที่คุณสนใจ

กรณีการใช้งานทั่วไป

Webhooks มีประโยชน์ในหลายกรณีการใช้งาน นี่คือตัวอย่างบางส่วนเพื่อแสดงให้เห็นถึงคุณค่าของพวกเขา:

  1. ในแพลตฟอร์มอีคอมเมิร์ซกิจกรรม WebHook ใช้เพื่ออัปเดตสถานะการสั่งซื้อติดตามการจัดส่งและจัดการสินค้าคงคลัง ตัวอย่างเช่นเมื่อลูกค้าสั่งซื้อบนเว็บแอปอีคอมเมิร์ซเว็บฮอคสามารถกระตุ้นการอัปเดตในระบบสินค้าคงคลังและแจ้งบริการจัดส่งเพื่อจัดส่งผลิตภัณฑ์
  2. แพลตฟอร์มการชำระเงิน สามารถแจ้งให้ผู้ค้าทราบเกี่ยวกับสถานะของการทำธุรกรรมเช่นการชำระเงินที่ประสบความสำเร็จการทำธุรกรรมที่ล้มเหลวหรือการคืนเงินทำให้สามารถดำเนินการทันทีหรืออัปเดตให้กับลูกค้า
  3. ในแพลตฟอร์มการจัดการความสัมพันธ์กับลูกค้าคุณสามารถใช้กิจกรรม WebHook เพื่อส่งแคมเปญอีเมลอัตโนมัติตามการกระทำของลูกค้า
  4. สำหรับแพลตฟอร์มการจัดการโซเชียลมีเดียคุณสามารถทริกเกอร์กิจกรรม WebHook เพื่ออัปเดตแดชบอร์ดผู้ใช้เมื่อโพสต์ที่กำหนดเวลาถูกเผยแพร่สำเร็จในเวลาอนาคตเช่นตัวอย่างตัวอย่างด้านบน

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

{
    "motion": "scheduled",          // The motion taken
    "subAction": "tikTokPublished", // Solely current when TikTok video publishing full
    "created": "2023-01-05T01:18:47Z",
    "code": 200,                    // HTTP response code
    "refId": "140b8700bd6ade089b242d845e268fb886130c53", // Person Reference ID
    "standing": "success",            // success or error
    "id": "TBAAAqAMMpoweA9wKHUp",   // Ayrshare id of publish
    "errors": (),                   // Record of errors if any occurred
    "postIds": (                    // Particular person profitable posts standing
        {
            "postUrl" :"https://www.fb.com/102775127855689_361718068618052",
            "platform": "fb",
            "standing":"success",
            "id":"102775127855689_361718068618052"
        }
    ),
    "url": "https://api.myapp.com/Webhook/Ayrshare/Scheduled"
}

ความปลอดภัย webhook

ก่อนที่คุณจะเปิดตัวหรือลงทะเบียน wehbook ของคุณให้พิจารณาความปลอดภัยของ WebHook ที่คุณต้องการ บ่อยครั้งที่หลังจากนั้น แต่ความปลอดภัยของ Webhook สำคัญมาก

ลองนึกภาพถ้าคุณมี webhook ที่ได้รับแจ้งเมื่อใดก็ตามที่ราคาหุ้นลดลงต่ำกว่าราคาที่แน่นอน เมื่อเหตุการณ์เกิดขึ้นคุณจะซื้อ sotck หากคุณละเลยการรักษาความปลอดภัย webhook นักแสดงที่ไม่ดีสามารถเรียก URL webhook ของคุณอย่างร้ายกาจบังคับให้ซื้อหลายครั้งที่คุณไม่ได้ตั้งใจ อุ๊ย

คุณทำได้ รักษาความปลอดภัย webhook ของคุณ โดยการตั้งค่าการรับรองความถูกต้อง HMAC เป็นคำขอ HTTP โดยทั่วไปโพสต์ webhook และคีย์ลับถูกแฮช, e..g โดยใช้ sha256 แฮชถูกส่งไปพร้อมกับเหตุการณ์ webhook และคุณเปรียบเทียบสิ่งนี้กับแฮชของคุณเองของข้อความและคีย์ลับ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งนี้ด้วยลิงค์ด้านบน

โดยสรุป …

Webhooks มักจะมีความสำคัญในเวิร์กโฟลว์หลายอย่างที่สองส่วนของระบบของคุณหรือสองระบบจำเป็นต้องส่งข้อมูลเมื่อมีการดำเนินการ แต่ต้องการกลไกง่ายๆสำหรับการสื่อสาร

ในขณะที่คุณเดินทางไป webhook ของคุณต่อไปโปรดอย่าลืมรับรองสิ่งนั้นเสมอ webhooks ของคุณปลอดภัยและคุณจะค้นคว้ากิจกรรมหรือการกระทำของ Webhooks แบบใดเมื่อคุณสร้างการรวม Webhook ด้วยแพลตฟอร์มบุคคลที่สาม

ตรวจสอบบทความของเราเกี่ยวกับการใช้ไฟล์ webhook กับพร็อกซี

LEAVE A REPLY

Please enter your comment!
Please enter your name here