カタログのセットアップ

ダイナミック広告を設定するには、カタログ、カタログフィード、製品セットが必要です。

カタログは、広告の対象となるアイテムのリストが含まれる、構造化されたデータファイルです。各行に、ダイナミック広告を作成するために必要なすべての情報が含まれます。製品フィードは、製品カタログを最新の状態に保つために行われるデータの動的なアップロードです。

このドキュメントでは、カタログを設定する手順について説明します。

ダイナミック広告のスタートガイドUIによるダイナミック広告のセットアップも参照してください。

ステップ1:カタログの作成

ダイナミック広告用のカタログを作成するには、次のようにします。

use FacebookAds\Object\ProductCatalog;
use FacebookAds\Object\Fields\ProductCatalogFields;

$product_catalog = new ProductCatalog(null, <BUSINESS_ID>);

$product_catalog->setData(array(
  ProductCatalogFields::NAME => "Catalog",
));

$product_catalog->create();
from facebookads.adobjects.productcatalog import ProductCatalog

product_catalog = ProductCatalog(parent_id=<BUSINESS_ID>)

product_catalog[ProductCatalog.Field.name] = 'Catalog'

product_catalog.remote_create()
ProductCatalog catalog = new Business(<BUSINESS_ID>, context).createProductCatalog()
  .setName("Catalog")
  .execute();
String catalog_id = catalog.getId();
curl \
  -F 'name=Catalog' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<BUSINESS_ID>/product_catalogs

カタログAPIを使用するには、適切なマーケティングAPIのアクセスレベルが必要です。また、ビジネスマネージャを経由して初めてカタログを作成するときに、サービスの利用規約を承認する必要があります。カタログのリファレンスを参照してください。

ステップ2:フィードのセットアップ

これは、製品カタログを最新に保つために、ビジネスからアップロードまたはフェッチされてくるアイテムのセットです。製品アイテムとは、オンラインストアでの単一のアイテム(SKUなど)のことです。単一の製品フィードでカタログ内のすべての製品を表すことも、複数の製品フィードを作成し、各フィードが1つの国、または1つの部署の製品を表すようにすることもできます。フィード、リファレンスと、アイテム、リファレンスを参照してください。

製品カタログを作成した後は、catalog idを使用して製品フィードを作成し、スケジュールを設定します。

use FacebookAds\Object\ProductFeed;
use FacebookAds\Object\Fields\ProductFeedFields;
use FacebookAds\Object\Fields\ProductFeedScheduleFields;

$product_feed = new ProductFeed(null, <PRODUCT_CATALOG_ID>);

$product_feed->setData(array(
  ProductFeedFields::NAME => 'Test Feed',
  ProductFeedFields::SCHEDULE => array(
    ProductFeedScheduleFields::INTERVAL => 'DAILY',
    ProductFeedScheduleFields::URL =>'http://www.example.com/sample_feed.tsv',
    ProductFeedScheduleFields::HOUR => 22,
  ),
));

$product_feed->create();
from facebookads.adobjects.productfeed import ProductFeed

product_feed = ProductFeed(parent_id=<PRODUCT_CATALOG_ID>)

product_feed[ProductFeed.Field.name] = 'Test Feed'
product_feed[ProductFeed.Field.schedule] = {
    'interval': 'DAILY',
    'url': 'http://www.example.com/sample_feed.tsv',
    'hour': 22,
}

product_feed.remote_create()
ProductFeed productFeed = new ProductCatalog(<PRODUCT_CATALOG_ID>, context).createProductFeed()
  .setName("Test Feed")
  .setSchedule("{\"interval\":\"DAILY\",\"url\":\"http://www.example.com/sample_feed.tsv\",\"hour\":\"22\"}")
  .execute();
String product_feed_id = productFeed.getId();
curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv", 
    "hour": 22 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PRODUCT_CATALOG_ID>/product_feeds

サポートされる形式

製品フィードは、次のいずれかの形式で提供します。

フィード形式 説明 サンプルフィード

CSV

コンマ区切り値。最初の行は列見出しです。コンマを含むフィールドは、"二重引用符"で囲みます

ダウンロード(右クリックして[名前を付けてリンク先を保存])

TSV

タブ区切り値。最初の行は列見出しです。コンマを含むフィールドは、"二重引用符"で囲みます

ダウンロード(右クリックして[名前を付けてリンク先を保存])

RSS XML

