Menyiapkan Katalog

Untuk menyiapkan Iklan Dinamis, Anda memerlukan katalog, feed katalog, dan set produk.

Katalog Anda adalah file data terstruktur dengan daftar barang yang akan diiklankan. Masing-masing baris berisi semua informasi yang dibutuhkan untuk membuat Iklan Dinamis. Kabar produk adalah unggahan dinamis data Anda untuk menjaga katalog produk Anda tetap yang terbaru.

Dalam dokumen ini akan dijelaskan cara menyiapkan katalog:

Lihat juga Memulai Iklan Dinamis dan Penyiapan Iklan Dinamis melalui UI.

Langkah 1: Buat Katalog

Untuk membuat katalog bagi Iklan Dinamis:

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

Untuk menggunakan API Katalog, Anda memerlukan Level Akses API Pemasaran yang memadai dan harus menerima Ketentuan Layanan dengan membuat katalog pertama melalui Pengelola Bisnis. Lihat Referensi Katalog.

Langkah 2: Siapkan Feed

Ini adalah set barang yang diunggah atau diambil dari bisnis sehingga katalog Anda adalah yang terkini. Item produk adalah barang tunggal di toko online Anda, seperti SKU. Anda memiliki feed produk tunggal yang merepresentasikan semua produk di katalog Anda; atau beberapa feed produk dengan masing-masing feed merepresentasikan produk dari satu negara atau divisi. Lihat Feed, Referensi, dan Barang, Referensi.

Setelah Anda membuat katalog produk, gunakan catalog id untuk membuat dan menjadwalkan Feed Produk:

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

Format yang Didukung

Berikan feed produk dalam salah satu dari format berikut:

Format Feed Deskripsi Feed Contoh

CSV

Nilai yang dipisahkan dengan tanda koma. Baris pertama adalah judul kolom. Bungkus kolom yang berisi koma dalam "tanda petik ganda"

Unduh (Klik Kanan dan Simpan Tautan Sebagai)

TSV

Nilai yang dipisahkan dengan tab. Baris pertama adalah judul kolom. Apit kolom yang berisi koma dalam "tanda petik ganda"

Unduh (Klik Kanan dan Simpan Tautan Sebagai)

RSS XML

Format yang biasanya dibuat oleh sistem penyedia feed otomatis atau server web. Set node XML barang merepresentasikan daftar produk dan harus dimulai dengan tag deklarasi <?xml.

Unduh (Klik Kanan dan Simpan Tautan Sebagai)

ATOM XML

Format yang biasanya dibuat oleh sistem penyedia feed otomatis atau server web. Set node XML barang merepresentasikan daftar produk dan harus dimulai dengan tag deklarasi <?xml.

Unduh (Klik Kanan dan Simpan Tautan Sebagai)

Kolom Wajib Diisi

Berikan semua nama kolom dalam Bahasa Inggris.

Nama Jenis Deskripsi

id


Ukuran maks: 100

String

ID unik untuk barang. Dapat berupa varian untuk sebuah produk. Jika ada beberapa instance untuk ID yang sama, kami mengabaikan semua instance. Ini memetakan ke retailer_id setelah produk diimpor.

availability

String

Jika barang tersedia. Nilai yang diterima adalah:


in stock - Barang dikirimkan segera.


out of stock - Tidak ada rencana untuk melakukan restock.


preorder- Tersedia di masa mendatang.


available for order - Dikirimkan dalam 1-2 minggu.


discontinued - Dihentikan


condition

string

Kondisi produk: new, refurbished, atau used

description


Ukuran maks: 5000

string

Teks singkat yang mendeskripsikan produk.

image_link


string

Tautan ke gambar barang yang digunakan dalam iklan. Format karosel menggunakan gambar persegi dengan rasio aspek 1:1 (600x600px) sementara iklan produk tunggal menggunakan gambar dengan rasio aspek 1,91:1 (1200x630px). Sediakan gambar yang tepat untuk Anda gunakan.

link


string

Tautan ke situs pedagang yang dapat digunakan oleh seseorang untuk membeli.

title


Ukuran maks: 100

string

Judul barang.

