카탈로그 설정

다이내믹 광고를 설정하려면 카탈로그, 카탈로그 피드 및 제품 세트가 필요합니다.

카탈로그는 광고할 품목 리스트가 포함된 구조화된 데이터 파일입니다. 각 줄에는 다이내믹 광고를 만드는 데 필요한 모든 정보가 포함되어 있습니다. 제품 피드는 제품 카탈로그를 최신으로 유지하기 위한 동적인 데이터 업로드입니다.

이 문서에서는 카탈로그 설정 방법을 자세히 설명합니다.

다이내믹 광고 시작하기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). 카탈로그에서 단일 제품 피드로 모든 제품을 나타낼 수 있습니다. 또는 각 피드를 포함한 여러 제품 피드로 단일 국가나 사업부의 제품을 나타낼 수 있습니다. 피드, 참조품목, 참조를 참조하세요.

제품 카탈로그를 만든 후에는 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

문자열

품목의 고유 ID. 제품의 변형일 수 있습니다. 동일한 ID의 인스턴스가 여러 개 있는 경우 모든 인스턴스를 무시합니다. 제품을 가져온 후 retailer_id로 매핑됩니다.

availability

문자열

품목에 재고가 있는지 여부. 허용되는 값:


in stock - 품목이 즉시 배송됩니다.


out of stock - 재고를 채울 계획이 없습니다.


preorder- 나중에 출시됩니다.


available for order - 1~2주 이내에 배송됩니다.


discontinued - 단종되었습니다.


condition

문자열

제품 상태: new, refurbished 또는 used

description


최대 크기: 5000

문자열

간단한 제품 설명 글.

image_link


문자열

광고에 사용한 품목 이미지 링크. 슬라이드 형식은 가로세로비가 1:1인 정사각형 이미지(600x600px)를 사용하지만 단일 제품 광고는 가로세로비가 1.91:1인 이미지(1200x630px)를 사용합니다. 용도에 적합한 이미지를 제공하세요.

link


문자열

사용자가 품목을 구매할 수 있는 판매자 사이트 링크.

title


최대 크기: 100

문자열

품목 제목.

price

문자열

품목 가격 및 통화. 통화는 ISO 4217 통화 코드를 준수해야 합니다(예: 9.99 USD).

gtin, mpn 또는 brand


최대 크기: 70

문자열

gtin - 국제거래단위번호(GTIN)에는 UPC, EAN, JAN 및 ISBN이 포함될 수 있습니다.



mpn - 제품의 고유 제조사 ID.



brand - 브랜드 이름.



gtin, mpn 또는 brand가 필요합니다.

선택 필드, 제품 딥 링크

앱 링크 사양에 따라 제품 피드에 딥 링크를 제공합니다. 제품 피드의 딥 링크 정보는 Facebook이 웹 크롤러로 앱 링크 메타데이터로 수집하는 모든 정보보다 우선합니다.

앱 링크의 딥 링크 정보가 있다면 이 데이터를 지정할 필요가 없습니다. Facebook은 앱 링크의 정보를 사용하여 올바른 딥 링크를 표시합니다. 광고에 딥 링크를 표시하려면 다이내믹 광고, 광고 템플릿을 참조하세요.

이름 설명 예시

ios_url

URL로 표시되는 iOS 앱의 맞춤 구성표

example-ios://electronic

ios_app_store_id

App Store의 앱 ID

1234

ios_app_name

표시할 앱 이름

Electronic Example iOS

iphone_url

URL로 표시되는 iPhone 앱의 맞춤 구성표

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

URL로 표시되는 Android 앱의 맞춤 구성표

example-android://electronic

android_package

인텐트 생성을 위한 정규화된 패키지 이름

com.electronic

android_app_name

표시할 앱 이름

Electronic Example Android

windows_phone_url

URL로 표시되는 Windows Phone 앱의 맞춤 구성표

example-windows://electronic

windows_phone_app_id

App Store에서 사용하는 GUID 형식의 앱 ID

ee728e01-7727-4168-9c8f-85c7eef40112

windows_phone_app_name

표시할 앱 이름

Electronic Example Windows