通常、自動フィード提供システムまたはウェブサーバーによって生成される形式です。アイテムXMLノードのセットが製品リストを表します。先頭に<?xml宣言タグを置く必要があります。

ダウンロード(右クリックして[名前を付けてリンク先を保存])

ATOM XML

通常、自動フィード提供システムまたはウェブサーバーによって生成される形式です。アイテムXMLノードのセットが製品リストを表します。先頭に<?xml宣言タグを置く必要があります。

ダウンロード(右クリックして[名前を付けてリンク先を保存])

必須フィールド

すべての列名は英語で指定してください。

名前 説明

id


最大サイズ:100

String

アイテムのユニークID。製品のバリエーションの1つとして設定できます。同じIDのインスタンスが複数あると、すべてのインスタンスが無視されます。このIDは、製品がインポートされた後、retailer_idにマップされます。

availability

String

アイテムの在庫があるかどうか。可能な値は次のとおりです。


in stock - アイテムはすぐに出荷できます。


out of stock - 在庫補充の予定はありません。


preorder - 入荷の予定があります。


available for order - 1~2週間以内に発送できます。


discontinued - 製造中止


condition

string

製品の状態: newrefurbishedused

description


最大サイズ:5000

string

製品について説明する短いテキスト。

image_link


string

広告で使用されているアイテム画像へのリンク。カルーセル形式ではアスペクト比率が1:1の画像(600x600px)を使用するのに対して、単一製品の広告では1.91:1のアスペクト比率の画像(1200x630px)を使用します。用途に応じて適切な画像を提供してください。

link


string

利用者がアイテムを購入できる販売業者のサイトへのリンク。

title


最大サイズ:100

string

アイテムのタイトル。

price

string

アイテムのコストと通貨。通貨は、ISO 4217通貨コードに従う必要があります(例: 9.99 USD)

gtinmpnbrand


最大サイズ:70

string

gtin - Global Trade Item Number (GTIN)。UPC、EAN、JAN、ISBNが含まれます。



mpn - 製品のユニークな製造者ID。



brand - ブランドの名前。



gtinmpnbrandのいずれかが必須です。

任意フィールド、製品ディープリンク

ディープリンクは、製品フィード内でApp Linksの指定の後に提供します。製品フィード内のディープリンク情報は、FacebookがWebクローラーでApp Linksメタデータから収集するどんな情報よりも優先されます。

App Linksからのディープリンク情報が既にある場合は、このデータを指定する必要はありません。Facebookは、App Linksからの情報を使用して正しいディープリンクを表示します。広告の中にディープリンクを表示するには、ダイナミック広告、広告テンプレートを参照してください。

名前 説明

ios_url

iOSアプリのカスタムスキームをURLで表したもの

example-ios://electronic

ios_app_store_id

App Store用のアプリID

1234

ios_app_name

表示するアプリ名

Electronic Example iOS

iphone_url

iPhoneアプリのカスタムスキームをURLで表したもの

example-iphone://electronic

iphone_app_store_id

App Store用のアプリID

5678

iphone_app_name

表示するアプリ名

Electronic Example iPhone

ipad_url

iPhoneアプリのカスタムスキーム

example-ipad://electronic

ipad_app_store_id

App Store用のアプリID

9010

ipad_app_name

表示するアプリ名

Electronic Example iPad

android_url

AndroidアプリのカスタムスキームをURLで表したもの

example-android://electronic

android_package

インテントを生成するための完全修飾パッケージ名

com.electronic

android_app_name

表示するアプリ名

Electronic Example Android

windows_phone_url

Windows PhoneアプリのカスタムスキームをURLで表したもの

example-windows://electronic

windows_phone_app_id

App Store用のアプリID (GUID)

ee728e01-7727-4168-9c8f-85c7eef40112

windows_phone_app_name

表示するアプリ名

Electronic Example Windows

iOSの場合、iOS全般に対応したアプリと異なる場合にのみ、iPhoneまたはiPadアプリ情報を指定してください。

製品グループは、製品のすべてのバリエーションをグループ化するために使用します。製品グループを指定すると、ほとんど同じ製品で、色、素材、サイズ、パターンなどにバリエーションのある製品を識別することができます。グループがあると、特定の製品の追加の色、スタイル、パターンをより簡単に宣伝できます。1つの製品グループに属するすべての製品は、同じitem_group_idを共有します。ダイナミック広告では、ピクセルまたはアプリから受け取ったシグナルに基づいて、グループの中からアイテムが1つだけ選択されます。

