Kết nối với mọi người trên ứng dụng và bot trong Messenger

Thông thường, doanh nghiệp sẽ sử dụng nhiều kênh để giao tiếp với khách hàng, ví dụ: trang web, ứng dụng di động và Messenger. Khi người dùng sử dụng Đăng nhập Facebook trên trang web hoặc ứng dụng di động, một ID sẽ được tạo cho ứng dụng Facebook cụ thể, gọi là ID người dùng trong ứng dụng. Khi người dùng tương tác với một doanh nghiệp qua Messenger, một ID sẽ được tạo cho Trang cụ thể được liên kết với bot trong Messenger, gọi là ID người dùng trên Trang. Điều này có nghĩa là, với cùng một người, ID trên các kênh giao tiếp khác nhau lại khác nhau. Lưu ý rằng ID người dùng trong ứng dụng được tạo khi một người dùng đăng nhập bằng ứng dụng, vì vậy, bạn sẽ không nhìn thấy ID người dùng trong ứng dụng của những người dùng chưa cài đặt và đăng nhập bằng ứng dụng của bạn.

Doanh nghiệp nên cung cấp trải nghiệm liền mạch cho mọi người trên các kênh khác nhau. Ví dụ: khi ai đó giao tiếp với doanh nghiệp thông qua bot trong Messenger, trải nghiệm có thể được cá nhân hóa hơn nếu doanh nghiệp nhận ra rằng người đó là khách hàng hiện có trong ứng dụng Facebook của họ (ví dụ: trang web hoặc ứng dụng di động có Đăng nhập Facebook). Chúng tôi cung cấp API để truy xuất ID cho cùng một người trên các ứng dụng và bot trong Messenger thuộc sở hữu của cùng một doanh nghiệp.

Trước tiên, bạn phải cho Facebook biết rằng ứng dụng và Trang được liên kết với bot trong Messenger đều thuộc sở hữu của cùng một thực thể kinh doanh. Để thực hiện việc này, bạn cần sử dụng Trình quản lý doanh nghiệp Facebook để:

Sau đó, bạn có thể truy vấn cạnh ids_for_apps hoặc cạnh ids_for_pages cho nút người dùng để truy xuất ID.

Lệnh gọi ban đầu của bạn tới API có thể kích hoạt xét duyệt ứng dụng. Quá trình này có thể mất khoảng 48 giờ để hoàn tất.

Tài liệu này bao gồm:

Trường hợp sử dụng

Có vài trường hợp sử dụng chính cho API này:

Với một ID người dùng cho bot trong Messenger, truy xuất ID cho các ứng dụng thuộc sở hữu của cùng một doanh nghiệp

  • Nút người dùng: ID người dùng trên Trang được liên kết với bot trong Messenger.
  • Cạnh:ids_for_apps
  • Yêu cầu: Điều này yêu cầu mã truy cập trangappsecret_proof, cả hai đều cần phải được tạo bằng ứng dụng quản lý Trang. Ngoài ra, ứng dụng quản lý trang và (các) ứng dụng khác để kết nối phải thuộc sở hữu của cùng một doanh nghiệp.

Ví dụ:

  1. Điều này sẽ trả về ID cho tất cả các ứng dụng thuộc sở hữu của cùng một doanh nghiệp
    GET /{user-id}/ids_for_apps
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Điều này sẽ trả về ID cho ứng dụng cụ thể có ID người dùng 10152368852405295
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

Với một ID người dùng cho ứng dụng, truy xuất ID cho các bot trong Messenger thuộc sở hữu của cùng một doanh nghiệp

  • Nút người dùng: ID người dùng trong ứng dụng.
  • Cạnh:ids_for_pages
  • Yêu cầu: Điều này yêu cầu mã truy cập trangappsecret_proof, cả hai đều cần phải được tạo bằng ứng dụng quản lý Trang và ID nằm trong ứng dụng. Ngoài ra, ứng dụng và Trang phải thuộc sở hữu của cùng một doanh nghiệp.

Ví dụ:

  1. Điều này trả về ID cho tất cả các bot trong Messenger có Trang được liên kết thuộc sở hữu của cùng một doanh nghiệp
    GET /{user-id}/ids_for_pages
        ?access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Điều này trả về ID cho bot cụ thể trong Messenger có Trang được liên kết chứa ID trang 380374449010653
    GET /{user-id}/ids_for_pages
        ?page=380374449010653
        &access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]

