ตั้งค่าแค็ตตาล็อก

ในการตั้งค่าโฆษณาแบบไดนามิก คุณจะต้องมีแค็ตตาล็อก ฟีดแค็ตตาล็อก และชุดสินค้า

แค็ตตาล็อกของคุณเป็นไฟล์ข้อมูลแบบมีโครงสร้างที่มาพร้อมกับรายการสินค้าที่คุณต้องการแสดงโฆษณา แต่ละบรรทัดประกอบด้วยข้อมูลทุกอย่างที่จำเป็นสำหรับการสร้างโฆษณาแบบไดนามิก ฟีดสินค้าเป็นการอัพโหลดข้อมูลของคุณแบบไดนามิกเพื่อทำการอัพเดตแค็ตตาล็อกสินค้าของคุณให้เป็นปัจจุบัน

ในเอกสารฉบับนี้ เราจะอธิบายเกี่ยวกับวิธีการตั้งค่าแค็ตตาล็อกกับคุณทีละขั้นตอนดังต่อไปนี้

ดูการเริ่มต้นใช้งานโฆษณาแบบไดนามิกและการตั้งค่าโฆษณาแบบไดนามิกผ่าน 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

ค่าที่คั่นด้วยเครื่องหมายจุลภาค แถวแรกคือส่วนหัวของคอลัมน์ ล้อมรอบช่องที่มีเครื่องหมายจุลภาคด้วย"เครื่องหมายอัญประกาศ"

ดาวน์โหลด(คลิกขวาและบันทึกลิงก์เป็น (Save Link As))

TSV

ค่าที่คั่นด้วยแท็บ แถวแรกคือส่วนหัวของคอลัมน์ ล้อมรอบช่องที่มีเครื่องหมายจุลภาคด้วย"เครื่องหมายอัญประกาศ"

ดาวน์โหลด(คลิกขวาและบันทึกลิงก์เป็น (Save Link As))

RSS XML

โดยทั่วไปแล้ว รูปแบบจะสร้างโดยระบบผู้ให้บริการฟีดอัตโนมัติหรือเว็บเซิร์ฟเวอร์ ชุดโหนด XML ของสินค้าจะแสดงถึงรายการสินค้าและต้องขึ้นต้นด้วยแท็กประกาศตัวแปร <?xml

ดาวน์โหลด(คลิกขวาและบันทึกลิงก์เป็น (Save Link As))

ATOM XML

โดยทั่วไปแล้ว รูปแบบจะสร้างโดยระบบผู้ให้บริการฟีดอัตโนมัติหรือเว็บเซิร์ฟเวอร์ ชุดโหนด XML ของสินค้าจะแสดงถึงรายการสินค้าและต้องขึ้นต้นด้วยแท็กประกาศตัวแปร <?xml

ดาวน์โหลด(คลิกขวาและบันทึกลิงก์เป็น (Save Link As))

ช่องที่ต้องระบุ

กำหนดชื่อคอลัมน์ทั้งหมดเป็นภาษาอังกฤษ

Name ประเภท Description

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 (600 x 600 พิกเซล) ในขณะที่โฆษณาสินค้าหนึ่งชิ้นจะใช้อัตราส่วนภาพแบบ 1.91:1 (1200 x 630 พิกเซล) ระบุภาพที่เหมาะสมกับการใช้งานของคุณ

link


สตริง

ลิงก์ไปที่เว็บไซต์ของผู้ขายที่คนสามารถซื้อสินค้าได้

title


ขนาดสูงสุด: 100

สตริง

ชื่อสินค้า

price

สตริง

ราคาของสินค้าและสกุลเงิน สกุลเงินควรเป็นไปตามรหัสสกลุเงินมาตรฐาน ISO 4217 เช่น 9.99 USD

gtin, mpn หรือ brand


ขนาดสูงสุด: 70

สตริง

gtin - เลขหมายประจำตัวสินค้าสากล (Global Trade Item Number - GTIN) อาจรวมไปถึง UPC, EAN, JAN และ ISBN



mpn - ID ผู้ผลิตที่ไม่ซ้ำกันสำหรับสินค้า



brand - ชื่อแบรนด์



ต้องมี gtin, mpn หรือ brand อย่างใดอย่างหนึ่ง