組み込むことのできる任意フィールドは、以下のとおりです。

名前 最大サイズ

additional_image_link


最大サイズ:2000

string

最大10個までの追加画像を組み込むことができます。画像のURLをコンマ区切りで指定します。

age_group

string

製品の年齢グループ。可能な値は、newborninfanttoddlerkidsadultです。

color


最大サイズ:100

string

アイテムの色。

expiration_date

ISO-8601 (YYYY-MM-DD)

製品の有効期限。製品の有効期限が切れると、Facebookによってその製品がすべての製品セットから除外され、広告に表示されなくなります。

gender

string

次のオプションがあります: malefemaleunisex

item_group_id

string

ある製品のバリエーションであるアイテム用。バリエーションであるすべてのアイテムに対して同じitem_group_idを指定します。たとえば、赤色のポロシャツは、ポロシャツのバリエーションの1つです。Facebookでは、フィードを取得した時点でこのIDがretailer_product_group_idにマップされます。ダイナミック広告では、ピクセルまたはアプリから受け取ったシグナルに基づいて、グループの中からアイテムが1つだけ選択されます。

google_product_category


最大サイズ:250

string

Googleの製品分類法による定義済みの値。例: Apparel & Accessories > Clothing > Dresses

material


最大サイズ:200

string

leatherdenimcottonなど、製品の原料となっている素材。

pattern


最大サイズ:100

string

製品にプリントされたパターンやグラフィック。

product_type


最大サイズ:750

string

製品に対して小売店が定義したカテゴリ。

TSVの場合の例:
Home & Garden > Kitchen & Dining > Appliances > Refrigerators

XMLの場合の例: <product_type>Home & Garden > Kitchen & Dining > Appliances > Refrigerators</product_type>

sale_price

string

アイテムが特価販売中の場合の割引価格。通貨は、ISO 4217通貨コードとして指定する必要があります。たとえば、9.99 USDのように指定します

sale_price_effective_date

ISO-8601 (YYYY-MM-DD)

特価販売の開始日時と終了日時を、次のようにスラッシュで区切って指定します。


2014-11-01T12:00-0300/2014-12-01T00:00-0300

shipping

string

国や地域ごとに異なる価格を設定したBLOB。異なる地域をコンマで区切ります。形式はCOUNTRY:STATE:SHIPPING_TYPE:PRICEにする必要があります。

例:

US:CA:Ground:9.99 USD,US:NY:Air:15.99 USD

shipping_weight

string

アイテムの発送時の重さ。指定可能な重さの単位は、lbozgkgだけです。例: 3 lbs

size

string

アイテムのサイズ。たとえば、シャツであればSmallXLなどがあります。

custom_label_0


最大サイズ:100

string

アイテムに関する任意の追加情報。

custom_label_1


最大サイズ:100

string

アイテムに関する任意の追加情報。

custom_label_2


最大サイズ:100

string

アイテムに関する任意の追加情報。

custom_label_3


最大サイズ:100

string

アイテムに関する任意の追加情報。

custom_label_4


最大サイズ:100

string

アイテムに関する任意の追加情報。

製品フィードのテストは、製品フィードのデバッグページで実行できます。CSV、TSVの場合は先頭行(列見出しの行)といくつかの製品をコピーし、XMLの場合はいくつかのアイテムかエントリをコピーして、それらの行をテキスト領域に貼り付けて、検証します。

ステップ3:アップデートオプション

製品情報を最新に保つには、次のいずれかの方法を使用します。

  1. スケジュールされた製品フィードのフェッチ
  2. 製品フィードのダイレクトアップロード
  3. 製品をアップデートする

スケジュールされた製品フィードのフェッチ

定義したスケジュールでFacebookにより製品フィードがシステムからフェッチされます。update_schedulescheduleという2つのタイプのスケジュールが定義可能です。update_scheduleによって作成されたアップロードでは、フィードファイルに指定した情報を利用して新しいアイテムが作成されるか、既存のアイテムが更新されます。scheduleによって作成されたアップロードでは、フィードに基づいて完全な更新操作が行われます。ファイルにない製品は削除され、既存の製品は更新され、新しい製品が作成されます。必要に応じてどちらか一方、あるいは両方のスケジュールを使用できます。

例: HOURLYの頻度を指定したupdate_scheduleと、DAILYの頻度を指定した置き換えのschedule

