API Promo

API Promo berada dalam program Beta yang tertutup dan hanya untuk mereka yang diundang. Silakan bekerja sama dengan perwakilan Meta Anda untuk mendapatkan akses jika Anda telah diundang ke program.


Dengan menggunakan API ini, Anda dapat menambahkan informasi promo ke katalog produk Anda untuk mengaktifkan pemasaran promo Anda di Facebook dan Instagram. Bagi penjual yang telah mengaktifkan fitur proses pembayaran Facebook atau Instagram, pembeli akan dapat menukarkan promo Anda langsung dalam lini aplikasi Meta.

Membuat Promo

Anda dapat membuat promo melalui kabar promo atau secara manual melalui Commerce Manager.

Kabar

Untuk membuat Kabar Promo baru, buat permintaan POST ke edge /{product_catalog_id}/product_feeds dan atur feed_type ke OFFER. Saat memposting ke edge ini, Kabar Produk jenis Promo dibuat untuk katalog yang ditentukan di kolom product_catalog_id.

Setelah Kabar Promo dibuat, Anda dapat mengunggah data promo melalui permintaan POST ke edge /{product_feed_id}/uploads.

Kolom Kabar

Anda dapat mengatur sebagian besar kolom yang tersedia yang tercantum di bawah ini sebagai kolom dalam file kabar Anda. Hanya kolom yang ditandai sebagai Hanya-Baca yang tidak dapat diatur selama pembuatan.

Glosarium

Set Produk

Set produk adalah grup produk terkait di dalam katalog produk.

Produk Target Promo

Ini adalah produk yang promonya berlaku.

Prasyarat Promo

Ini adalah prasyarat yang perlu dipenuhi agar promo dapat berlaku. Contoh, Anda dapat menentukan bahwa promo hanya berlaku jika orang membeli setidaknya sejumlah produk tertentu atau mencapai setidaknya jumlah subtotal atau nilai tertentu dari produk tersebut. Saat ini, produk prasyarat berasal dari produk target. Contoh, promo diskon 20% untuk semua sepatu berarti persyaratan subtotal/jumlah minimal harus dipenuhi dengan sepatu yang ada di keranjang belanja.

Jenis Aplikasi Promo

Jenis aplikasi Promo menentukan bagaimana promo diterapkan saat proses pembayaran baik di situs web milik anda atau dalam proses pembayaran Facebook. Misalnya, jenis aplikasi dapat digunakan untuk menentukan apakah suatu promo diterapkan secara otomatis saat proses pembayaran atau memerlukan kode kupon untuk ditukarkan. Jenis aplikasi juga menginformasikan perilaku kombinasi suatu promo dengan promo lainnya. Untuk detail selengkapnya, lihat Menggabungkan Promo.

Kolom Dasar

Kolom di bawah ini dapat digunakan untuk mengonfigurasi semua jenis promo.

KolomDeskripsi

id

jenis: numeric string

Hanya Baca.

Pengidentifikasi unik (ID Facebook) untuk produk ini.

offer_id

jenis: string

Wajib.

Penjual memberikan pengidentifikasi untuk promo.


Kolom ini digunakan untuk mengidentifikasi promo secara unik dalam katalog.

title

jenis: string

Opsional.

Judul untuk produk promo.


Judul saat ini hanya digunakan untuk membantu mengidentifikasi promo dalam Commerce Manager dan tidak ditampilkan kepada pembeli.

description

jenis: string

Hanya Baca.

Deskripsi promo yang dibuat secara otomatis.

application_type

jenis: enum{SALE, AUTOMATIC_AT_CHECKOUT, BUYER_APPLIED}

Wajib.

