広告アカウントのためのWebhooks

広告アカウントのためのWebhooksを使用すると、特定の広告の変更に関するリアルタイム通知を受け取ることができます。

広告アカウントのためのWebhooksを設定するには、以下の手順が必要です。

  1. エンドポイントを設定し、Webhooksを構成します
  2. 広告アカウントの下でアプリをサブスクリプション登録します

エンドポイントとWebhooksを設定する

Webhooksスタートガイドに従ってエンドポイントを作成し、Webhooksを構成します。Webhooksを設定する際には、必ずAd Accountを選択してください。

現在、WITH_ISSUESIN_PROCESSの広告オブジェクトのステータス変更についてのリアルタイム通知を受け取ることができます。以下の1つ以上のフィールドをサブスクリプション登録します。

フィールド 説明

with_issues_ad_objects

広告アカウント下のキャンペーン、広告セット、または広告がWITH_ISSUESステータスを受け取った時点で通知されます。

in_process_ad_objects

キャンペーン、広告セット、または広告のIN_PROCESSステータスが終了した時点で通知されます。詳細は後処理をご覧ください。

アプリをサブスクリプション登録する

広告アカウントのためのWebhook通知にアプリをサブスクリプション登録する必要があります。このステップを完了するには、アプリに広告アカウントへの編集権限がある必要があります。アプリにもads_managementのアクセス許可がある必要があります。

アプリでサブスクリプション登録するには、広告アカウントのsubscribed_appsを指定して、アプリからPOSTリクエストを送信します。

curl -i -X POST \
  -d "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<VERSION>/act_<AD_ACCOUNT_ID>/subscribed_apps?app_id=<APP_ID>"

成功すると次の応答が表示されます。

{"success": "true"}

広告アカウントにどのアプリがサブスクリプション登録されているかを確認するには、次のようにGETリクエストを送信します。

curl -i -X GET \
  -d "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<VERSION>/act_<AD_ACCOUNT_ID>/subscribed_apps"

成功すると次の応答が表示されます。

{
  "data": [
  { 
    "name": "<APP_NAME>", 
    "id": "<APP_ID>" 
  } ]
}

アプリサブスクリプション登録を削除するには、DELETEリクエストを送信します。

成功すると次の応答が表示されます。

{"success": "true"}

グラフAPIエクスプローラーでサブスクリプション登録する

グラフAPIエクスプローラでアプリをサブスクリプション登録することもできます。

me?fields=id,nameクエリをact_AD_ACCOUNT_ID/subscribed_appsに置き換えます。これにより、グラフエクスプローラー内でPOSTリクエストを送信するために使うアプリがサブスクリプション登録されます。または、アプリIDを使ってsubscribed_appsを入力パラメーターとして指定することにより、別のアプリをサブスクリプション登録することもできます。

サブスクリプション登録するには、広告アカウントを編集するためのアクセス許可がアプリに付与されている必要があります

[
  {
    "object": "ad_account",
    "entry": [
      {
        "id": "0",
        "time": 1568132516,
        "changes": [
          {
            "field": "with_issues_ad_objects",
            "value": {
              "id": "111111111111",
              "level": "AD",
              "error_code": "567",
              "error_summary": "error summary",
              "error_message": "error message"
            }
          }
        ]
      }
    ]
  }
]