price

string

Harga barang dan mata uang. Mata uang harus mengikuti kode mata uang ISO 4217 seperti 9.99 USD

gtin, mpn, atau brand


Ukuran maks: 70

string

gtin - Global Trade Item Number (GTIN) dapat mencakup UPC, EAN, JAN, dan ISBN.



mpn - ID produsen unik untuk produk.



brand - Nama merek.



gtin, mpn, maupun brand wajib diisikan.

Kolom Opsional, Tautan Dalam Produk

Berikan tautan dalam di dalam Feed Produk setelah Tautan Aplikasi. Informasi tautan dalam di Feed Produk lebih diutamakan dibandingkan informasi apa pun yang dikumpulkan oleh Facebook dengan metadata Tautan Aplikasi menggunakan crawler web.

Jika Anda sudah memiliki informasi tautan dalam dari Tautan Aplikasi, Anda tidak perlu menentukan data ini. Facebook menggunakan informasi dari Tautan Aplikasi untuk menampilkan tautan dalam yang benar. Untuk menampilkan tautan dalam di iklan Anda, lihat Iklan Dinamis, Templat Iklan.

Nama Deskripsi Contoh

ios_url

Skema khusus untuk aplikasi iOS sebagai URL

example-ios://electronic

ios_app_store_id

ID Aplikasi Facebook untuk App Store

1234

ios_app_name

Nama aplikasi untuk ditampilkan

IOS Contoh Elektronik

iphone_url

Skema khusus untuk aplikasi iPhone sebagai URL

example-iphone://electronic

iphone_app_store_id

ID Aplikasi Facebook untuk App Store

5678

iphone_app_name

Nama aplikasi untuk ditampilkan

iPhone Contoh Elektronik

ipad_url

Skema khusus untuk aplikasi iPhone

example-ipad://electronic

ipad_app_store_id

ID Aplikasi Facebook untuk App Store

9010

ipad_app_name

Nama aplikasi untuk ditampilkan

iPad Contoh Elektronik

android_url

Skema khusus untuk aplikasi Android sebagai URL

example-android://electronic

android_package

Nama paket berkualifikasi penuh untuk penciptaan niat

com.electronic

android_app_name

Nama aplikasi untuk ditampilkan

Android Contoh Elektronik

windows_phone_url

Skema khusus untuk aplikasi Windows Phone sebagai URL

example-windows://electronic

windows_phone_app_id

ID Aplikasi, sebagai GUID, untuk app store

ee728e01-7727-4168-9c8f-85c7eef40112

windows_phone_app_name

Nama aplikasi untuk ditampilkan

Windows Contoh Elektronik

Untuk iOS, hanya sediakan informasi aplikasi iPhone atau iPad jika berbeda dari informasi aplikasi iOS umum.

Gunakan grup produk untuk mengelompokkan semua varian produk. Berikan grup produk untuk mengidentifikasi produk-produk yang hampir sama, tetapi memiliki variasi, seperti warna, bahan, ukuran, atau pola. Grup mempermudah mengiklankan warna, gaya, atau pola tambahan untuk produk tertentu. Semua produk di grup produk memiliki item_group_id yang sama. Di Iklan Dinamis, kami hanya memilih satu barang di luar grup berdasarkan sinyal yang kami terima dari piksel atau aplikasi.

Ini adalah kolom-kolom opsional yang bisa Anda sertakan:

Nama Jenis Ukuran Maks

additional_image_link


Ukuran maks: 2000

string

Anda dapat menyertakan hingga 10 gambar tambahan; menyediakannya sebagai URL dengan pemisah tanda koma.

age_group

string

Grup untuk produk. Nilai yang diterima adalah newborn, infant, toddler, kids, dan adult.

color


Ukuran maks: 100

string

Warna barang.

expiration_date

ISO‑8601 (YYYY‑MM‑DD)

Masa kedaluwarsa produk. Jika produk tersebut kedaluwarsa, Facebook mengecualikannya dari semua set produk dan tidak menampilkannya di dalam iklan.

gender

string

Opsi Anda mencakup: male, female, dan unisex

item_group_id

string