Menentukan bagaimana dan kapan promo diterapkan. Opsi yang tersedia:

  • SALE: Produk secara langsung diberi potongan harga, dengan ditunjukkan adanya harga yang dicoret bagi pembeli. Promo ini tidak memerlukan prasyarat apa pun dari pembeli dan tidak terpengaruh oleh produk lain saat proses pembayaran. Penjualan yang menghasilkan harga terendah suatu produk selalu dipilih, karena penjualan tidak pernah digabungkan. Penjualan dapat digabungkan dengan jenis promo lain tetapi selalu diterapkan terlebih dahulu. Jika produk sudah memiliki set kolom sale_price, maka harga akhir dihitung menggunakan sale_price sebagai harga dasar.
  • AUTOMATIC_AT_CHECKOUT: Promo otomatis diterapkan saat proses pembayaran ketika pembeli memenuhi kriteria penukaran yang diperlukan. Promo ini memiliki beberapa konfigurasi yang mencegahnya memenuhi syarat sebagai penjualan. Ini hanya dapat digabungkan dengan promo penjualan. Promo semacam ini dapat aktif hingga 25 pada satu waktu.
  • BUYER_APPLIED: Promo ini diterapkan di proses pembayaran berdasarkan tindakan yang dilakukan pembeli, seperti memasukkan kode promo. Saat ini promo tidak dapat digabungkan satu sama lain atau promo diterapkan secara otomatis saat proses pembayaran. Memerlukan salah satu dari [public_coupon_code, coupon_codes] untuk disediakan.

coupon_codes

jenis: Array<string>

Daftar kode kupon tidak membedakan huruf besar/kecil yang digunakan pelanggan saat melakukan proses pembayaran untuk menukarkan promo. Maksimal 100 kode kupon diizinkan. Contoh: ["10OFF", "HOLIDAY_SALE"]


Kode kupon hanya dapat ditentukan ketika application_type adalah BUYER_APPLIED.


Jika kolom ini diatur, public_coupon_code harus nihil.

public_coupon_code

jenis: string

Opsional.

Satu kode kupon tidak membedakan huruf besar/kecil yang akan dipasarkan bersama promo dan akan diisi sebelumnya di bagian proses pembayaran jika pembeli memenuhi prasyarat promo.


Secara default, promo dengan kode kupon tidak dipasarkan secara jelas kepada pembeli di platform belanja Facebook atau Instagram seperti halaman detail produk. Hal ini untuk mencegah kode pribadi atau rahasia bocor ke pembeli secara tidak sengaja. Anda dapat mengubah perilaku ini dengan menentukan kode kupon publik untuk digunakan dalam memasarkan promo Anda. Promo dengan kode publik akan ditampilkan sama seperti promo dengan application_type dari AUTOMATIC_AT_CHECKOUT tetapi juga akan menampilkan teks kode.


Kode kupon publik panjangnya tidak boleh melebihi 20 karakter dan katalog Anda hanya boleh berisi maksimal 10 promo aktif dengan kode kupon publik dalam satu waktu.


Kode kupon publik hanya dapat diatur ketika application_type adalah BUYER_APPLIED.


Jika kolom ini diatur, coupon_codes harus nihil.

start_date_time

jenis: timestamp

Wajib.

Cap waktu Unix, dalam detik, ketika promo dimulai.


Input dapat berupa cap waktu Unix, dalam detik, atau string tanggal berformat ISO-8601 (misalnya 25-09-2021T12:34:56Z).

end_date_time

jenis: timestamp

Opsional. Default-nya adalah null.

Cap waktu Unix, dalam detik, ketika promo berakhir. Jika dibiarkan kosong atau null, promo tidak memiliki tanggal berakhir.


Input dapat berupa cap waktu Unix, dalam detik, atau string tanggal berformat ISO-8601 (misalnya 25-09-2021T12:34:56Z).

min_quantity

jenis: int64

Opsional. Default-nya adalah 0.


Gunakan kolom ini jika promo Anda hanya berlaku ketika pelanggan membeli produk dalam jumlah minimal.


Kolom ini menunjukkan jumlah produk yang harus dibeli pelanggan agar promo berlaku. Contoh: “Beli 5 kaos, dapatkan diskon 20%”.


Hanya salah satu dari min_quantity atau min_subtotal yang dapat diatur.

min_subtotal

jenis: string

Opsional. Default-nya adalah null.


Gunakan kolom ini jika promo Anda hanya berlaku saat pesanan pelanggan memenuhi nilai subtotal tertentu.


