在各個應用程式與 Messenger Bot 連結用戶

企業經常會使用各種渠道與其消費者保持聯絡,例如網站、流動應用程式以及 Messenger。當用戶在網站或流動應用程式上使用 Facebook 登入,系統會針對特定的 Facebook 應用程式建立編號,亦即應用程式專屬編號。當用戶透過 Messenger 與企業互動,系統就會針對與 Messenger Bot 相關的特定專頁建立編號,亦即專頁範圍編號。這就表示,同一位用戶在不同通訊渠道中的編號都不相同。請注意,當用戶登入您的應用程式時,系統會建立應用程式專屬編號,因此如果用戶未安裝且未登入您的應用程式,您就無法看到他們的應用程式專屬編號。

企業會希望在各種渠道中提供用戶無縫接軌的體驗。舉例來說,若用戶是透過 Messenger Bot 與企業溝通,若企業判斷該用戶為其 Facebook 應用程式(例如使用 Facebook 登入的網站或流動應用程式)上的現有客戶,就能提供更加個人化的體驗。我們提供 API 以擷取同一位用戶在同一企業內不同應用程式與 Messenger Bot 的各個編號。

首先,您必須讓 Facebook 知道您的應用程式以及與 Messenger Bot 相關的專頁是同屬於一個企業實體。您必須使用 Facebook 企業管理平台執行這個動作:

接著您可以查詢用戶節點的 ids_for_appsids_for_pages 邊緣以便擷取編號。

您對 API 的初次調用可能會觸發應用程式審查,而這項審查可能約需 48 小時才能完成。

本文件包含:

使用案例

此 API 有幾種主要的使用案例:

提供 Messenger Bot 的用戶編號、擷取同一企業所有應用程式的編號

  • 用戶節點: 專屬於與 Messenger Bot 相關專頁的編號。
  • 邊緣:ids_for_apps
  • 必備項目: 必須使用專頁存取憑證appsecret_proof,這兩者都必須使用管理專頁的應用程式來產生。此外,管理專頁的應用程式與其他欲連結的應用程式都必須同屬於同一企業。

範例:

  1. 這會回傳同一企業旗下所有應用程式的編號
    GET /{user-id}/ids_for_apps
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. 這會回傳特定應用程式(應用程式編號 10152368852405295)的編號
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

提供應用程式的用戶編號、擷取同一企業所有 Messenger Bot 的編號

  • 用戶節點: 專屬於應用程式的編號。
  • 邊緣:ids_for_pages
  • 必備項目: 必須使用專頁存取憑證appsecret_proof,這兩者都必須使用管理專頁且該編號專屬的應用程式來產生。此外,該應用程式與專頁必須同屬於同一企業。

範例:

  1. 這會回傳同一企業旗下所有相關專頁之 Messenger Bot 的編號
    GET /{user-id}/ids_for_pages
        ?access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]
  2. 這會回傳特定相關專頁(專頁編號 380374449010653)之 Messenger Bot 的編號
    GET /{user-id}/ids_for_pages
        ?page=380374449010653
        &access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]

提供應用程式的用戶編號、擷取同一企業其他應用程式的編號

  • 用戶節點: 此用戶節點是專屬於應用程式的編號。
  • 邊緣:ids_for_apps
  • 必備項目: 必須使用應用程式存取憑證,這是使用編號專屬之應用程式所產生的。此外,所有應用程式必須同屬於同一企業。

範例:

  1. 這會回傳同一企業旗下所有應用程式的編號
    GET /{user-id}/ids_for_apps
        ?access_token=[app_access_token]
  2. 這會回傳特定應用程式(應用程式編號 10152368852405295)的編號
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[app_access_token]

提供專頁(與 Bot 相關)的用戶編號、擷取同一企業旗下其他專頁的編號

  • 用戶節點: 專屬於與 Messenger Bot 相關專頁的編號。
  • 邊緣:ids_for_pages
  • 必備項目: 必須使用專頁存取憑證appsecret_proof,這兩者都必須使用管理專頁的應用程式來產生。此外,所有專頁必須同屬於同一企業。

範例:

  1. 這會回傳同一企業旗下所有專頁的編號
    GET /{user-id}/ids_for_pages
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. 這會回傳特定專頁(應用程式編號 380374449010653)的編號
    GET /{user-id}/ids_for_pages
        ?app=380374449010653
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

查詢範例

從應用程式編號擷取相關編號

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

回應範例:

{
  "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"
}

從 Messenger Bot 編號擷取相關編號

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

回應範例:

{
  "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"
}

    

政策

此 API 僅適用於企業用來連結該企業旗下之應用程式或專頁的編號,以及同一企業旗下擁有或代為管理之其他應用程式或專頁。舉例來說,服務供應商不得使用此 API 來支援多個客戶。

如果我們懷疑您可能違反此政策,您的 API 要求將接受審查,並回傳錯誤訊息「(#200) 我們正在審查您的企業使用此 API 的權限。」