ช่องที่ระบุหรือไม่ก็ได้ ลิงก์ตรงของสินค้า

ระบุลิงก์ตรงในฟีดสินค้าตามด้วยข้อกำหนดของลิงก์ที่ไปยังแอพ ข้อมูลลิงก์ตรงในฟีดสินค้าจะดำเนินการกับข้อมูลที่ Facebook รวบรวมมาด้วยเมตาเดตาลิงก์ที่ไปยังแอพด้วยเว็บครอว์เลอร์ของเราเป็นลำดับแรก

หากคุณมีข้อมูลลิงก์ตรงจากลิงก์ที่ไปยังแอพอยู่แล้ว คุณไม่จำเป็นต้องระบุข้อมูลนี้ Facebook ใช้ข้อมูลจากลิงก์ที่ไปยังแอพเพื่อแสดงลิงก์ตรงที่ถูกต้อง ในการแสดงลิงก์ตรงในโฆษณาของคุณ โปรดดูโฆษณาแบบไดนามิก เทมเพลตโฆษณา

Name Description Example

ios_url

ผังแบบกำหนดเองสำหรับแอพ iOS ในรูปแบบ URL

example-ios://electronic

ios_app_store_id

ID ของแอพสำหรับ App Store

1234

ios_app_name

ชื่อของแอพที่ต้องการแสดง

ตัวอย่างอิเล็กทรอนิกส์ iOS

iphone_url

ผังแบบกำหนดเองสำหรับแอพ iPhone ในรูปแบบ URL

example-iphone://electronic

iphone_app_store_id

ID ของแอพสำหรับ App Store

5678

iphone_app_name

ชื่อของแอพที่ต้องการแสดง

ตัวอย่างอิเล็กทรอนิกส์ iPhone

ipad_url

ผังแบบกำหนดเองสำหรับแอพ iPhone

example-ipad://electronic

ipad_app_store_id

ID ของแอพสำหรับ App Store

9010

ipad_app_name

ชื่อของแอพที่ต้องการแสดง

ตัวอย่างอิเล็กทรอนิกส์ iPad

android_url

ผัง แบบกำหนดเองสำหรับแอพ Android ในรูปแบบ URL

example-android://electronic

android_package

ชื่อแพ็คเกจที่ผ่านคุณสมบัติครบถ้วนสำหรับการสร้างวัตถุประสงค์

com.electronic

android_app_name

ชื่อแอพที่จะแสดงผล

ตัวอย่างอิเล็กทรอนิกส์ Android

windows_phone_url

ผังแบบกำหนดเองสำหรับแอพ Windows Phone ในรูปแบบ URL

example-windows://electronic

windows_phone_app_id

App ID เช่น GUID สำหรับ App Store

ee728e01-7727-4168-9c8f-85c7eef40112

windows_phone_app_name

ชื่อแอพที่จะแสดงผล

ตัวอย่างอิเล็กทรอนิกส์ Windows

สำหรับ iOS ให้ระบุข้อมูลแอพ iPhone หรือ iPad เท่านั้น หากมีความแตกต่างไปจากแอพ iOS ทั่วไป

ใช้กลุ่มสินค้าในการจัดกลุ่มตัวเลือกทั้งหมดของสินค้า กำหนดกลุ่มสินค้าเพื่อระบุสินค้าที่แทบจะเหมือนกันทุกประการ แต่มีความแตกต่างกันเล็กน้อย เช่น สี วัสดุ ขนาด หรือลวดลาย กลุ่มช่วยให้การโฆษณาสี สไตล์ หรือลวดลายเพิ่มเติมสำหรับสินค้าชิ้นหนึ่งๆ ทำได้ง่ายยิ่งขึ้น สินค้าทั้งหมดในกลุ่มสินค้าจะมี item_group_id เหมือนกัน ในโฆษณาแบบไดนามิก เราจะเลือกสินค้าเพียงชิ้นเดียวจากกลุ่มตามสัญญาณที่เราได้รับจากพิกเซลหรือแอพ

ช่องแบบไม่ระบุก็ได้ที่คุณสามารถเพิ่มได้มีดังนี้

Name Type Max Size

additional_image_link


ขนาดสูงสุด: 2000

สตริง