iOS의 경우 일반 iOS 앱의 정보와 다르면 iPhone 또는 iPad 앱 정보만 제공합니다.

제품 그룹을 사용하여 모든 제품 변형을 그룹화합니다. 거의 동일하지만 색상, 재료, 크기 또는 패턴과 같은 변형이 있는 제품을 식별하려면 제품 그룹을 제공합니다. 그룹을 사용하면 특정 제품의 추가 색상, 스타일 또는 패턴을 쉽게 광고할 수 있습니다. 제품 그룹의 모든 제품은 같은 item_group_id를 공유합니다. 다이내믹 광고는 픽셀이나 앱에서 수신한 신호에 따라 그룹에서 1개 품목만 선택합니다.

포함할 수 있는 선택 필드는 다음과 같습니다.

이름 유형 최대 크기

additional_image_link


최대 크기: 2000

문자열

최대 10개까지 추가 이미지를 포함할 수 있으며, 쉼표로 구분된 URL 형식으로 제공합니다.

age_group

문자열

제품의 나이 그룹. 허용되는 값은 newborn, infant, toddler, kidsadult입니다.

color


최대 크기: 100

문자열

품목 색상.

expiration_date

ISO‑8601 (YYYY‑MM‑DD)

제품 만료. 제품이 만료되면 Facebook은 모든 제품에서 해당 제품을 제외하고 광고에 표시하지 않습니다.

gender

문자열

옵션: male, femaleunisex

item_group_id

문자열

제품의 변형인 품목의 경우. 모든 변형 품목에 동일한 item_group_id를 제공하세요. 예를 들어 빨간색 폴로 셔츠는 폴로 셔츠의 변형입니다. 피드를 가져오면 Facebook은 이를 retailer_product_group_id에 매핑합니다. 다이내믹 광고는 픽셀이나 앱에서 수신한 신호에 따라 그룹에서 1개 품목만 선택합니다.

google_product_category


최대 크기: 250

문자열

Google 제품 분류 체계에서 사전 지정된 값. 예: Apparel & Accessories > Clothing > Dresses

material


최대 크기: 200

문자열

leather, denim 또는 cotton 등 제품을 구성하는 재료.

pattern


최대 크기: 100

문자열

제품의 패턴 또는 그래픽 출력.

product_type


최대 크기: 750

문자열

판매점이 정의한 제품 카테고리.

예: TSV 형식
Home & Garden > Kitchen & Dining > Appliances > Refrigerators

예: XML 형식 <product_type>Home & Garden > Kitchen & Dining > Appliances > Refrigerators</product_type>

sale_price

문자열

품목이 세일 중일 경우 할인 가격. 통화는 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

문자열

각 국가와 지역에 따라 다양한 가격을 포함한 블랍. 각 지역은 쉼표로 구분합니다. 형식은 COUNTRY:STATE:SHIPPING_TYPE:PRICE여야 합니다.

예:

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

shipping_weight

문자열

품목의 배송 중량. 허용 중량 단위: lb, oz, g, kg. 예: 3 lbs

size

문자열

품목 크기. 예를 들어 셔츠는 Small 또는 XL로 표시할 수 있습니다.

custom_label_0


최대 크기: 100

문자열

선택 사항. 품목에 대한 추가 정보입니다.

custom_label_1


최대 크기: 100

문자열

선택 사항. 품목에 대한 추가 정보입니다.

custom_label_2


최대 크기: 100

문자열

선택 사항. 품목에 대한 추가 정보입니다.

custom_label_3


최대 크기: 100

문자열

선택 사항. 품목에 대한 추가 정보입니다.

custom_label_4


최대 크기: 100

문자열

선택 사항. 품목에 대한 추가 정보입니다.

제품 피드 디버그 페이지에서 제품 피드를 테스트하세요. CSV/TSV의 경우 첫 번째 행(열 헤더 행)과 몇 개의 제품을 복사합니다. XML의 경우 몇 가지 품목/항목과 함께 XML을 복사하고 텍스트 영역에 붙여넣은 다음 검증합니다.

3단계: 옵션 업데이트