Subtotal produk prasyarat harus sama dengan atau lebih besar dari nilai ini agar promo dapat berlaku. Jika tidak ada produk prasyarat eksplisit yang diatur, produk target digunakan sebagai produk prasyarat.


Kolom ini harus diformat sebagai jumlah, diikuti oleh kode mata uang ISO 3 digit, dengan spasi antara jumlah dan mata uang. Contoh: string "30,99 USD" mewakili subtotal prasyarat $30,99 agar promo dapat diterapkan.


Hanya salah satu dari min_quantity atau min_subtotal yang dapat diatur.

redeem_limit_per_user

jenis: int64

Opsional. Default-nya adalah 0 (tanpa batas).

Jumlah maksimal penggunaan promo oleh satu pengguna.


Atur kolom ini ke 1 untuk membuat kode kupon sekali pakai.


Kolom ini hanya boleh diatur jika application_type adalah BUYER_APPLIED.

value_type

jenis: enum {FIXED_AMOUNT, PERCENTAGE}

Wajib.

Jenis diskon yang disediakan oleh promo.


Opsi yang tersedia:

  • FIXED_AMOUNT: menerapkan diskon dengan nilai yang diambil dari fixed_amount_off.
  • PERCENTAGE: menerapkan diskon persentase dengan nilai yang diambil dari percent_off.

fixed_amount_off

jenis: string

Diperlukan, jika value_type diatur ke FIXED_AMOUNT.

Jumlah diskon promo. Harus diformat sebagai jumlah, diikuti oleh kode mata uang ISO 3 digit, dengan spasi antara jumlah dan mata uang. Contoh, string "30,99 USD" mewakili diskon $30,99.


Kolom ini hanya boleh diatur jika value_type adalah FIXED_AMOUNT.

percent_off

jenis: int64

Diperlukan, jika value_type diatur ke PERCENTAGE.

Persentase diskon promo. Harus berupa bilangan bulat antara 0 dan 100. Contoh, "30" mewakili diskon 30%.


Kolom ini hanya boleh diatur jika value_type adalah PERCENTAGE.

target_granularity

jenis: enum {ITEM_LEVEL, ORDER_LEVEL}

Wajib.

Perincian tentang penerapan diskon promo.


Opsi yang tersedia:

  • ITEM_LEVEL: mewakili diskon yang diterapkan ke setiap produk target di keranjang belanja.
  • ORDER_LEVEL: mewakili diskon yang diterapkan pada semua produk target di keranjang belanja. Contoh, jika Anda memiliki promo "diskon sepatu $30" dengan 3 pasang sepatu di keranjang belanja, ITEM_LEVEL akan menerapkan diskon $30 untuk setiap pasang sepatu (nilai $90), sementara ORDER_LEVEL akan menerapkan diskon $30 untuk total ketiga pasang sepatu (nilai maks $30).

Perhatikan bahwa promo dengan perincian ORDER_LEVEL dapat mengakibatkan alokasi diskon saat pembelian yang tidak dibagi secara merata di seluruh produk dalam satu pesanan. Penanganan alokasi diskon yang tidak merata ini dapat mengakibatkan bertambahnya kompleksitas pada waktu pemenuhan atau dalam kasus pengembalian dana.

offer_terms

jenis: string

Opsional.

Syarat dan ketentuan tambahan apa pun yang menentukan penggunaan promo oleh pembeli. Maks 2500 karakter.


Facebook akan secara otomatis membuat ketentuan yang menjelaskan promo berdasarkan konfigurasi promo. Selain ketentuan ini, Anda dapat menggunakan offer_terms untuk menambahkan bahasa yang menjelaskan ketentuan promo terhadap Anda. Ketentuan ini akan muncul di bawah ketentuan promo Facebook.


Konten harus mengikuti kebijakan konten kami.

Menentukan Produk yang Memenuhi Syarat

Baik produk target yang promonya berlaku dan produk prasyarat yang harus dibeli pembeli agar dapat menukarkan promo akan ditetapkan menurut set produk. API Promo mendukung berbagai cara untuk menentukan set produk ini, tetapi hanya satu metode yang dapat digunakan per jenis set produk per promo.