คุณสามารถเพิ่มภาพได้สูงสุดอีก 10 ภาพ โดยใช้รูปแบบ URL ที่คั่นด้วยเครื่องหมายจุลภาค

age_group

สตริง

กลุ่มอายุสำหรับสินค้า ค่าที่อนุญาตได้แก่ newborn, infant, toddler, kids และ adult

color


ขนาดสูงสุด: 100

สตริง

สีของสินค้า

expiration_date

ISO‑8601 (ปปปป-ดด-วว)

การหมดอายุของสินค้า หากสินค้าหมดอายุ Facebook จะคัดสินค้านั้นออกจากชุดสินค้าทั้งหมดและไม่แสดงสินค้านั้นในโฆษณา

gender

สตริง

ตัวเลือกประกอบด้วย male, female และ unisex

item_group_id

สตริง

สำหรับสินค้าที่เป็นสินค้าแบบเดียวกัน แต่ตัวเลือกต่างกัน ระบุ item_group_id เดียวกันให้กับสินค้าทั้งหมดที่มีตัวเลือกที่แตกต่างกัน ตัวอย่างเช่น เสื้อโปโลสีแดงเป็นตัวเลือกหนึ่งของเสื้อโปโล Facebook จะส่งรายการนี้ไปที่ retailer_product_group_id เมื่อเราได้รับฟีดของคุณ ในโฆษณาแบบไดนามิก เราจะเลือกสินค้าเพียงชิ้นเดียวจากกลุ่มตามสัญญาณที่เราได้รับจากพิกเซลหรือแอพ

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 (ปปปป-ดด-วว)

วันที่และเวลาเริ่มต้น/สิ้นสุดสำหรับการขายลดราคา คั่นด้วยเครื่องหมายทับ


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_schedule และ schedule การอัพโหลดที่สร้างผ่าน update_schedule จะเป็นการสร้างสินค้าชิ้นใหม่ หรืออัพเดตสินค้าที่มีอยู่ด้วยข้อมูลที่ระบุลงในไฟล์ฟีด การอัพโหลดที่สร้างผ่าน schedule จะส่งผลให้มีการดำเนินการรีเฟรชในฟีดของคุณทั้งหมด ซึ่งเราจะลบสินค้าที่ไม่อยู่ในไฟล์ดังกล่าว อัพเดตสินค้าที่มี และสร้างรายการสินค้าใหม่: คุณสามารถใช้กำหนดเวลาหนึ่งหรือสองรายการก็ได้ตามความต้องการของคุณ

เช่น update_schedule ที่มีความถี่ HOURLY และตัวแทนที่ schedule ที่มีความถี่ DAILY

เราขอแนะนำให้ตั้งค่า 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_only เป็น true ซึ่งจะทำหรือไม่ทำก็ได้ เราสร้างรายการสินค้าใหม่และอัพเดตสินค้าที่มีอยู่ แต่จะไม่ลบสินค้าออกจากฟีด คุณต้องระบุ id เพื่ออัพเดตสินค้าที่มีอยู่ ซึ่งจะช่วยลดเวลาในการดึงข้อมูลและดำเนินการกับไฟล์ของคุณ

ตัวอย่างเช่น หากต้องการอัพเดตเฉพาะราคาและป้ายที่กำหนดเองสำหรับสินค้า 100 รายการในฟีด ให้ใช้การอัพโหลดโดยตรง ให้ไฟล์พร้อมกับ id, price และ custom_label_0 สำหรับสินค้าดังกล่าวเท่านั้น รวมไปถึง update_only ที่ตั้งค่าเป็น true เรารองรับรูปแบบไฟล์ที่ระบุไว้ทั้งหมด โดยที่รูปแบบทั่วไปคือ TSV และ CSV

ไฟล์ตัวอย่าง:

รูปแบบฟีด กรณีการใช้งาน ฟีดตัวอย่าง

CSV

อัพเดต price และ availability สำหรับชุดย่อยของสินค้า

ดาวน์โหลด(คลิกขวาและบันทึกลิงก์เป็น (Save Link As))

TSV

รีเซ็ต sale_price และอัพเดต custom_label_0 สำหรับชุดย่อยของสินค้า

ดาวน์โหลด(คลิกขวาและบันทึกลิงก์เป็น (Save Link As))