제품 정보를 최신으로 유지하려면 다음 중 하나를 사용하세요.

  1. 예약된 제품 피드 가져오기
  2. 제품 피드 직접 업로드
  3. 제품 업데이트

예약된 제품 피드 가져오기

Facebook이 지정된 일정에 따라 시스템에서 제품 피드를 가져옵니다. 정의 가능한 일정 유형은 update_scheduleschedule, 이렇게 두 가지가 있습니다. 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개 품목의 가격과 맞춤 레이블만 업데이트하려면 직접 업로드를 사용합니다. 해당 품목에 대해 id, pricecustom_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로 생성한 품목의 업데이트 또는 삭제 작업이 중단될 수 있습니다.

기타 참조 자료: * 예약된 피드 가져오기 참조 * 피드 직접 업로드 참조 * 제품 피드 참조 * 카탈로그의 제품 피드 * 제품 품목 참조 * 카탈로그에서 제품 검색

대형 카탈로그의 배치 업로드

수백만 개의 제품이 포함되고 재고 변동이 잦은 매우 큰 규모의 카탈로그를 업로드합니다. 한 번의 HTTP 요청으로 수많은 제품을 생성, 업데이트 및 삭제할 수 있습니다. API에는 2개의 엔드포인트가 있습니다.

  • POST [/{product_catalog_id}/batch](#send-batch-request) - 카탈로그에서 품목을 생성, 업데이트, 삭제하기 위한 요청 배치를 전송합니다.
  • GET [/{product_catalog_id}/check_batch_request_status](#batch-request-status) - 요청 상태를 확인합니다.

제품 업데이트 전송

카탈로그에서 제품을 생성, 업데이트, 삭제하려면 적용하고자 하는 변경 사항과 함께 HTTP POST를 호출합니다. 한 번의 호출로 최대 500개까지 업데이트할 수 있습니다. 각 카탈로그에서 수행할 수 있는 호출은 시간당 최대 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

개체

모든 요청이 포함된 JSON 개체.

requests.method

문자열

CREATE, UPDATE 또는 DELETE.

requests.retailer_id

문자열

판매점이 부여한 제품 id.

requests.data

개체

제품에 대한 필드와 값이 포함된 JSON 개체. methodCREATE인 경우 이 개체에 제품의 모든 필수 필드가 포함되어야 합니다. methodUPDATE인 경우 아무 필드나 포함할 수 있습니다. Facebook은 지정된 필드만 업데이트합니다.

data 필드에서 지원되고 CREATEUPDATE 품목에 사용할 수 있는 값:

  • 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에서는 규칙을 사용할 수 없습니다. 제공 가능한 규칙 유형은 다음과 같습니다.

  • 매핑 규칙 - 피드 파일에서 특성(열 이름)을 인식 가능한 특성으로 매핑합니다.
  • 값 매핑 규칙 - 피드 파일의 필드(열 값)를 인식 가능한 필드로 매핑합니다.
  • 대소문자 규칙 - 필드에서 대소문자를 변경합니다. 예를 들어 모든 대문자 설명을 소문자로 변경합니다.

예를 들어 매핑과 값 매핑 규칙으로 다음과 같은 문제를 해결할 수 있습니다.

  • gavailability에서 availability로 특성 오타 수정
  • 인식되지 않은 열거형 InStockin stock으로 수정
  • 가격 형식을 45$에서 45.00 USD로 변경
  • 조건: New에서의 번역 조건: Neu

대소문자 규칙을 사용하여 다음과 같은 유형의 문제를 해결할 수 있습니다.

  • 모두 대문자로 된 설명 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, 참조를 참조하세요.

엔드포인트

피드에 규칙 추가

피드에 규칙을 적용하려면 규칙을 피드에 연결해야 합니다. 다음에 대해 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": one of : "capitalize_first", "capitalize_all", "to_upper", "to_lower"

"type": "capitalize_first"

자세한 정보는 제품 피드 규칙 API, 참조를 참조하세요.

최신 규칙 가져오기

피드와 관련된 모든 규칙을 표시하려면 다음에 대해 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, 참조를 참조하세요.

다음: 타겟 신호 수집 및 제품 타겟 구축

제품 타겟 구축