Webhooks

Tổng quan

Webhooks cho phép ứng dụng tích hợp tùy chỉnh đăng ký các sự kiện trong Workplace và nhận thông tin cập nhật theo thời gian thực. Khi có thay đổi trong Workplace, một yêu cầu HTTPS POST sẽ được gửi đến URL gọi lại cho mỗi ứng dụng tích hợp tùy chỉnh đã đăng ký chủ đề webhook liên quan.

Điều này giúp các ứng dụng trở nên hiệu quả hơn, vì ứng dụng sẽ biết chính xác thời điểm diễn ra thay đổi mà không cần thực hiện liên tục hay theo định kỳ các yêu cầu API Đồ thị để lấy nội dung mới nhất.

Webhooks hỗ trợ Workplace được cung cấp bằng cùng một khung hỗ trợ Webhooks cho API Đồ thị.

Đăng ký chủ đề webhook

Hộp thoại Chỉnh sửa tiện ích tích hợp tùy chỉnh có các tab cho mỗi chủ đề webhook dành cho các ứng dụng trên Workplace.

Phần Webhooks trong hộp thoại Chỉnh sửa tiện ích tích hợp tùy chỉnh

Để thêm đăng ký webhook mới trong một chủ đề nhất định, hãy cung cấp URL gọi lạimã xác minh, sau đó chọn các trường đăng ký bạn cần cho chức năng mà ứng dụng sẽ cung cấp.

Bạn chỉ có thể đăng ký một URL cho mỗi chủ đề webhook, nhưng có thể dùng cùng một URL cho nhiều chủ đề.

Xử lý yêu cầu xác minh

Khi bạn thêm đăng ký mới hoặc sửa đổi đăng ký hiện có, các máy chủ của Meta sẽ gửi yêu cầu GET đến URL gọi lại của bạn để xác minh tính hợp lệ của máy chủ gọi lại.

Một chuỗi truy vấn sẽ được thêm vào URL này kèm theo các thông số sau:

  • hub.mode - Chuỗi "subscribe" được chuyển vào thông số này
  • hub.challenge - Một chuỗi ngẫu nhiên
  • hub.verify_token - Giá trị verify_token mà bạn đã chỉ định khi tạo đăng ký

Mỗi khi nhận được yêu cầu xác minh, điểm cuối của bạn phải:

  • Xác minh rằng giá trị hub.verify_token khớp với chuỗi mà bạn đã đặt trong trường Mã xác minh khi đặt cấu hình cho webhook.
  • Trả về giá trị hub.challenge.

Bảo mật webhook

Tất cả lệnh gọi webhook đến URL gọi lại do nhà phát triển xác định đều được thực hiện thông qua HTTPS, giúp đảm bảo tính bảo mật ở cấp độ vận chuyển cho phần tải dữ liệu webhook.

Để tăng cường bảo mật, hãy thêm một tiêu đề HTTPX-Hub-Signature-256 vào mỗi phần tải dữ liệu POST để xác minh rằng phần tải dữ liệu đến từ một máy chủ của Meta.

Để biết thông tin đầy đủ về hành vi này, hãy tham khảo tài liệu về Khung webhook.

Tất cả lệnh gọi webhook đến URL gọi lại do nhà phát triển xác định đều được thực hiện thông qua HTTPS, giúp đảm bảo tính bảo mật ở cấp độ vận chuyển cho phần tải dữ liệu webhook.

Đăng ký webhook bằng lệnh gọi API

Các lệnh gọi API để đọc hay sửa đổi đăng ký webhook cần phải được thực hiện bằng mã ứng dụng thay vì mã tiện ích tích hợp tùy chỉnh bình thường. Mã ứng dụng có thể được tạo bằng cách ghép ID ứng dụng, ký hiệu "|" và khóa bí mật của ứng dụng.

Ví dụ:

Dữ liệuChuỗi

ID ứng dụng

504221332732118

Khóa bí mật của ứng dụng

d76ab3f35f3ff5aa6ffdc8637a660d2ea7

Mã ứng dụng:

504221332732118|d76ab3f35f3ff5aa6ffdc8637a660d2ea7

