Apa Perbedaan Antara webhook dan API?

15

Pemrogram yang membuat permintaan ke API akan menerima respons. Misalnya, menggunakan API Web untuk mengirim email, Anda akan meneruskan konten email dengan permintaan. Jika semuanya berjalan dengan baik, Anda akan menerima respons yang menyatakan keberhasilan.

Untuk menggunakan webhook , Anda mendaftarkan URL dengan perusahaan yang menyediakan layanan. URL itu adalah tempat di dalam aplikasi Anda yang akan menerima data dan melakukan sesuatu dengannya. Dalam beberapa kasus, Anda dapat memberi tahu penyedia situasi saat Anda ingin menerima data. Setiap kali ada sesuatu yang baru, webhook akan mengirimkannya ke URL Anda.

Jadi, mereka pada dasarnya melakukan hal yang sama.

Pertanyaan saya adalah ini: Apa perbedaan antara webhook dan api?

Tidak dalam istilah WEBHOOK IS ____ dan API IS ______.

Saya tahu mereka itu apa. Saya tertarik pada perbedaan utama dan kapan menggunakannya, dan kapan menggunakan yang lain.

Josip Ivic
sumber

Jawaban:

15

Perbedaan pertama dan utama di antara mereka adalah bahwa dengan sebagian besar API ada permintaan diikuti oleh tanggapan. Tidak ada permintaan yang diperlukan untuk webhook, itu hanya mengirim data saat itu tersedia.

Tampilan sederhana:

API adalah antarmuka ke data Anda di example.com. API digunakan dari server Anda ke platform example.com dan dapat digunakan untuk Daftar, Buat, Edit atau Hapus item.

Webhook adalah panggilan otomatis dari example.com ke server Anda yang dipicu saat peristiwa tertentu terjadi di example.com. Misalnya, ketika tugas selesai dan Anda ingin mengetahuinya secara real time, kami akan membuat permintaan POST ke URL yang telah Anda daftarkan untuk EVENT.COMPLETED webhook di akun contoh Anda.

Jadi, singkatnya: API adalah tempat Anda memberi tahu hal-hal example.com dan Webhooks adalah tempat example.com memberi tahu Anda hal-hal.

Terlihat lebih dalam:

SaaS adalah konsep - ide Perangkat Lunak yang ada di cloud dan klien umumnya adalah browser. Aplikasi SaaS ditentukan oleh fungsi yang dapat diberikannya kepada pengguna (misalnya Salesforce menyediakan database yang dapat digunakan untuk menyimpan informasi pelanggan) fungsi yang tersedia ditentukan oleh tujuan aplikasi (yaitu: CRM, Email Blaster, CMS , dll.).

API adalah cara agar aplikasi SaaS terhubung dengan aplikasi lain melalui metode komunikasi umum (REST, SOAP, JSON, dll.). API tidak dapat berbicara langsung ke API lain. API dapat digunakan oleh aplikasi berkode atau middleware yang bertindak sebagai jembatan antara dua API dan menjalankan utas eksekusi. Misalnya - baik NetSuite dan Salesforce memiliki SOAP API, tetapi bagi mereka untuk berkomunikasi - Anda ingin menggunakan perangkat lunak middleware yang dapat berinteraksi dengan kedua sistem dan dikonfigurasikan untuk menarik catatan kontak baru melalui API Salesforce dan mendorong catatan baru ke NetSuite melalui itu API setiap jam.

Webhooks adalah protokol komunikasi lain untuk aplikasi SaaS yang memungkinkan komunikasi antar aplikasi, tetapi hanya menggunakan HTTP POSTS untuk mengontrol utas eksekusi. Webhooks memungkinkan aplikasi untuk berbicara langsung satu sama lain, tanpa menggunakan middleware. Misalnya - ketika Anda mengirimkan formulir ke WuFoo, itu bisa diatur untuk memulai HTTP POST webhook ke layanan lain dan melewati beberapa nilai bidang dari pengiriman formulir. Webhooks juga dapat digunakan bersama dengan API - misalnya setelah webhook memberi tahu aplikasi lain sesuatu yang terjadi untuk merekam id X, aplikasi itu dapat menggunakan API untuk berkomunikasi dengan layanan untuk memeriksa nilai-nilai bidang baru atau mengubah status rekor.

Sulit untuk memiliki API atau webhooks tanpa memiliki aplikasi SaaS. Namun, Anda dapat dengan mudah memiliki aplikasi SaaS yang tidak menggunakan webhooks atau API (publik). Demikian pula, tergantung pada fungsi aplikasi SaaS Anda, Anda dapat memilih untuk menggunakan webhooks ATAU API.

