Webhook là gì? Sử dụng webhook trong những trường hợp nào?

Webhook là gì? Sử dụng webhook trong những trường hợp nào?

Tin ngắn hàng ngày dành cho bạn
  • Mấy hôm trước OpenAI giới thiệu Deep Research - một công cụ duyệt web để nghiên cứu và cho ra một bản tổng hợp chỉ trong vài chục phút - so với nhiều giờ làm việc đối với con người, theo như họ công bố.

    Tính năng này hiện chỉ có sẵn cho người dùng Pro. Mặc dù chưa được dùng thử, nhưng qua nhiều bài viết đều nhấn mạnh vào sự ấn tượng trước khả năng của công cụ mới này. Nếu vẫn chưa biết Deep Research làm được gì thì bạn cứ hình dung như thế này: Nói với nó "Tôi cần thông tin nghiên cứu về lượng tiêu thụ cà phê của thế giới trong năm ngoái". Thế thôi! Ngồi chờ một lúc để nó tìm kiếm và tổng hợp lại kết quả và gửi lại cho bạn một bài báo cáo chi tiết. Chà, ghê thật chứ!

    Ngay lập tức huggingface đã lên một bài viết cố gắng tái tạo lại công cụ này theo cách của họ. Chi tiết tại Open-source DeepResearch – Freeing our search agents. Và không có gì ngạc nhiên khi cả 2 đều mang hơi hướng của AI Agents.

    » Xem thêm
  • Sống đủ lâu trong thế giới Internet, bạn có thể thấy rằng mọi người ở đây khá háo hức chạy theo xu hướng và chúng lan truyền với tốc độ chóng mặt.

    Chỉ vài tháng trước, chúng ta vẫn còn kinh ngạc về trí thông minh của các mô hình ngôn ngữ lớn (LLM) có thể trả lời giống như con người, và ngay sau đó, chúng đã được cập nhật với khả năng suy nghĩ và lý luận đáng kinh ngạc. Chúng được ứng dụng rộng rãi không chỉ trong lĩnh vực lập trình. Gần đây, thuật ngữ AI Agents đã tạo nên một sự khuấy động.

    Vậy, AI Agents là gì? Trong bài viết ngắn này, tất nhiên là không thể đưa ra một định nghĩa ngắn gọn nhưng toàn diện. Bạn đọc có thể tham khảo bài viết rất chi tiết này tại đây Agents | Chip Huyền. Để dễ hình dung hơn, AI Agents có thể được coi là một người hoặc một thực thể nào đó. Bản thân các Agents được trang bị tất cả các công cụ cần thiết. Từ đó, các Agents có thể kết hợp chúng để hoàn thành một nhiệm vụ mà chúng ta giao.

    Vẫn còn hơi mơ hồ phải không? Một ví dụ thực tế là khi bạn ra lệnh cho các Agents truy cập Facebook vào lúc 8 giờ tối mỗi ngày, kiểm tra bất kỳ tin tức nổi bật nào từ bạn bè, sau đó gửi tóm tắt đến Telegram. Vậy là xong!

    » Xem thêm
  • Hôm qua đến nay, lượt truy cập tới từ Facebook tăng đột biến. Thường như thế là do ai đó chia sẻ bài viết của blog vào một nhóm nào đó.

    Cơ mà lần này là liên kết trực tiếp đến trang chủ luôn. Tò mò ghê, không biết ai chia sẻ, chia sẻ ở đâu nữa. Muốn biết để tìm hiểu "insight" ghê 🥹

    » Xem thêm

Webhook là gì?

Webhook (còn được gọi là web callback hoặc HTTP push API) là một cách để một hệ thống cung cấp thông tin cho các các hệ thống khác thông tin theo thời gian thực (realtime). Webhook cung cấp dữ liệu đến các hệ thống khác dựa trên sự kiện vừa xảy ra, nghĩa là bạn nhận được dữ liệu ngay lập tức mà không giống như cách gọi API thông thường, khi bạn cần phải gọi API thường xuyên để lấy dữ liệu trong thời gian thực. Điều này làm cho webhook hiệu quả hơn nhiều cho cả nhà cung cấp dịch vụ và hệ thống của bạn. Hạn chế duy nhất của webhook là triển khai kết nối ban đầu.

webhook là gì

Cho dễ hình dung, hãy nhìn vào hình ảnh trên về việc so sánh giữa webhook và API. Trong khi webhook nhận được dữ liệu tự động từ server thì API phải liên tục gửi yêu cầu để nhận về dữ liệu.

Webhook đôi khi được gọi là "Reverse APIs", vì chúng cung cấp cho bạn các thông số và bạn phải thiết kế một API cho webhook sử dụng. Webhook sẽ thực hiện một HTTP request đến ứng dụng của bạn (thường là POST) bao gồm tất cả những thông số đó.

Sử dụng webhook

Thông thường bạn sẽ phải cung cấp một URL cho nhà cung cấp dịch vụ webhook để họ gửi yêu cầu đến. Thường được thực hiện thông qua trang quản lý hoặc thông qua một API. Điều này đồng nghĩa việc bạn cũng cần phải triển khai một URL trong hệ thống của mình để cho webhook có thể gọi đến.