ดูข้อมูลอ้างอิงการอัพโหลดด้วยตัวเอง

หากคุณพบข้อผิดพลาดในฟีดสินค้าของคุณ โปรดดูข้อมูลอ้างอิงข้อผิดพลาดในการอัพโหลดฟีดสินค้า


อัพเดตสินค้าทีละรายการ

อัพเดตข้อมูลของสินค้าทีละรายการแบบเรียลไทม์ ใส่ช่องที่อัพเดตแล้วลงใน HTTP POST

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

ในขณะที่ retailer_id คือ ID สินค้าจากฟีดสินค้าของคุณ ต้องได้รับการเข้ารหัสด้วย bebase64url ดูช่องสินค้าที่ปิดทำงานได้ในข้อมูลอ้างอิงสินค้าในแค็ตตาล็อกสินค้า

ห้ามให้ฟีดสินค้าที่มีการอัพเดต สร้าง หรือลบสินค้าทีละรายการด้วย API เพราะอาจสร้างความยุ่งยากให้กับการอัพเดตหรือการลบสินค้าที่คุณสร้างด้วย API เนื่องจากเราไม่ได้ติดตามรายการเหล่านี้ด้วยฟีด

โปรดดู: * ข้อมูลอ้างอิงการดึงข้อมูลฟีดที่มีกำหนดเวลา * ข้อมูลอ้างอิงการอัพโหลดฟีดโดยตรง * ข้อมูลอ้างอิงฟีดสินค้า * ฟีดสินค้าในแค็ตตาล็อก * ข้อมูลอ้างอิงรายการสินค้า * การค้นหาสินค้าในแค็ตตาล็อก

การอัพโหลดแบบชุดกับแค็ตตาล็อกขนาดใหญ่

อัพโหลดแค็ตตาล็อกขนาดใหญ่มากๆ ที่มีสินค้านับล้านและคลังสินค้าที่มีการเปลี่ยนแปลงอย่างรวดเร็ว คุณสามารถสร้าง อัพเดต และลบสินค้าจำนวนมากได้ในคำขอ HTTP เดียว API มีสองตำแหน่งข้อมูลดังนี้

  • 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"]
}
Parameter Type Description

requests

ออบเจ็กต์

ออบเจ็กต์ JSON ที่มีคำขอทั้งหมด

requests.method

สตริง

CREATE, UPDATE หรือ DELETE อย่างใดอย่างหนึ่ง

requests.retailer_id

สตริง

id ของสินค้าที่ระบุโดยผู้จำหน่าย

requests.data

ออบเจ็กต์

ออบเจ็กต์ JSON ที่มีช่องและค่าสำหรับสินค้า หาก method คือ CREATE จะต้องมีช่องที่ต้องระบุทั้งหมดสำหรับสินค้าชิ้นนั้นๆ หาก method คือ UPDATE จะมีช่องใดก็ได้ การอัพเดตของ Facebook จะมีเฉพาะช่องที่คุณระบุ

ค่าที่รองรับในช่อง data ซึ่งคุณสามารถใช้กับรายการ CREATE และ UPDATE

  • 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
  • แก้ไข Enum ที่ไม่รู้จักจาก InStock เป็น in stock
  • รูปแบบราคาจาก 45$ เป็น 45.00 USD
  • แปลเงื่อนไข: Neu ภายใต้เงื่อนไข: New

คุณสามารถใช้กฎตัวพิมพ์ใหญ่-เล็กของตัวอักษรเพื่อระบุประเภทของปัญหาเหล่านี้ได้

  • เปลี่ยนคำอธิบายใน BRAND NEW WITH LEATHER DETAIL... ที่เป็นตัวพิมพ์ใหญ่ทั้งหมดเป็น Brand new with leather detail...
  • แก้ไขชื่อเรื่องใน FACEBOOK T-SHIRT ที่เป็นตัวพิมพ์ใหญ่ทั้งหมดเป็น Facebook 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 ดังนี้

Rule Type Format Example Notes

กฎการแมป

"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 กฎของฟีดสินค้า

ถัดไป: รวบรวมสัญญาณกลุ่มเป้าหมายและสร้างกลุ่มเป้าหมายสินค้า

สร้างกลุ่มเป้าหมายสินค้า