フィードの処理速度を速くするため、update_scheduleはフィードファイル内の変更されたデータのみについてセットアップすることをおすすめします。特に、ホリデーシーズンのセールや、価格、在庫状況が頻繁に変わる場合にはそのようにしてください。また、在庫切れの製品アイテムは、フィードから削除するのではなく、「在庫切れ」としてマークするようおすすめします。そうすることで、Facebookが在庫のある類似製品でユーザーを再びターゲット設定できます。

curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv"
  }' \
  -F 'update_schedule={ 
    "interval": "HOURLY", 
    "url": "http:\/\/www.example.com\/sample_feed_updates.tsv",
    "hour": 22
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.10/<PRODUCT_CATALOG_ID>/product_feeds

応答は次のようになります。

{ "id" : {PRODUCT_FEED_ID} }

製品フィードのリファレンス製品フィードのスケジュールのリファレンスを参照してください。


製品フィードのダイレクトアップロード

スケジュールされたフィードのフェッチに加えて、単発のアップロードを手動で実行することもできます。

公開された場所でホストされているフィードファイルの例を次に示します。

curl \
-F "url=http://www.example.com/sample_feed.xml" \
-F "access_token={ACCESS_TOKEN}" \
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads

ローカルマシンからフィードファイルを直接アップロードする例を次に示します。ファイルのパスは、使用ケースに応じて適宜変更する必要があります。

curl \
-F "file=@catalog.csv;type=text/csv" \
-F "access_token={ACCESS_TOKEN}" \
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads

任意で、update_onlytrueに設定することができます。この場合、新規のアイテムは作成され、既存のアイテムはアップデートされますが、フィードからアイテムが削除されることはありません。既存のアイテムをアップデートするためのidの指定だけは必須です。こうすると、フェッチの時間とファイルの処理時間が短縮されます。

たとえば、フィード内の100個のアイテムについて価格とカスタムラベルだけをアップデートする場合には、ダイレクトアップロードを使用します。該当するアイテムのidpricecustom_label_0だけを入れたファイルを提供し、update_onlytrueに設定します。使用可能なすべてのファイル形式がサポートされますが、最も一般的なものはTSVとCSVです。

サンプルファイルは次のとおりです。

フィード形式 用途 サンプルフィード

CSV

一部のアイテムについて、priceavailabilityをアップデートします。

ダウンロード(右クリックして[名前を付けてリンク先を保存])

TSV

一部のアイテムについてsale_priceを再設定し、custom_label_0をアップデートします。

ダウンロード(右クリックして[名前を付けてリンク先を保存])

手動アップロードのリファレンスを参照してください。

製品フィードでエラーが起きる場合は、製品フィードのアップロードエラー、リファレンスを参照してください。


個々の製品をアップデートする

個々の製品のデータをリアルタイムにアップデートします。次のように、アップデート対象フィールドをHTTP POSTに組み込みます。

https://graph.facebook.com/catalog:{PRODUCT_CATALOG_ID}:{base64urlencode(retailer_id)}

ここで、retailer_idは、製品フィードからの製品IDです。これはbase64urlでエンコードする必要があります。変更可能な製品フィールドについては、製品カタログの製品、リファレンスを参照してください。

このAPIでの個々の製品のアップデート、作成、削除のある製品フィードの指定はしないでください。このAPIによって作成されたアイテムのアップデートや削除は、フィードで追跡されないため、実行されないことがあります。

以下も参照してください: * スケジュールされたフィードのフェッチのリファレンス * フィードのダイレクトアップロードのリファレンス * 製品フィードのリファレンス * カタログ内の製品フィード * 製品アイテムのリファレンス * カタログ内での製品の検索

大規模なカタログのバッチアップロード

数百万個の製品を含み、在庫が頻繁に変動する、非常に大規模なカタログをアップロードします。多数の製品の作成、アップデート、削除を、1つのHTTPリクエストで実行できます。このAPIには、次の2つのエンドポイントがあります。

  • POST [/{product_catalog_id}/batch](#send-batch-request) - カタログ内のアイテムを作成、アップデート、削除するリクエストのバッチを送信します。
  • GET [/{product_catalog_id}/check_batch_request_status](#batch-request-status) - リクエストのステータスを確認します。

製品アップデートの送信

カタログ内の製品を作成、アップデート、削除するには、必要な変更を指定してHTTP POSTを実行します。1回の呼び出しで最大500件までのアップデートが可能です。各カタログについて、1時間当たり最大100回まで呼び出しが可能です。

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$requests =  array(
    array(
        'method' => 'CREATE',
        'retailer_id' => 'retailer-product-id-123',
        'data' => array(
          'availability' => 'in stock',
          'brand' => 'Niky',
          'category' => 't-shirts',
          'currency' => 'USD',
          'description' => 'This is the product description.',
          'image_url' => 'http://www.images.example.com/t-shirts/1.png',
          'name' => 'My product name',
          'price' => '100',
          'url' => 'http://www.example.com/t-shirts/1.html',
        ),
    ),
);


$data = Api::instance()->call(
  '/'.<CATALOG_ID>.'/batch',
  RequestInterface::METHOD_POST,
  array('requests' => $requests))->getContent();
curl \
  -F 'requests=[ 
    { 
      "method": "CREATE", 
      "retailer_id": "retailer-product-id-123", 
      "data": { 
        "availability": "in stock", 
        "brand": "Niky", 
        "category": "t-shirts", 
        "currency": "USD", 
        "description": "This is the product description.", 
        "image_url": "http:\/\/www.images.example.com\/t-shirts\/1.png", 
        "name": "My product name", 
        "price": "100", 
        "url": "http:\/\/www.example.com\/t-shirts\/1.html" 
      } 
    } 
  ]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CATALOG_ID>/batch

この呼び出しから返されるハンドルを使用して、バッチリクエストのステータスを確認できます。リクエストのステータスの取得を参照してください。

{
  "handles": ["AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I"]
}
パラメーター 説明

requests

Object

すべてのリクエストを含んだJSONオブジェクト。

requests.method

string

CREATEUPDATEDELETEのいずれか。

requests.retailer_id

string

小売店が指定した製品id

requests.data

Object

製品のフィールドと値の入ったJSONオブジェクト。methodCREATEの場合は、製品に対するすべての必須フィールドを含める必要があります。methodUPDATEの場合は、任意のフィールドを含めることができます。指定したフィールドだけがFacebookによってアップデートされます。

アイテムのCREATEUPDATEで使用できるdataフィールドでサポートされている値は次のとおりです。

  • additional_image_urls
  • availability
  • age_group
  • applinks
  • brand
  • category
  • color
  • condition
  • currency
  • custom_label_0
  • custom_label_1
  • custom_label_2
  • custom_label_3
  • custom_label_4
  • description
  • gender
  • gtin
  • image_url
  • manufacturer_part_number
  • name
  • pattern
  • price
  • product_type
  • sale_price
  • sale_price_end_date
  • sale_price_start_date
  • shipping
  • size
  • url

ディープリンク情報のためのapplinksを使用することができ、これは製品ディープリンクと同様に機能します。形式は次のとおりです。

"applinks" : {
  "ios": [{
    "url":"example-ios://electronic",
    "app_store_id":42,
    "app_name":"Electronic Example iOS"
  }],
  "iphone": [{
    "url":"example-iphone://electronic",
     "app_store_id":43,
     "app_name":"Electronic Example iPhone"
  }],
  "ipad": [{
    "url":"example-ipad://electronic",
     "app_store_id":44,
     "app_name":"Electronic Example iPad"
  }],
  "android": [{
    "url":"example-android://electronic",
     "package":"com.electronic",
     "class":"com.electronic.Example",
     "app_name":"Electronic Example Android",
  }],
  "windows_phone": [{
    "url":"example-windows://electronic",
     "app_id":"64ec0d1b-5b3b-4c77-a86b-5e12d465edc0",
     "app_name":"Electronic Example Windows"
  }]
}

製品カタログ、作成、リファレンスを参照してください。

リクエストのステータスの取得

バッチリクエストのステータスを取得するには、{product_catalog_id}/batchに対する呼び出しから返されるハンドルを使用します。

curl -G \
-d 'handle=AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I'
-d 'access_token={ACCESS_TOKEN}'
https://graph.facebook.com/{API_VERSION}/{PRODUCT_CATALOG_ID}/check_batch_request_status

応答は次のようになります。

{
  "data": [
    {
      "handle": "AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26Q",
      "status": "finished",
      "errors_total_count": 1,
      "errors": [
        {
          "line": 0,
          "id": "retailer-4",
          "message": "Invalid value: Value passed at position 0 (id=retailer-199) is invalid: \"You cannot create a EntProductItem without required field Availability\""
        }
      ]
    }
  ]
}

製品カタログ、リファレンス、バッチステータスの確認を参照してください。

製品フィードのルール

ルールを使用して、進行中のフィードアップロードのエラーを修正し、防止します。毎回のフィードアップロードにFacebookによって適用されるルールを指定できます。ルールは、適用先の属性(列)により、ルールタイプにより、またパラメーターにより指定します。現時点で、バッチAPIとともにルールを使用することはできません。次のようなタイプのルールを指定できます。

  • マッピングルール - フィードファイル内の属性(列の名前)を、認識可能な属性にマッピングします。
  • 値のマッピングルール - フィードファイル内のフィールド(列の値)を、認識可能なフィールドにマッピングします。
  • 大文字小文字のルール - フィールド内の単語の大文字小文字を変更します。たとえば、すべてが大文字の説明を小文字に変更します。

たとえば、次のような問題をマッピングルールや値のマッピングルールを使用して修正できます。

  • 属性の入力ミスgavailabilityavailabilityに修正する
  • 認識できない列挙値InStockin stockに修正する
  • 価格の形式を45$から45.00 USDに変更する
  • 条件: Neuを、条件: Newに翻訳する

大文字小文字のルールは、次のような種類の問題に対処するために利用できます。

  • すべてが大文字の説明BRAND NEW WITH LEATHER DETAIL...Brand new with leather detail...に変更する
  • すべてが大文字のタイトルFACEBOOK T-SHIRTFacebook T-shirtに修正する

推奨されるルール

フィードのエラーを修正するためにFacebookによって推奨されているルールを取得することができます。アップロードセッションに対して推奨されるルールを見るには、次の手順を実行します。

  • アップロードセッションを取得します。
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads
  • アップロードセッションのエラーを取得します。
https://graph.facebook.com/{API_VERSION}/{UPLOAD_SESSION_ID}/errors
  • アップロードエラーに対して推奨されるルールを取得します。
curl -i -X GET 
 "https://graph.facebook.com/{API_VERSION}/{UPLOAD_ERROR_ID}/suggested_rules?access_token={ACCESS_TOKEN}

推奨を含んだ応答の例は次のとおりです。

"data": [
  
    "attribute": "description",
    "type": "letter_case_rule",
    "params": [
      
        "key": "type",
        "value": "capitalize_first"
      
    ]
  
]

詳細については、推奨されるルールAPI、リファレンスを参照してください。

エンドポイント

フィードにルールを追加する

フィードにルールを適用するには、フィードにルールを関連付ける必要があります。次のURLに対してHTTP POST呼び出しを行います。

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/rules?attribute={ATTRIBUTE}&amp;rule_type={RULE_TYPE}&amp;params={PARAMS}

例:

curl -i -X POST 
 -d "attribute=google_product_category" 
 -d "rule_type=mapping_rule" 
 -d "params=%7B'map_from'%3A%20'gcategory'%7D" 
 -d "access_token={ACCESS_TOKEN}" 
 "https://graph.facebook.com/v2.9/{PRODUCT_FEED_ID}/rules" 
 // sample response
 
  "id": "{RULE_ID}"

paramsは次のような形式にする必要があります。

ルールのタイプ 形式 注記

マッピングルール

"map_from": <string>

"map_from": "gavailability"

値のマッピングルール

<string> : <string>

"InStock": "in stock"

値のマッピングルールでは、マッピングの数は10件まで、文字列の長さは20までに制限されています。

大文字小文字のルール

"type": 次のいずれか: "capitalize_first"、"capitalize_all"、"to_upper"、"to_lower"

"type": "capitalize_first"

詳細については、製品フィードルールAPI、リファレンスを参照してください。

現在のルールを取得する

フィードに関連付けられているすべてのルールをリストするには、次のURLに対してHTTP GET呼び出しを行います。

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/rules

詳細については、製品フィードルールAPI、リファレンスを参照してください。

ルールのアップデートと削除

フィードに関連付けられたルールを変更する場合、いずれかのパラメーターをアップデートするにはHTTP POST呼び出しを行い、ルールを削除するにはHTTP DELETE呼び出しを行います。アップデートできるのはパラメーターだけです。attributeまたはrule_typeを変更する場合は、ルールを削除してから、もう一度作成してください。

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_RULE_ID}?params={PARAMS}

詳細については、製品フィードルールAPI、リファレンスを参照してください

次:オーディエンスシグナルの収集と製品オーディエンスの作成

製品オーディエンスの作成