Nội dung sau được lấy từ tài liệu về sản phẩm Webhooks. Vui lòng tham khảo tài liệu về Webhooks nếu bạn không quen với Webhooks.

Webhooks cho Trang

Webhooks cho Trang có thể gửi cho bạn thông báo trong thời gian thực về những thay đổi đối với Trang của bạn. Ví dụ: bạn có thể nhận được thông tin cập nhật trong thời gian thực bất cứ khi nào người dùng đăng lên bảng feed của bạn, bình luận về một bài viết hoặc thích bài viết của bạn.

Cách thiết lập Webhook cho Trang:

  1. Thiết lập điểm cuối và đặt cấu hình sản phẩm Webhooks.
  2. Cài đặt ứng dụng thông qua trang Facebook.

Thiết lập điểm cuối và sản phẩm Webhook

Hãy làm theo hướng dẫn Bắt đầu của chúng tôi để tạo điểm cuối và đặt cấu hình sản phẩm Webhooks. Khi đặt cấu hình, hãy nhớ chọn đối tượng Trang và đăng ký một hoặc nhiều trường trên Trang như bên dưới.

TrườngMô tả

feed

Thông báo cho bạn khi bảng feed dành cho Trang có sự thay đổi; bài viết, lượt bày tỏ cảm xúc, lượt chia sẻ, v.v.

messages

Thông báo cho bạn khi trang của bạn nhận được tin nhắn qua Messenger. Hãy xem hướng dẫn về Webhooks cho Messenger để biết danh sách tất cả các trường webhook tin nhắn có sẵn

Cài đặt ứng dụng

Hệ thống sẽ chỉ gửi thông báo webhook nếu Trang của bạn đã cài đặt ứng dụng được đặt cấu hình Webhooks và nếu Trang đó chưa vô hiệu hóa nền tảng Ứng dụng trong phần Cài đặt ứng dụng. Để cài đặt ứng dụng cho Trang, hãy gửi yêu cầu POST từ ứng dụng của bạn đến cạnh subscribed_apps của Trang bằng mã truy cập Trang.

Yêu cầu

Chỉ dành cho các trường liên quan đến tin nhắn

Yêu cầu mẫu

curl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps
  ?subscribed_fields=feed
  &access_token={page-access-token}"

Phản hồi mẫu

{
  "success": "true"
}

Để xem Trang của bạn đã cài đặt ứng dụng nào, hãy gửi yêu cầu GET:

Yêu cầu mẫu

curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps &access_token={page-access-token} 

Phản hồi mẫu

{
  "data": [
    {
      "category": "Business",
      "link": "https://my-clever-domain-name.com/app",
      "name": "My Sample App",
      "id": "{page-id}"
    }
  ]
}

Nếu Trang của bạn chưa cài đặt ứng dụng nào, API sẽ trả về tập dữ liệu trống.

Trình khám phá API Đồ thị

Nếu không muốn cài đặt ứng dụng theo cách lập trình, bạn có thể dễ dàng thực hiện thông qua Trình khám phá API Đồ thị:

  1. Chọn ứng dụng của bạn trong menu thả xuống Ứng dụng. Thao tác này sẽ trả về mã truy cập của ứng dụng.
  2. Nhấp vào menu thả xuống Lấy mã và chọn Lấy mã truy cập người dùng, sau đó chọn quyền pages_manage_metadata. Khi đó, mã ứng dụng của bạn sẽ được đổi lấy mã truy cập dành cho Người dùng cùng với quyền pages_manage_metadata.
  3. Nhấp lại vào Lấy mã rồi chọn Trang của bạn. Khi đó, mã truy cập dành cho Người dùng sẽ được đổi lấy mã truy cập Trang.
  4. Nhấp vào menu thả xuống GET rồi chọn POST để thay đổi phương thức thao tác.
  5. Thay thế truy vấn me?fields=id,name mặc định bằng ID của Trang rồi đến /subscribed_apps, sau đó gửi truy vấn.

Cách dùng phổ biến

Lấy thông tin chi tiết về bảng feed dành cho Trang

Ứng dụng của bạn có thể đăng ký Bảng feed dành cho Trang và nhận được thông báo mỗi khi có bất kỳ thay đổi nào liên quan đến Bảng feed. Ví dụ: sau đây là thông báo được gửi khi một Người dùng đăng lên Trang.

Phản hồi webhook mẫu

[
  {
    "entry": [
      {
        "changes": [
          {
            "field": "feed",
            "value": {
              "from": {
                "id": "{user-id}",
                "name": "Cinderella Hoover"
              },
              "item": "post",
              "post_id": "{page-post-id}",
              "verb": "add",
              "created_time": 1520544814,
              "is_hidden": false,
              "message": "It's Thursday and I want to eat cake."
            }
          }
        ],
        "id": "{page-id}",
        "time": 1520544816
      }
    ],
    "object": "page"
  }
]

Hãy sử dụng post_id trong thông báo để bình luận về bài viết trên Trang.

Yêu cầu API mẫu

curl -i -X POST   "https://graph.facebook.com/{page-post-id}/comments
  ?message=I%20want%20chocolate%20cake%20!
  &access_token=page-access-token" 

Phản hồi API mẫu

{
  "id": "{comment-id}"
}