knif3r
sumber
Terima kasih! Saya bergabung dengan komunitas ini hanya untuk meningkatkan jawaban Anda (dan pertanyaannya tentu saja!).
Kaushal28
11

API melakukan hal-hal ketika Anda memintanya, sementara Webhook melakukan hal-hal itu sendiri ketika kriteria tertentu cocok.

Singkatnya: API adalah tempat Anda memberi tahu kami berbagai hal dan Webhooks adalah tempat kami memberi tahu Anda segala sesuatu.

via http://apidocs.teamwork.com/article/466-whats-the-difference-between-the-api-and-webhooks

Setiap kali ada sesuatu yang baru, webhook akan mengirimkannya ke URL Anda.

via https://sendgrid.com/blog/webhook-vs-api-whats-difference/

Lubang
sumber
5

Saya akan menggambarkan ini dengan contoh konkret: Pembayaran kartu kredit.

Ketika situs Anda ingin menagih kartu kredit, Anda memanggil API di prosesor kartu kredit Anda. Prosesor kartu kredit kemudian menagih kartu kredit mengembalikan status berhasil atau gagal untuk panggilan API itu.

Prosesor kartu kredit mungkin perlu beberapa cara untuk memperbarui situs Anda tentang transaksi ini nanti. Misalnya, transaksi dapat dibatalkan minggu depan. Prosesor kartu kredit Anda hanya bisa mengirimi Anda email tentang ini. Cara lain untuk menghadapinya adalah webhooks . Anda memberi tahu pemroses kartu kredit Anda URL di situs Anda bahwa mereka dapat menekan dan mengirimkan data kepada Anda. Ketika transaksi dibalik, prosesor kartu kredit yang mendukung kait web akan menghubungi situs Anda di URL yang Anda berikan dan mengirimkan data dalam format yang dapat dibaca mesin yang dapat Anda parsing dan membuat aplikasi web Anda menangani secara otomatis.

Webhook adalah mekanisme panggilan balik untuk API. Pada dasarnya Anda menerapkan API untuk panggilan balik asinkron bersama dengan API yang Anda panggil.

Stephen Ostermiller
sumber
"Anda pada dasarnya menerapkan API untuk panggilan balik asinkron ..." - bukankah seharusnya itu "webhook"?
MrWhite
1
Saya mencoba mengatakan bahwa webhook adalah API yang Anda terapkan. Anda memanggil API. Webhook adalah API yang Anda implementasikan sehingga mereka memanggil Anda.
Stephen Ostermiller
2

Berikut adalah contoh perbedaan antara webhook dan API dalam istilah awam:

Katakanlah Anda memesan sesuatu secara online dan pengirimannya akan dilakukan hari ini tetapi Anda sedang bekerja sehingga Anda memberi tahu pembantunya bahwa Anda mendapatkan paket begitu barang itu tiba. Tujuannya, Anda harus diberi tahu jika paket sudah tiba. Inilah yang terjadi di:

Webhook

  • Setelah paket tiba, pelayan Anda akan segera menghubungi Anda untuk memberi tahu Anda bahwa paket sudah tiba.

API

  • Paket sudah tiba tetapi Anda masih belum tahu. Anda kemudian memanggil Anda pembantu untuk menanyakan apakah sudah tiba, lalu dia bilang ya.

Perbedaannya ada pada API, Anda memerlukan pemicu untuk mengambil data seperti panggilan yang Anda buat, sementara webhook secara otomatis memberi tahu Anda begitu data baru tiba tanpa perlu pemicu.

Masyarakat
sumber
0

sebuah Api hanyalah sebuah aplikasi kecil yang digunakan untuk mendapatkan akses ke fitur atau data tertentu dalam platform pengembangan apa pun dari platform yang sudah ada, misalnya: Anda ingin menggunakan layanan geo-location google (platform yang sudah ada) di situs web Anda (mengembangkan platform), alih-alih membangun kembali seluruh sistem dan mengatur satelit Anda sendiri, Anda menggunakan Api kecil untuk mengakses fitur itu dari google.

Sementara kait Web hanyalah Url pengembalian atau mundur ke situs web atau platform Anda di mana respons dan data yang Anda minta menggunakan Api dikirim ke sana dan di sana Anda mengumpulkan informasi yang Anda cari.

Abel Akponine
sumber