KolomDeskripsi

target_selection

jenis: enum{ALL_CATALOG_PRODUCTS, SPECIFIC_PRODUCTS}

Wajib.

Kolom ini digunakan untuk membedakan antara promo yang berlaku untuk keseluruhan katalog produk dan promo yang dibatasi pada subset produk tertentu dalam suatu katalog.


Opsi yang tersedia:

  • ALL_CATALOG_PRODUCTS: promo dapat diterapkan ke produk apa pun dalam katalog.
  • SPECIFIC_PRODUCTS: promo hanya dapat diterapkan pada produk target yang ditentukan oleh target_filter, target_product_retailer_ids, target_product_group_retailer_ids, atau target_product_set_retailer_ids.

Jika target_selection adalah SPECIFIC_PRODUCTS, pastinya salah satu dari berikut ini diperlukan: target_filter, target_product_retailer_ids, target_product_group_retailer_ids, atau target_product_set_retailer_ids.

target_filter

jenis: JSON-encoded string

Opsional.


Aturan filter untuk mengidentifikasi promo produk yang dapat diterapkan. Menggunakan logika aturan filter yang sama yang digunakan untuk menambahkan produk ke set produk.


Jika aturan filter yang ditentukan cocok dengan filter set produk yang ada, promo ini akan menargetkan set produk tersebut, jika tidak, akan dibuat set produk baru.


Kolom ini hanya boleh diatur jika target_selection diatur ke SPECIFIC_PRODUCTS.

target_product_retailer_ids

jenis: Array<product_retailer_id>

Opsional.


Daftar ID peritel item produk untuk produk yang promonya dapat diterapkan.


Kolom ini hanya boleh diatur jika target_selection diatur ke SPECIFIC_PRODUCTS.

target_product_group_retailer_ids

jenis: Array<product_group_retailer_id>

Opsional.


Daftar ID peritel grup produk untuk produk yang promonya dapat diterapkan.


Semua varian produk yang termasuk dalam grup produk akan memenuhi syarat untuk promo.


Kolom ini hanya boleh diatur jika target_selection diatur ke SPECIFIC_PRODUCTS.

target_product_set_retailer_ids

jenis: Array<product_set_retailer_id>

Opsional.


Daftar ID peritel set produk yang berisi produk yang promonya dapat diterapkan. Promo akan berlaku untuk penyatuan semua produk yang dihasilkan dengan mengevaluasi set produk yang ditentukan.

prerequisite_filter

jenis: JSON-encoded string

Opsional.


Aturan filter untuk mengidentifikasi produk yang harus dibeli agar pembeli dapat menukarkan promo. Menggunakan logika aturan filter yang sama yang digunakan untuk menambahkan produk ke set produk. Biasanya digunakan dalam promo gaya "Beli X dapat Y".


Jika aturan filter yang ditentukan cocok dengan filter set produk yang ada, promo ini akan menggunakan set produk tersebut untuk menentukan produk prasyarat, jika tidak, akan dibuat set produk baru.


Jika kolom ini diatur, prerequisite_product_retailer_ids, prerequisite_product_group_retailer_ids, dan prerequisite_product_set_retailer_ids harus berupa null.

prerequisite_product_retailer_ids

jenis: Array<product_retailer_id>

Opsional.


ID peritel untuk item produk yang harus dibeli pembeli untuk menukarkan promo. Produk apa pun yang disertakan dalam daftar memenuhi syarat untuk digunakan oleh pembeli sebagai prasyarat untuk menukarkan promo. Biasanya digunakan dalam promo gaya "Beli X dapat Y".


Jika kolom ini diatur, prerequisite_filter, prerequisite_product_group_retailer_ids, dan prerequisite_product_set_retailer_ids harus berupa null.

prerequisite_product_group_retailer_ids

jenis: Array<product_group_retailer_id>

Opsional.