Phần lớn các webhook sẽ gửi lại dữ liệu cho bạn theo một trong hai cách là dữ liệu dưới dạng JSON (phổ biến) hoặc XML (ít phổ biến hơn). Nhà cung cấp webhook sẽ cho bạn biết cách họ cung cấp dữ liệu thông qua trang tài liệu.

Sử dụng webhook trong những trường hợp nào?

Webhook đang được sử dụng rộng rãi bởi các nền tảng hệ thống lớn trên Internet. Lấy ví dụ như Facebook Page, họ cung cấp webhook để gửi các sự kiện khi có người dùng dùng thích, theo dõi trang, bình luận hay thậm chí là nhắn tin đến hệ thống mà bạn đăng kí lắng nghe những sự kiện đó. Hay như Zalo cũng cung cấp webhook để xử lý những xự kiện tương tự như vậy trên Zalo Page của họ.

Tóm lại những nền tảng hỗ trợ tích hợp hệ thống của bạn vào hệ thống của họ thông thường sẽ thông qua webhook. Vì thế khi thực hiện việc tích hợp nhiều khả năng là bạn sẽ làm việc thông qua webhook.

Bảo mật

Việc triển khai một URL trong hệ thống của bạn để cung cấp cho webhook có khả năng người khác có thể tìm thấy URL đó và sau đó giả mạo yêu cầu đến khiến cho hệ thống của bạn hoạt động sai. Để ngăn điều này xảy ra, bạn có thể sử dụng một số kỹ thuật ngăn chặn. Điều dễ dàng nhất là cung cấp URL https. Sau đó bạn có thể tiếp tục thực hiện những điều sau:

  • Cách đầu tiên và được hỗ trợ nhiều nhất để bảo mật webhook là thêm mã thông báo (token) vào URL, ví dụ: ?auth=token.
  • Lựa chọn tiếp theo là triển khai Basic Auth, cách này cũng được sử dụng rộng rãi và rất dễ thực hiện.
  • Hai giải pháp đầu tiên hoạt động hiệu quả để ngăn chặn hầu hết các cuộc tấn công nhằm vào webhook, tuy nhiên chúng có nhược điểm là phải gửi mã xác thực cùng với yêu cầu. Một lựa chọn thứ ba là yêu cầu nhà cung cấp dịch vụ webhook ký (sign) vào mỗi yêu cầu mà họ gọi đến hệ thống của bạn và sau đó bạn sẽ là người xác minh chữ ký đó. Cách triển khai này phức tạp hơn một chút và tôi sẽ sắp xếp thời gian để viết một bài hướng dẫn triển khai cách này với vai trò nhà cung cấp dịch vụ webhook.

Một số lưu ý

Có một số điều cần lưu ý khi cung cấp URL hệ thống của bạn sử dụng cho dịch vụ webhook:

  • Webhooks cung cấp dữ liệu đến hệ thống của bạn thông qua một HTTP request. Điều này có nghĩa là nếu hệ thống của bạn gặp lỗi, dữ liệu webhook gửi đến cho bạn có thể bị mất. Nhiều webhook sẽ chủ động gửi lại yêu cầu nếu phát hiện ra hệ thống của bạn đang bị lỗi. Do đó hãy đọc thật kĩ tài liệu của nhà cung cấp dịch vụ webhook để biết thêm chi tiết cách mà họ xử lý các yêu cầu HTTP đến hệ thống của bạn.
  • Khi sự kiện xảy ra liên tục, webhook có thể thực hiện các HTTP request liên tục. Hãy đảm bảo hệ thống của bạn có thể chịu được điều này trong triển khai.

Tổng kết

Webhook là một cách để một hệ thống cung cấp thông tin cho các các hệ thống khác thông tin theo thời gian thực thay vì phải gọi API một cách liên tục. Hầu hết các webhook hoạt động dựa trên sự kiện (event) để thông báo đến hệ thống đã đăng ký bằng cách gọi một HTTP request.

Hiện tại hầu hết các nền tảng dịch vụ lớn trên mạng Internet đều cung cấp webhook để dễ dàng tích hợp với hệ thống ứng dụng của bạn. Bên cạnh đó cũng cần chú ý đến việc bảo mật webhook và cách triển khai webhook.

Tham khảo:

Cao cấp
Hello

Tôi & khao khát "chơi chữ"

Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên ngay!

Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.

Bình luận (2)

Nội dung bình luận...
Avatar
Hương Trịnh2 năm trước
Không cmt bằng hình ảnh được nhỉ
Trả lời
Avatar
Hương Trịnh2 năm trước
Ad ơi bị lỗi giao diện trên mobile rồi kìa :))
Trả lời
Avatar
Xuân Hoài Tống2 năm trước
Đã fix rồi nha bạn
Avatar
Xuân Hoài Tống2 năm trước
Ok bạn ơi mình thấy rồi, thanks b
Bấm hoặc cuộn mạnh để sang bài mới