Lấy đăng ký webhook hiện tại (sử dụng mã ứng dụng)

GET graph.facebook.com
  /{app-id}/subscriptions
    &access_token={your_app_token}

Thêm đăng ký webhook mới (sử dụng mã ứng dụng)

POST graph.facebook.com
  /{app-id}/subscriptions
    ?object=page
    &fields=mention,messages
    &callback_url={your-url}
    &verify_token={your-verify-token}
    &access_token={your_app_token}

Khắc phục sự cố đăng ký ứng dụng/trang

Trong trường hợp không nhận được các webhook như dự kiến, bạn nên kiểm tra để đảm bảo đăng ký giữa trang và ứng dụng được thiết lập chính xác. Đăng ký này thường được thiết lập tự động, nhưng trong một số trường hợp có thể không thành công. Ví dụ: nếu việc gửi webhook không thành công trong thời gian dài, đăng ký này có thể bị gỡ. Đối với các ứng dụng bên thứ ba, điều này sẽ dẫn đến cảnh báo trong bảng điều khiển ứng dụng.

Để kiểm tra đăng ký này, các lệnh gọi API sau đây có sẵn:

Lấy đăng ký trang/ứng dụng hiện tại (bằng mã trang)

GET graph.facebook.com
  /me/subscribed_apps?access_token={your_page_token}

Để tạo lại đăng ký này, các lệnh gọi API sau đây có sẵn:

Tạo lại đăng ký trang/ứng dụng hiện tại (bằng mã trang)

POST graph.facebook.com
  /me/subscribed_apps?access_token={your_page_token}
	{"subscribed_fields": ["messages"...]}

Chủ đề webhook

Hoạt động trên Workplace được nhóm thành các chủ đề Mỗi chủ đề có một số trường liên kết với các sự kiện trong một chủ đề nhất định. Các ứng dụng có thể đăng ký bản cập nhật webhook trong mỗi chủ đề và các trường cụ thể trong mỗi chủ đề.

Workplace hiện cung cấp webhook cho những nhóm và chủ đề sau:

Trang

Bạn có thể xem thêm thông tin trong Tài liệu tham khảo về chủ đề trên Trang.

Trường đăng kýHành vi

mention

Được kích hoạt khi có hoạt đông nhắc đến trang (bot) tích hợp tùy chỉnh trong nhóm.

messages

Được kích hoạt khi có tin nhắn gửi tới trang (bot) tích hợp tùy chỉnh trong Work Chat.

message_deliveries

Được kích hoạt khi có hoạt động phân phối tin nhắn do trang (bot) tích hợp tùy chỉnh gửi.

messaging_postbacks

Được kích hoạt khi có hoạt động nhấn nút yêu cầu đăng lại trong Work Chat.

message_reads

Được kích hoạt khi người nhận đọc tin nhắn từ trang (bot) tích hợp tùy chỉnh.

Nhóm

Các thông tin khác có trong Tài liệu tham khảo về chủ đề nhóm.

Trường đăng kýHành vi

posts

Được kích hoạt khi có hoạt động thêm, cập nhật hoặc xóa bài viết trong nhóm.

comments

Được kích hoạt mỗi khi có hoạt động thêm, cập nhật hoặc xóa bình luận mới khỏi bài viết trong nhóm.

membership

Được kích hoạt khi ai đó tham gia hoặc rời nhóm.

membership_requests

Được kích hoạt khi người dùng yêu cầu tư cách thành viên nhóm.

Người dùng

Bạn có thể xem thêm thông tin trong Tài liệu tham khảo về chủ đề người dùng.

Trường đăng kýHành vi

status

Được kích hoạt khi người dùng cập nhật trạng thái hoặc chỉnh sửa bài viết trên trang cá nhân của họ, gồm cả các bài viết trên dòng thời gian của người dùng.

events

Được kích hoạt mỗi khi người dùng tạo, chấp nhận hoặc từ chối sự kiện.

message_sends

Được kích hoạt mỗi khi người dùng gửi tin nhắn trong Chat trên Workplace.

message_unsends

