ビジネス代理

ビジネス代理APIを使用すると、パートナーは次のことが可能になります。

  • クライアントの代理で行動するためのアクセス権を取得する
  • クライアントのビジネスマネージャの下にシステムユーザーを作成し、そのアクセストークンを取得する

システムユーザーは、商品カタログの更新、サーバー間イベントの送信、カスタムオーディエンスの更新など、反復的なプログラムタスクを実行するユーザーとして定義されます。

このシナリオでは、システムユーザーは従業員のアクセスを持っており、管理者ユーザーのアクセストークンを使用して(作成時に)割り当てられたアセットにのみアクセスすることができます。

システムユーザーを使用する場合とユーザー独自のアクセストークンを使用する場合の利点 — ユーザーはビジネスを辞めることができますが、システムユーザーアクセストークンには有効期限がありません。このアプローチでは、クライアントは引き続きビジネスの所有者であり、パートナーがシステムユーザーを介してビジネスマネージャとそのアセットにアクセスできるようになります。クライアントは、ビジネスマネージャにアクセスして、システムユーザーを取り消したり、プログラムによってパートナーへの特定のアセットへのアクセスを削除したりできます。

利用を始める

始める前に、以下の要件と情報を確認することをおすすめします。

クライアントのためのビジネスマネージャ

クライアントがコマースマネージャを通じてコマースアカウントを作成した場合、そのアカウントはすでにビジネスマネージャに接続されています。この手順に従って、ビジネスマネージャIDを見つけることができます。

クライアントにビジネスマネージャがない場合は、続行する前にビジネスマネージャを作成する必要があります。手順については、ビジネスマネージャAPIをご覧ください。

アプリのアクセス許可

  • business_management

ID

  • PARTNER_BM_ID: アプリを所有するパートナーのビジネスマネージャのID
  • CLIENT_BM_ID: クライアントのコマースアカウントに接続されているFacebookページを所有するクライアントのビジネスマネージャのID。

アクセストークン

  • USERS_ACCESS_TOKEN: パートナーのビジネスマネージャが所有するアプリを使用してbusiness_manageのアクセス許可で作成された、クライアントのビジネマネージャ管理者のアクセストークン。このトークンはFacebookログインで生成されます。
  • PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN: アプリのパートナーのビジネスマネージャの管理システムユーザーのアクセストークン。
  • CLIENT_BM_SU_ACCESS_TOKEN: クライアントのビジネスマネージャの下にあるシステムユーザーのアクセストークン。
  • CLIENT_BM_SU_PAGE_ACCESS_TOKEN: クライアントのビジネスマネージャの下にあるシステムユーザーのページアクセストークン。

推奨手順

ステップ1

パートナーとクライアントのビジネスマネージャの間に代理関係を作成します。

これにより、パートナーのビジネスマネージャとクライアントのビジネスマネージャの間に関係エッジが作成されます。これにより、パートナーは次のステップでAPIを介してSUを作成できるようになります。

使用アクセストークン:USERS_ACCESS_TOKEN


curl -i -X POST \
 "https://graph.facebook.com/v21.0/<PARTNER_BM_ID>/managed_businesses?existing_client_business_id=<CLIENT_BM_ID>&access_token=<USERS_ACCESS_TOKEN>"
		

ステップ2

クライアントのビジネスマネージャの下でシステムユーザーのアクセストークンを取得します。これにより、クライアントのビジネスマネージャにアプリがインストールされ、システムユーザーが作成されます。デフォルトではシステムユーザーの名前は {Client_Business_Manager_Name} SYSTEM USERです。クライアントには、パートナーアプリをビジネスマネージャで共有アセットとして表示できるようになります。(テストユーザー以外のアプリへのアクセスはほとんどありません。)

scopeパラメーターには、関連するAPIエンドポイントにアクセスするために、システムユーザーに必要なアクセス許可を含める必要があります。アクセスするために必要なアクセス許可については、個々のAPIリファレンスを参照してください。

使用アクセストークン:PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN。このアクセストークンには、business_management権限と、上記のscopeパラメーターに含まれるすべての権限が必要です。


curl -i -X POST \
 "https://graph.facebook.com/v21.0/<CLIENT_BM_ID>/access_token?scope=ads_management,pages_read_engagement&app_id=<APP_ID>&access_token=<PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN>"
 		

応答には、OBO関係にリンクされているシステムユーザーのトークンが含まれています。コマース統合のために他のシステムユーザーを作成したり使用したりする必要はありません。

ステップ3

システムユーザーのIDを取得します。

使用アクセストークン:CLIENT_BM_SU_ACCESS_TOKEN

curl -i -X GET \
 "https://graph.facebook.com/v21.0/me?access_token=<CLIENT_BM_SU_ACCESS_TOKEN>"
 		

ステップ4

クライアントのビジネスマネージャでシステムユーザーにアセット(ページとカタログ)を割り当てます。

使用アクセストークン:USERS_ACCESS_TOKEN

curl -i -X POST \
 "https://graph.facebook.com/v21.0/<ASSET_ID>/assigned_users?user=<SYSTEM_USER_ID>&tasks=MANAGE&access_token=<USERS_ACCESS_TOKEN>"
 		

ステップ5

このCLIENT_BM_SU_ACCESS_TOKENを安全なデータベースに保存し、カタログ管理などのユーザーアクセストークンを必要とするAPIにアクセスするために使用します。

ステップ6

以下を呼び出して、CLIENT_BM_SU_ACCESS_TOKENを使用してページアクセストークンを生成します。

curl -i -X GET \
 "https://graph.facebook.com/v21.0/me/accounts?access_token=<CLIENT_BM_SU_ACCESS_TOKEN>"
 		

このリクエストは、一致するaccess_tokenを含む、システムユーザーが管理するすべてのページをリストします。回答の例:

{
  "data": [
    {
      "access_token": "<access token sanitized>",
      "category": "Retail Company",
      "category_list": [
        {
          "id": "2239",
          "name": "Retail Company"
        }
      ],
      "name": "Test_Shop_Page",
      "id": "<content sanitized>",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    }
  ],
  "paging": {
    "cursors": {
      "before": "<content sanitized>",
      "after": "<content sanitized>"
    }
  }
}

クライアントのコマースアカウントとリンクされたページに対応するaccess_tokenをコピーし、安全に保管してください。これを使用して、注文管理財務レポートなど、コマースアカウントに代わってページアクセストークンを必要とするAPIにアクセスします。

よくある質問

代理関係を削除して、自分に割り当てられたクライアントビジネスマネージャの下のシステムユーザーを削除するにはどうすればよいですか?


curl -i -X DELETE \
 "https://graph.facebook.com/v21.0/<PARTNER_BM_ID>/managed_businesses?existing_client_business_id=<CLIENT_BM_ID>&access_token=<USERS_ACCESS_TOKEN>"
		

クライアントが接続とパートナーのシステムユーザーを削除したい場合は、ビジネスマネージャのアプリビューで削除することができます。