Với một ID người dùng cho ứng dụng, truy xuất ID cho các ứng dụng khác thuộc sở hữu của cùng một doanh nghiệp

  • Nút người dùng: Nút người dùng là ID người dùng trong ứng dụng.
  • Cạnh:ids_for_apps
  • Yêu cầu: Điều này yêu cầu mã truy cập ứng dụng, được tạo bằng ứng dụng chứa ID đó. Ngoài ra, các ứng dụng phải thuộc sở hữu của cùng một doanh nghiệp.

Ví dụ:

  1. Điều này sẽ trả về ID cho tất cả các ứng dụng thuộc sở hữu của cùng một doanh nghiệp
    GET /{user-id}/ids_for_apps
        ?access_token=[app_access_token]
  2. Điều này sẽ trả về ID cho ứng dụng cụ thể có ID người dùng 10152368852405295
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[app_access_token]

Với một ID người dùng cho Trang (được liên kết với bot), truy xuất ID cho các Trang khác thuộc sở hữu của cùng một doanh nghiệp

  • Nút người dùng: ID người dùng trên Trang được liên kết với bot trong Messenger.
  • Cạnh:ids_for_pages
  • Yêu cầu: Điều này yêu cầu mã truy cập trangappsecret_proof, cả hai đều cần phải được tạo bằng ứng dụng quản lý Trang. Ngoài ra, các Trang phải thuộc sở hữu của cùng một doanh nghiệp.

Ví dụ:

  1. Điều này sẽ trả về ID cho tất cả các Trang thuộc sở hữu của cùng một doanh nghiệp
    GET /{user-id}/ids_for_pages
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Điều này sẽ trả về ID cho Trang cụ thể có ID ứng dụng 380374449010653
    GET /{user-id}/ids_for_pages
        ?app=380374449010653
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

Truy vấn mẫu

Truy xuất ID được liên kết từ ID cho ứng dụng

GET /{user-id}
    ?fields=name,age_range,ids_for_apps,ids_for_pages
    &access_token=[app_access_token]

Phản hồi mẫu:

{
  "name": "John Smith",
  "age_range": {
    "min": 21
  },
  "ids_for_apps": {
    "data": [
      {
        "id": "10152368852405295",
        "app": {
          "category": "Business",
          "link": "https://www.facebook.com/games/?app_id=1419232575008550",
          "name": "John's Game App",
          "id": "1419232575008550"
        }
      },
      {
        "id": "645195294",
        "app": {
          "link": "https://apps.facebook.com/johnsmovieappns/",
          "name": "JohnsMovieApp",
          "namespace": "johnsmovieappns",
          "id": "259773517400382"
        }
      }
    ],
    "paging": ...
  },
  "ids_for_pages": {
    "data": [
      {
        "id": "12345123", // The psid for the user for that page
        "page": {
          "category": "Musician",
          "link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/",
          "name": "John's Next Great Thing",
          "id": "380374449010653"
        }
      }
    ],
    "paging": ...
  },
  "id": "645195294"
}

Truy xuất ID được liên kết từ ID cho bot trong Messenger

GET /{user-id}
    ?fields=name,is_payment_enabled,ids_for_apps,ids_for_pages
    &access_token=[page_access_token]
    &appsecret_proof=[appsecrete_proof]

Phản hồi mẫu:

{
  "name": "John Smith",
  "is_payment_enabled": true,
  "ids_for_apps": {
    "data": [
      {
        "id": "10152368852405295",
        "app": {
          "category": "Business",
          "link": "https://www.facebook.com/games/?app_id=1419232575008550",
          "name": "John's Game App",
          "id": "1419232575008550"
        }
      },
      {
        "id": "645195294",
        "app": {
          "link": "https://apps.facebook.com/johnsmovieappns/",
          "name": "JohnsMovieApp",
          "namespace": "johnsmovieappns",
          "id": "259773517400382"
        }
      }
    ],
    "paging": ...
  },
  "ids_for_pages": {
    "data": [
      {
        "id": "12345123", // The psid for the user for that page
        "page": {
          "category": "Musician",
          "link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/",
          "name": "John's Next Great Thing",
          "id": "380374449010653"
        }
      }
    ],
    "paging": ...
  },
  "id": "645195294"
}

    

Chính sách

Doanh nghiệp chỉ có thể sử dụng API để kết nối các ID cho ứng dụng hoặc Trang của doanh nghiệp đó với ứng dụng hoặc Trang khác được sở hữu và duy trì thay mặt cho cùng một doanh nghiệp. Ví dụ: nhà cung cấp dịch vụ không được sử dụng API để hỗ trợ nhiều khách hàng.

Đối với các hành vi có thể vi phạm chính sách này, yêu cầu API của bạn sẽ phải được xét duyệt và trả về thông báo lỗi “(#200) Doanh nghiệp của bạn hiện đang trong quá trình xét duyệt để truy cập API này.”