Được kích hoạt mỗi khi người dùng gỡ tin nhắn trong Chat trên Workplace cho mọi người trong chuỗi trò chuyện.

timeline_comments

Được kích hoạt mỗi khi có bình luận về một bài viết trong dòng thời gian của người dùng.

Bảo mật

Các thông tin khác có trong Tài liệu tham khảo về chủ đề bảo mật.

admin_activity

Các sự kiện được kích hoạt khi có hoạt động thêm hay xóa quản trị viên trong cộng đồng Workplace

Sự kiệnHành vi

admin_set_to_unclaimed

Quản trị viên đã đặt trạng thái tài khoản của người dùng là chưa xác nhận trong bảng điều khiển quản trị hoặc thông qua API Quản lý tài khoản.

admin_force_log_out

Quản trị viên đã buộc người dùng đăng xuất trên mọi thiết bị từ Bảng điều khiển quản trị.

admin_deactivate

Quản trị viên đã vô hiệu hóa một tài khoản từ Bảng điều khiển quản trị hoặc thông qua API Quản lý tài khoản.

admin_activate_account

Quản trị viên đã kích hoạt một tài khoản từ Bảng điều khiển quản trị hoặc thông qua API Quản lý tài khoản.

force_password_reset

Quản trị viên đã buộc một người dùng phải đặt lại mật khẩu từ Bảng điều khiển quản trị.

admin_create_account

Quản trị viên đã tạo tài khoản từ Bảng điều khiển quản trị.

compromised_credentials

Các sự kiện được kích hoạt khi chúng tôi nghi ngờ rằng mật khẩu Workplace của một số tài khoản người dùng trong cộng đồng có thể đang gặp rủi ro.

Sự kiệnHành vi

found_compromised_credentials

Workplace phát hiện thấy thông tin đăng nhập bị xâm phạm.

files

Các sự kiện được kích hoạt khi có hoạt động với file trên Workplace.

Sự kiệnHành vi

group_file_upload

Người dùng đã tải một file lên nhóm.

group_file_download

Người dùng đã tải một file xuống từ nhóm.

file_upload_malware_found

Phát hiện thấy file đã tải lên có chứa phần mềm độc hại.

groups

Các sự kiện được kích hoạt khi một người tạo hoặc tham gia Nhóm đa công ty trên Workplace.

Sự kiệnHành vi

mcg_join

Một người dùng trong cộng đồng đã tham gia MCG.

mcg_create

Một người dùng trong cộng đồng đã tạo MCG.

integrations

Các sự kiện được kích hoạt khi quản trị viên tạo hoặc thay đổi các thuộc tính tích hợp.

Sự kiệnHành vi

custom_integration_create

Quản trị viên đã tạo tiện ích tích hợp tùy chỉnh.

custom_integration_edit

Quản trị viên đã chỉnh sửa một tiện ích tích hợp tùy chỉnh.

custom_integration_delete

Quản trị viên đã xóa một tiện ích tích hợp tùy chỉnh.

custom_integration_token_reset

Quản trị viên đã tạo mã truy cập mới cho một tiện ích tích hợp tùy chỉnh.

content_app_install

Người dùng đã tạo một tiện ích tích hợp nội dung.

content_app_uninstall

Người dùng đã gỡ một tiện ích tích hợp nội dung.

invites

Các sự kiện được kích hoạt khi một người tham gia Workplace thông qua lời mời tự tạo.

Sự kiệnHành vi

coworker_invite_sent

Một người dùng đã mời đồng nghiệp tham gia cộng đồng.

self_invite_sent

Một người dùng đã yêu cầu email mời tham gia cho chính họ.

passwords

Các sự kiện được kích hoạt khi một người thay đổi mật khẩu hoặc yêu cầu đặt lại mật khẩu.

Sự kiệnHành vi

password_change

Mật khẩu của người dùng được thay đổi, do hoàn tất khôi phục mật khẩu hoặc thông qua cài đặt tài khoản của họ.

password_reset_request

Quy trình khôi phục mật khẩu của người dùng được bắt đầu và hệ thống đã gửi mã đến địa chỉ email của người dùng.