Untuk barang yang merupakan varian dari sebuah produk. Berikan item_group_id yang sama untuk semua item yang merupakan varian. Sebagai contoh, T-Shirt Polo Merah adalah varian dari T-Shirt Polo. Facebook memetakannya ke retailer_product_group_id setelah mendapatkan feed Anda. Di Iklan Dinamis, kami hanya memilih satu barang di luar grup berdasarkan sinyal yang kami terima dari piksel atau aplikasi.

google_product_category


Ukuran maks: 250

string

Nilai yang sudah ditentukan dari taksonomi produk Google. Misalnya, Apparel & Accessories > Clothing > Dresses

material


Ukuran maks: 200

string

Produk bahan terdiri dari, misalnya, leather, denim, atau cotton.

pattern


Ukuran maks: 100

string

Pola atau cetakan grafik dalam sebuah produk.

product_type


Ukuran maks: 750

string

Kategori yang ditentukan oleh peritel untuk produk.

mis. dalam TSV
Home & Garden > Kitchen & Dining > Appliances > Refrigerators

mis. dalam XML <product_type>Home & Garden > Kitchen & Dining > Appliances > Refrigerators</product_type>

sale_price

string

Harga diskon jika barang sedang obral. Mata uang harus ditetapkan sebagai kode mata uang ISO 4217. Ditetapkan sebagai 9.99 USD

sale_price_effective_date

ISO‑8601 (YYYY‑MM‑DD)

Tanggal serta waktu mulai dan tanggal berakhir untuk obral tersebut, dipisahkan tanda slash:


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

shipping

string

Tetapkan harga berbeda untuk masing-masing negara dan kawasan. Kawasan berbeda dipisahkan dengan tanda koma. Formatnya harus COUNTRY:STATE:SHIPPING_TYPE:PRICE.

misalnya,

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

shipping_weight

string

Bobot pengiriman barang. Kami hanya menerima unit bobot berikut: lb, oz, g, kg. Contoh: 3 lbs

size

string

Ukuran barang. Sebagai contoh, baju bisa berukuran Small atau XL.

custom_label_0


Ukuran maks: 100

string

Informasi opsional dan tambahan tentang barang.

custom_label_1


Ukuran maks: 100

string

Informasi opsional dan tambahan tentang barang.

custom_label_2


Ukuran maks: 100

string

Informasi opsional dan tambahan tentang barang.

custom_label_3


Ukuran maks: 100

string

Informasi opsional dan tambahan tentang barang.

custom_label_4


Ukuran maks: 100

string

Informasi opsional dan tambahan tentang barang.

Uji feed produk Anda melalui halaman debug feed produk kami. Untuk CSV / TSV, salin baris pertama (baris judul kolom) dan beberapa produk; untuk XML, salin XML dengan beberapa barang / entri, tempelkan baris ke dalam area teks dan validasikan.

Langkah 3: Perbarui Opsi

Untuk memberikan informasi produk terbaru, gunakan salah satu dari berikut ini:

  1. Pengambilan Data Feed Produk Terjadwal
  2. Unggah Langsung Feed Produk
  3. Unggah Produk

Pengambilan Data Feed Produk Terjadwal

Facebook mengambil data feed produk dari sistem Anda dengan jadwal yang sudah Anda tentukan. Setiap pengambilan adalah operasi pemuatan data lengkap di feed Anda. Kami menghapus produk yang tidak ada di file, memperbarui yang sudah ada, dan membuat yang baru:

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

Tanggapannya adalah:

{ "id" : {PRODUCT_FEED_ID} }

Lihat Jadwal Feed Produk, Referensi.


Unggah Langsung Feed Produk

Bersama dengan pengambilan feed terjadwal, Anda bisa melakukan unggahan satu-kali secara manual:

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

Sebagai pilihan opsional, Anda bisa mengatur update_only ke true. Kami membuat barang baru dan memperbarui yang ada tetapi tidak menghapus item dari feed. Anda hanya perlu menyediakan id untuk memperbarui barang yang sudah ada. Ini mengurangi waktu untuk mengambil data dan memproses file Anda.