ID peritel untuk grup produk yang harus dibeli pembeli untuk menukarkan promo. Semua varian produk yang disertakan dalam setiap grup memenuhi syarat untuk digunakan pembeli sebagai prasyarat untuk menukarkan promo. Biasanya digunakan dalam promo gaya "Beli X dapat Y".


Jika kolom ini diatur, prerequisite_filter, prerequisite_product_retailer_ids, dan prerequisite_product_set_retailer_ids harus berupa null.

prerequisite_product_set_retailer_ids

jenis: Array<product_set_retailer_id>

Opsional.


ID peritel untuk set produk yang berisi produk yang harus dibeli pembeli untuk menukarkan promo. Produk apa pun yang diperoleh dari gabungan evaluasi set produk memenuhi syarat untuk digunakan oleh pembeli sebagai prasyarat untuk menukarkan promo. Biasanya digunakan dalam promo gaya "Beli X dapat Y".


Jika kolom ini diatur, prerequisite_filter, prerequisite_product_retailer_ids, dan prerequisite_product_group_retailer_ids harus berupa null.

exclude_sale_priced_products

jenis: bool enum {YES, NO}

Opsional.

Apakah promo berlaku untuk produk yang sudah memiliki potongan harga yang ditetapkan dalam katalog, seperti yang ditentukan oleh kolom sale_price di item produk.


Atur kolom ini ke YES untuk menghindari kemungkinan pemberian diskon ganda pada produk. Abaikan kolom ini atau atur ke NO untuk menyertakan produk dengan sale_price yang lebih rendah yang diatur dalam katalog Anda.


Saat diatur, kolom ini berlaku untuk produk target dan produk prasyarat suatu promo.

Promo Pengiriman

API Promo mendukung promo yang memberikan diskon harga pada produk yang dibeli pembeli, serta promo yang memberikan diskon biaya pengiriman untuk produk tersebut. Sama seperti promo untuk produk, promo pengiriman dapat diterapkan dengan kode kupon atau secara otomatis dengan atau tanpa prasyarat pembeli tambahan.

Untuk membuat promo pengiriman, target_type harus diatur ke SHIPPING. Saat ini, hanya promo gratis ongkos pengiriman yang didukung dan dengan demikian value_type harus selalu PERCENTAGE dengan percent_off diatur ke 100.

KolomDeskripsi

target_type

jenis: enum{LINE_ITEM, SHIPPING}

Wajib.

Jenis objek yang dapat diterapkan pada promo:

  • LINE_ITEM: promo diterapkan pada item produk itu sendiri.
  • SHIPPING: promo diterapkan pada ongkos pengiriman. Opsi ini hanya berlaku ketika target_granularity adalah ITEM_LEVEL.

target_shipping_option_types

jenis: Array<shipping_service_tier>

Diperlukan, jika target_type adalah SHIPPING.

Daftar tingkatan layanan pengiriman (misalnya STANDARD, RUSH, EXPEDITED) untuk promo yang berlaku.


Misalnya untuk menentukan promo pengiriman yang berlaku untuk kecepatan pengiriman standar dan kilat tetapi tidak untuk pengiriman dalam waktu semalam, gunakan:

  • target_type dari SHIPPING
  • target_shipping_option_types dari ["STANDARD", "RUSH"]

Untuk penjual yang mengaktifkan proses pembayaran Facebook atau Instagram, Anda dapat menggunakan API Profil Pengiriman untuk mengelola profil pengiriman di akun perdagangan Anda.

Promo Beli X Dapat Y

Promo gaya "Beli X Dapat Y" memungkinkan pembeli untuk membeli sejumlah "produk X" tertentu untuk mendapatkan 1 atau lebih dari "produk Y" dengan harga diskon atau gratis. Promo belanja X dapat Y yang mengharuskan pembeli mencapai ambang batas belanja minimum untuk set produk X agar bisa menerima diskon juga didukung. Anda membuat promo beli X dapat Y dengan mengatur kolom target_quantity serta kolom min_quantity atau min_subtotal.