password_reset_wrong_code

Người dùng đã nhập không đúng mã khôi phục đặt lại mật khẩu.

password_reset_success

Quy trình khôi phục mật khẩu của người dùng được hoàn tất thành công.

sessions

Các sự kiện được kích hoạt khi một người đăng nhập hoặc đăng xuất khỏi Workplace.

Sự kiệnHành vi

log_in

Người dùng đã đăng nhập vào Workplace bằng mật khẩu hoặc SSO, trên www hoặc ứng dụng di động.

log_out

Người dùng đã đăng xuất khỏi Workplace bằng mật khẩu hoặc SSO, trên www hoặc ứng dụng di động.

Không bao gồm lần buộc đăng xuất do quản trị viên khởi tạo (Xem admin_force_log_out)

two_factor

Các sự kiện được kích hoạt khi một người bật hoặc tắt tính năng xác thực 2 yếu tố.

Sự kiệnHành vi

two_factor_enable

Một người dùng đã bật tính năng xác thực 2 yếu tố từ tab Cài đặt. Sự kiện này không ghi lại khi ai đó xác nhận một số điện thoại cụ thể, nhưng cho thấy rằng tính năng này đã được bật.

two_factor_disable

Một người dùng đã tắt tính năng xác thực 2 yếu tố từ tab Cài đặt. Sự kiện này không ghi lại khi ai đó tắt tính năng xác thực 2 yếu tố cho một số điện thoại cụ thể, nhưng cho thấy rằng tính năng này đã bị tắt.

add_two_factor_phone

Người dùng đã thêm và xác nhận số điện thoại được sử dụng cho tính năng xác thực 2 yếu tố.

two_factor_code_success

Một người dùng đã nhập mã xác thực 2 yếu tố hợp lệ khi đăng nhập vào trang web di động hoặc trang web Workplace

two_factor_code_failure

Một người dùng đã nhập mã xác thực 2 yếu tố không hợp lệ khi đăng nhập vào trang web di động hoặc trang web Workplace

two_factor_code_success_m

Một người dùng đã nhập mã xác thực 2 yếu tố hợp lệ khi đăng nhập vào ứng dụng Workplace trên iOS hoặc Android

two_factor_code_failure_m

Một người dùng đã nhập mã xác thực 2 yếu tố không hợp lệ khi đăng nhập vào ứng dụng Workplace trên iOS hoặc Android

reseller_events

Các sự kiện liên quan đến bên bán lại.

Sự kiệnHành vi

reseller_user_added

Cho phép người dùng không phải là quản trị viên trong một công ty bán lại xem bảng điều khiển của bên bán lại.

reseller_user_removed

Không cho phép người dùng không phải là quản trị viên trong một công ty bán lại xem bảng điều khiển của bên bán lại.

reseller_invite_sent

Bên bán lại mời một công ty khác liên kết với họ.

reseller_invite_accepted

Một công ty chấp nhận lời mời liên kết của bên bán lại.

reseller_invite_declined

Một công ty từ chối lời mời liên kết của bên bán lại.

Liên kết

Bạn có thể xem thêm thông tin trong Tài liệu tham khảo về chủ đề liên kết

Sự kiệnHành vi

preview

Siêu dữ liệu về người dùng yêu cầu quyền truy cập vào các liên kết có thể chia sẻ.

collection

Siêu dữ liệu cho liên kết được chia sẻ trên Workplace để tạo bản xem trước.

Thư viện kiến thức

Bạn có thể xem thêm thông tin trong Tài liệu về API Đồ thị thuộc hạng mục Thư viện kiến thức.

Trường đăng kýHành vi

categories

Được kích hoạt khi có hoạt động thêm/cập nhật/xóa nội dung trong Thư viện kiến thức hoặc khi đối tượng đọc thay đổi.

comments

Được kích hoạt mỗi khi có hoạt động thêm/cập nhật/xóa bình luận mới trong Thư viện kiến thức.

quicklinks

Được kích hoạt khi có hoạt động thêm/cập nhật/xóa liên kết nhanh trong Thư viện kiến thức.