Sebagai contoh, jika Anda hanya ingin memperbarui harga dan label khusus untuk 100 barang di sebuah feed, gunakan unggahan langsung. Sediakan file hanya dengan id, price, dan custom_label_0 untuk barang-barang tersebut, dan update_only diatur ke true. Kami mendukung semua format file yang terdaftar; yang paling umum adalah TSV dan CSV.

File contoh:

Format Feed Gunakan-Kapital Feed Contoh

CSV

Perbarui price dan availability untuk subset barang.

Unduh

TSV

Atrur ulang sale_price dan perbarui custom_label_0 untuk subset barang.

Unduh

Lihat Unggahan Manual, Referensi.

Jika Anda mendapatkan pesan kesalahan di Feed Produk, lihat Kesalahan Unggahan Feed Produk, Referensi.


Perbarui Produk Individual

Perbarui data produk individual secara realtime. Sertakan kolom yang diperbarui di HTTP POST:

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

Di mana retailer_id adalah ID produk dari feed produk. Ini harus dengan encoding base64url. Lihat kolom produk yang dapat berubah di Produk Katalog Produk, Referensi.

Jangan memberikan feed produk dengan pembaruan, pembuatan, atau penghapusan produk individual dengan API. Ini dapat mengganggu pembaruan atau penghapusan barang yang Anda buat dengan API karena kami tidak melacak ini dengan feed tersebut.

Lihat juga: * Referensi Pengambilan Data Feed Terjadwal * Referensi Feed Unggahan Langsung * Referensi Feed Produk * Feed Produk di Katalog * Referensi Barang Produk * Pencarian di Katalog

Unggahan Batch untuk Katalog Besar

Unggah katalog sangat besar dengan jutaan produk dan inventaris yang berubah cepat. Anda bisa membuat, memperbarui, dan menghapus sejumlah produk dalam satu permintaan HTTP tunggal. API ini memiliki dua endpoint:

  • POST [/{product_catalog_id}/batch](#send-batch-request) - Mengirimkan batch permintaan untuk membuat, memperbarui, menghapus barang dalam sebuah katalog.
  • GET [/{product_catalog_id}/check_batch_request_status](#batch-request-status) - Memeriksa status permintaan.

Mengirim pembaruan produk

Untuk membuat, memperbarui, atau menghapus produk di katalog Anda, buat HTTP POST dengan perubahan yang ingin Anda lakukan: Anda dapat melakukan 500 perubahan dalam satu panggilan. Untuk masing-masing katalog, Anda dapat melakukan hingga 100 panggilan per jam.

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

Panggilan ini mengembalikan handle yang bisa Anda gunakan untuk memeriksa status permintaan batch. Lihat Dapatkan Status Permintaan:

{
  "handles": ["AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I"]
}
Parameter Jenis Deskripsi

requests

Objek

Objek JSON yang berisi semua permintaan.

requests.method

string

CREATE, UPDATE atau DELETE.

requests.retailer_id

string

id Produk yang diberikan oleh peritel.

requests.data

Objek

Objek JSON yang berisi kolom dan nilai untuk produk. Apabila method adalah CREATE, ini harus berisi semua kolom yang diperlukan untuk sebuah produk. Apabila method adalah UPDATE kana dapat berisi kolom. Facebook hanya memperbarui kolom yang Anda sediakan.

Nilai yang didukung di kolom data yang bisa Anda gunakan untuk CREATE dan UPDATE barang:

  • 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

Anda bisa menggunakan applinks untuk informasi tautan dalam, yang berfungsi mirip dengan Tautan Dalam Produk. Formatnya adalah sebagai berikut:

"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"
  }]
}

Lihat Katalog Produk, Membuat, Referensi.

Dapatkan Status Permintaan

Untuk mendapatkan status permintaan batch, gunakan handle yang dikembalikan dari panggilan ke {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

Tanggapan:

{
  "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\""
        }
      ]
    }
  ]
}

Lihat Katalog Produk, Referensi, Status Batch Pemeriksaan.

Aturan Feed Produk