Dalam beberapa kasus seperti promo umum "beli satu gratis satu", X dan Y mungkin merujuk pada set produk yang sama. Namun, Anda juga bisa menggunakan prerequisite_filter, prerequisite_product_retailer_ids, prerequisite_product_group_retailer_ids, dan prerequisite_product_set_retailer_ids untuk menentukan set produk X yang berbeda dari produk Y target. Lihat Menentukan Produk yang Memenuhi Syarat untuk cara mengonfigurasi kolom ini.

KolomDeskripsi

target_quantity

jenis: int64

Opsional. Default-nya adalah 0 (tanpa batas).

Jumlah produk yang akan didiskon untuk setiap penukaran promo. Mengatur target_quantity > 0 merupakan promo gaya Beli X dapat Y.


Gunakan kolom ini untuk mengontrol berapa banyak produk yang didiskon saat pembeli memenuhi prasyarat penukaran. Misalnya, dalam promo "beli 2 dapat 1 berdiskon 50%", jumlah targetnya adalah 1 dan pada promo "beli 5 gratis 2", jumlah targetnya adalah 2.

redemption_limit_per_order

jenis: int64

Opsional. Default-nya adalah 0 (tanpa batas).

Jumlah berapa kali promo ini dapat ditukarkan per pesanan.


Gunakan kolom ini untuk membatasi berapa kali promo dapat diterapkan ke produk dalam pembelian pembeli. Misalnya, dalam promo "beli satu kaos, gratis satu", secara default pembeli yang membeli 6 kaos akan menerima 3 kaos dengan harga penuh dan 3 kaos gratis. Namun dalam contoh yang sama, jika redemption_limit_per_order diatur ke 2, pembeli akan menerima 2 kaos gratis dan 4 kaos dengan harga penuh.


Jika kolom ini diatur, target_quantity harus lebih besar dari 0.

Menggabungkan Promo

Bagi penjual yang mengaktifkan fitur proses pembayaran di Facebook atau Instagram, ada dukungan terbatas untuk menggabungkan beberapa promo dalam satu transaksi. Kemampuan suatu promo untuk digabungkan dengan promo lainnya terutama ditentukan oleh jenis aplikasi dan jenis targetnya. Saat ini, perilaku ini tidak bisa dikonfigurasi oleh penjual. Aturan di bawah ini merangkum perilaku penumpukan promo:

  • Untuk produk tertentu, jika ada promo yang mengakibatkan harga dicoret (application_type = SALE), promo yang menghasilkan harga produk terendah akan diterapkan. Hal ini diulang untuk semua produk di keranjang belanja pembeli. Harga diskon baru untuk produk tersebut digunakan dalam semua perhitungan prasyarat promo mendatang.
  • Dalam satu pesanan, pembeli dapat menukarkan 1 promo BUYER_APPLIED atau 1 promo AUTOMATIC_AT_CHECKOUT per target_type (LINE_ITEM atau SHIPPING). Misalnya, pembeli dapat menggunakan kupon gratis ongkos pengiriman dan kupon beli satu gratis satu, tetapi tidak dapat menukarkan 2 promo yang keduanya memberikan diskon pada harga produk.
  • Meta terkadang mendanai promo untuk menarik pelanggan baru dan pelanggan lama tanpa membebankan biaya kepada penjual. Promo yang didanai oleh Meta selalu dapat digabungkan dengan promo yang didanai oleh penjual.

Membatasi Kelayakan Pengguna Terhadap Promo

Saat ini, promo yang dibuat melalui API Promo tidak dapat dipasarkan secara selektif kepada grup pengguna tertentu. Promo yang dibuat di Commerce Manager dapat dikonfigurasi dengan batasan kelayakan pengguna. Promo pemasaran yang dibuat melalui API Promo akan ditampilkan ke semua pembeli, dan setiap pembeli yang memenuhi prasyarat promo (termasuk memasukkan kode kupon apa pun) di proses pembayaran Facebook atau Instagram dapat menukarkan promo tersebut.

Di masa mendatang, API Promo dapat mendukung pembatasan promo ke negara tertentu untuk penjual multinasional serta pembatasan kelayakan promo ke grup pengguna tertentu seperti pembeli pertama kali atau pengikut Halaman Facebook penjual.