ความแตกต่างแรกและหลักระหว่างพวกเขาคือกับ APIs ส่วนใหญ่มีคำขอตามด้วยการตอบสนอง ไม่จำเป็นต้องขอ webhook แต่จะส่งข้อมูลเมื่อพร้อมใช้งาน
API เป็นส่วนต่อประสานกับข้อมูลของคุณบน example.com API ถูกใช้จากเซิร์ฟเวอร์ของคุณไปยังแพลตฟอร์ม example.com และสามารถใช้ในรายการสร้างแก้ไขหรือลบรายการ
Webhooks เป็นการโทรอัตโนมัติจาก example.com ไปยังเซิร์ฟเวอร์ของคุณที่ถูกเรียกเมื่อมีเหตุการณ์เฉพาะเกิดขึ้นใน example.com ตัวอย่างเช่นเมื่องานเสร็จสมบูรณ์และคุณต้องการทราบเกี่ยวกับมันแบบเรียลไทม์เราจะส่งคำขอ POST ไปยัง URL ที่คุณได้ลงทะเบียนสำหรับ webhook EVENT.COMPLETED ในบัญชีตัวอย่างของคุณ
โดยสรุป: API เป็นที่ที่คุณบอกสิ่ง example.com และ Webhooks คือที่ example.com บอกคุณสิ่งต่างๆ
SaaS เป็นแนวคิด - แนวคิดของซอฟต์แวร์ที่มีอยู่ในระบบคลาวด์และไคลเอนต์มักเป็นเบราว์เซอร์ แอปพลิเคชัน SaaS ถูกกำหนดโดยฟังก์ชั่นที่ผู้ใช้สามารถใช้ได้ (ตัวอย่างเช่น Salesforce มีฐานข้อมูลที่สามารถใช้ในการจัดเก็บข้อมูลลูกค้า) ฟังก์ชันที่มีอยู่จะถูกกำหนดโดยวัตถุประสงค์ของแอปพลิเคชัน (เช่น CRM, Email Blaster, CMS ฯลฯ )
API เป็นวิธีสำหรับแอปพลิเคชัน SaaS ที่จะเชื่อมต่อกับแอปพลิเคชันอื่น ๆ ผ่านวิธีการสื่อสารทั่วไป (ReST, SOAP, JSON, ฯลฯ ) API ไม่สามารถพูดกับ API อื่นได้โดยตรง API สามารถใช้งานได้โดยแอปพลิเคชั่นที่เข้ารหัสหรือมิดเดิลแวร์ที่ทำหน้าที่เป็นสะพานเชื่อมระหว่าง API ทั้งสองและรันเธรดการดำเนินการ ตัวอย่างเช่น - ทั้ง NetSuite และ Salesforce มี SOAP API แต่สำหรับพวกเขาในการสื่อสาร - คุณต้องการใช้ซอฟต์แวร์มิดเดิลแวร์ที่สามารถโต้ตอบกับทั้งสองระบบและกำหนดค่าให้ดึงเร็กคอร์ดผู้ติดต่อใหม่ผ่าน API ของ Salesforce และผลักดันเร็กคอร์ดใหม่ไปยัง NetSuite เป็น API ทุกชั่วโมง
Webhooks เป็นโปรโตคอลการสื่อสารอื่นสำหรับแอปพลิเคชัน SaaS ที่ช่วยให้การสื่อสารระหว่างแอปพลิเคชัน แต่เพียงใช้ HTTP POSTS เพื่อควบคุมเธรดการดำเนินการ Webhooks อนุญาตให้แอปพลิเคชั่นพูดคุยกันโดยตรงโดยไม่ต้องใช้มิดเดิลแวร์ ตัวอย่างเช่น - เมื่อคุณส่งแบบฟอร์มไปที่ WuFoo คุณสามารถตั้งค่าเพื่อเริ่มต้น HTTP POST แบบ webhooks ไปยังบริการอื่นและส่งผ่านค่าฟิลด์บางค่าจากการส่งแบบฟอร์ม สามารถใช้ Webhooks ร่วมกับ API ได้ตัวอย่างเช่นหลังจากที่ webhook แจ้งให้แอปพลิเคชันอื่นทราบว่าเกิดอะไรขึ้นกับการบันทึก id X แอปพลิเคชันนั้นสามารถใช้ API เพื่อสื่อสารกับบริการเพื่อตรวจสอบค่าฟิลด์ใหม่หรือแก้ไขสถานะ บันทึก.
เป็นการยากที่จะมี API หรือ webhooks โดยไม่มีแอปพลิเคชัน SaaS อย่างไรก็ตามคุณสามารถมีแอปพลิเคชัน SaaS ที่ไม่ใช้ webhooks หรือ API (สาธารณะ) ได้อย่างง่ายดาย ในทำนองเดียวกันขึ้นอยู่กับฟังก์ชั่นของแอปพลิเคชั่น SaaS ของคุณคุณอาจเลือกใช้ webhooks หรือ API