Tetapkan dan cegah kesalahan unggahan feed terus menerus dengan aturan. Anda bisa memberikan aturan yang diberlakukan Facebook di masing-masing unggahan feed. Tentukan aturan Anda dengan atribut (kolom) yang akan diberlakukan, berdasarkan jenis aturan, dan berdasarkan parameter. Saat ini Anda tidak dapat menggunakan aturan dengan API Batch. Anda bisa memberikan jenis aturan ini:

  • Aturan Pemetaan - Memetakan atribut-atribut (nama kolom) dalam file feed ke atribut yang bisa kita kenal.
  • Aturan Pemetaan Nilai - Memetakan kolom (nilai kolom) dalam file feed ke kolom yang bisa kita kenal.
  • Aturan Kapitalisasi Huruf - Mengganti kapitalisasi kata dalam sebuah kolom. Sebagai contoh, ubah semua deskripsi huruf besar ke huruf kecil.

Sebagai contoh, Anda bisa memecahkan masalah ini dengan Aturan Pemetaan dan Aturan Pemetaan Nilai:

  • Mengatributkan kesalahan pengetikan dari gavailability ke availability
  • Memecahkan enum yang tidak dikenal InStock ke in stock
  • Format harga dari 45$ ke 45.00 USD
  • Terjemahkan Kondisi: Neu dalam Kondisi: New

Anda bisa menggunakan Aturan Kapitalisasi Huruf untuk memecahkan jenis masalah ini:

  • Ganti deskripsi di semua kapital BRAND NEW WITH LEATHER DETAIL... ke Brand new with leather detail...
  • Perbaiki judul yang semua kapital FACEBOOK T-SHIRT ke Facebook T-shirt

Saran Aturan

Anda bisa memperoleh saran aturan dari Facebook untuk memperbaiki masalah di feed Anda. Jika Anda ingin melihat saran aturan untuk sesi unggah Anda, ikuti langkah berikut.

  • Mengambil data sesi unggah:
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads
  • Mengambil data kesalahan untuk sesi unggah:
https://graph.facebook.com/{API_VERSION}/{UPLOAD_SESSION_ID}/errors
  • Mengambil data saran aturan untuk kesalahan unggah:
curl -i -X GET 
 "https://graph.facebook.com/{API_VERSION}/{UPLOAD_ERROR_ID}/suggested_rules?access_token={ACCESS_TOKEN}

Contoh tanggapan dengan saran nampak seperti ini:

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

Untuk detail Saran API Aturan, Referensi.

Endpoint

Menambahkan Aturan ke Feed

Untuk menerapkan aturan ini ke feed, Anda harus mengaitkan aturan ke feed. Buat panggilan HTTP POST ke:

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

Contoh:

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}"

Anda harus memformat params sebagai berikut:

Jenis Aturan Format Contoh Catatan

Aturan Pemetaan

"map_from": <string>

"map_from": "gavailability"

Aturan Pemetaan Nilai

<string> : <string>

"InStock": "in stock"

Untuk aturan pemetaan nilai, jumlah pemetaan dibatasi hingga 10 dan panjang string dibatasi hingga 20.

Atura Kapitalisasi Huruf

"type": salah satu dari : "capitalize_first", "capitalize_all", "to_upper", "to_lower"

"type": "capitalize_first"

Untuk selengkapnya, lihat API Aturan Feed Produk, Referensi.

Dapatkan Aturan Saat Ini

Untuk menampilkan daftar semua aturan yang terkait dengan sebuah feed, buat panggilan HTTP GET ke:

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

Untuk selengkapnya, lihat API Aturan Feed Produk, Referensi.

Memperbarui dan Menghapus Aturan

Untuk mengganti aturan yang terkait dengan sebuah feed, buat panggilan HTTP POST untuk memperbarui parameter dan HTTP DELETE untuk menghapusnya. Anda hanya dapat memperbarui parameter. Jika Anda ingin mengganti attribute atau rule_type, Anda harus menghapus dan membuat kembali aturan tersebut.

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

Untuk selengkapnya, lihat API Aturan Feed Produk, Referensi.

Berikutnya: Kumpulkan Sinyal pemirsa dan Buat Pemirsa Produk

Membuat Pemirsa Produk