Halaman ini menjelaskan cara mengupload dan mengelola produk secara terprogram. Dengan menggunakan Merchant Products API, Anda dapat menyisipkan atau memperbarui produk di sumber data, mengambil produk dari akun, dan menghapus produk dari sumber data.
Merchant Products API berisi dua resource.
productInputs
mewakili bagian input produk Anda.products
mewakili produk yang diproses yang dibuat dari bagian input Anda.
productInputs
dapat berupa utama dan tambahan, bergantung pada apakah data tersebut
diupload ke
sumber data utama
atau
sumber data tambahan.
Setiap product
akan dibuat dari satu productInput
utama dan sejumlah
productInputs
tambahan.
Anda dapat menggunakan Merchant Products API untuk membuat katalog toko lokal atau
online, yaitu produk yang dapat muncul di
beberapa tujuan belanja.
Anda dapat menggunakan resource productInputs
setelah membuat akun Merchant Center, menyiapkan sumber data pertama, dan siap mengupload kumpulan produk awal melalui API.
Meskipun penjual memiliki kemampuan untuk mengupload produk menggunakan file yang disebut PrimaryProductDataSource, ada beberapa keuntungan dalam membuat dan menghapus produk menggunakan Merchant API. Keuntungan ini mencakup waktu respons yang lebih cepat dan kemampuan untuk mengupdate produk secara real time, tanpa perlu mengelola file besar. Perlu waktu hingga beberapa jam agar perubahan produk yang dilakukan oleh panggilan API ditampilkan di database Shopping.
Prasyarat
Jika Anda tidak memiliki sumber data, buat sumber data menggunakan Merchant DataSources API atau Merchant Center.
Jika sudah memiliki sumber data yang dibuat menggunakan UI Merchant Center atau menggunakan API, Anda dapat menggunakan Merchant Products API untuk menambahkan produk. Jika Anda menggunakan Content API for Shopping untuk menambahkan produk, lihat panduan migrasi untuk memahami cara memulai dengan Merchant Products API.
Anda bertanggung jawab untuk mematuhi kebijakan Iklan Shopping dan listingan gratis. Iklan Shopping berhak menerapkan kebijakan ini dan merespons dengan tepat jika kami menemukan konten atau perilaku yang melanggar kebijakan ini.
Resource
Resource products
memungkinkan Anda mengambil informasi produk dari database
Shopping.
Resource
productInput
mewakili data input yang Anda kirimkan untuk produk. API ini juga menyediakan
metode yang memungkinkan Anda memperbarui, atau menghapus informasi produk satu per satu, atau
banyak sekaligus dalam mode batch. Resource
productInput
harus memiliki kolom berikut:
channel
: Saluran produk.offerId
: ID unik untuk produk.contentLanguage
: Kode bahasa ISO 639-1 dua huruf untuk produk.feedLabel
: Label feed untuk produk.
Mengupload input produk ke akun Anda
Untuk mengupload input produk ke akun Anda, gunakan
metode accounts.productInputs.insert
. Anda harus meneruskan
ID unik sumber data utama atau tambahan.
Contoh permintaan berikut menunjukkan cara menggunakan
metode accounts.productInputs.insert
untuk mengupload input produk ke
akun penjual Anda. Permintaan menetapkan harga dan wilayah pengiriman, serta atribut kustom
seperti tanggal pembuatan dan ukuran.
POST https://merchantapi.googleapis.com/products/v1beta/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE}
{
"name": "{PRODUCT_TITLE}",
"versionNumber": {VERSION_NUMBER},
"contentLanguage": "{CONTENT_LANGUAGE}",
"feedLabel": "{FEED_LABEL}",
"offerId": "{OFFER_ID}",
"channel": "ONLINE",
"attributes": {
"availability": "in stock",
"imageLink": "{IMAGE_LINK}",
"link": "{PRODUCT_LINK}",
"brand": "{BRAND_NAME}",
"price": {
"currencyCode": "{CURRENCY_CODE}",
"amountMicros": {PRICE}
},
"color": "red",
"productWeight": {
"value": 320,
"unit": "g"
},
"adult": false,
"shipping": [
{
"country": "GB",
"price": {
"amountMicros": {SHIPPING_COST},
"currencyCode": "{CURRENCY_CODE_SHIPPING}"
},
"postalCode": "{SHIPPING_POSTALCODE}",
"service": "",
"region": "{SHIPPING_REGION}",
"maxHandlingTime": "{MAX_HANDLING_TIME}",
"minHandlingTime": "{MIN_HANDLING_TIME}",
"maxTransitTime": "{MAX_TRANSIT_TIME}",
"minTransitTime": "{MIN_TRANSIT_TIME}"
}
],
"gender": "Female"
},
"customAttributes": [
{
"name": "size",
"value": "Large"
},
{
"name": "Date of Manufacturing",
"value": "2024-05-05"
}
]
}
Ganti kode berikut:
- {ACCOUNT_ID}: ID unik akun Merchant Center Anda.
- {DATASOURCE}: ID unik sumber data. Formatnya harus
accounts/
{ACCOUNT_ID}/dataSources/
{DATASOURCE_ID}. - {PRODUCT_TITLE}: Nama produk.
- {VERSION_NUMBER}: Nomor versi produk. Opsional.
- {CONTENT_LANGUAGE}: Kode bahasa ISO 639-1 dua huruf untuk produk. Wajib.
- {FEED_LABEL}: Kode wilayah CLDR untuk
wilayah tempat Anda ingin menjual produk. Jika nilai yang diberikan untuk
feedLabel
tidak valid, kolomtargetCountry
tidak akan diisi. - {OFFER_ID}: ID unik produk. Wajib.
- {IMAGE_LINK}: Link ke gambar produk di situs Anda. Opsional.
- {PRODUCT_LINK}: Link ke produk di situs Anda. Opsional.
- {CURRENCY_CODE}: Mata uang harga menggunakan akronim tiga huruf sesuai dengan ISO 4217. Opsional.
- {PRICE}: Harga produk yang direpresentasikan sebagai angka dalam mikro. Opsional.
- {SHIPPING_COST}: Harga pengiriman tetap yang direpresentasikan sebagai angka. Opsional.
- {SHIPPING_POSTALCODE}: Rentang kode pos tempat tarif pengiriman berlaku. Opsional.
- {MAX_HANDLING_TIME}: Waktu pemrosesan maksimum dalam hari kerja antara saat pesanan diterima dan saat dikirim. Opsional.
- {MIN_HANDLING_TIME}: Waktu pemrosesan minimum dalam hari kerja antara saat pesanan diterima dan saat dikirim. Nilai 0 berarti pesanan dikirim pada hari yang sama dengan hari penerimaan. Opsional.
- {MAX_TRANSIT_TIME}: Waktu transit maksimum dalam hari kerja antara saat pesanan dikirim dan saat pesanan diterima. Opsional.
- {MIN_TRANSIT_TIME}: Waktu transit minimum dalam hari kerja antara saat pesanan dikirim dan saat pesanan dikirimkan. Nilai 0 berarti pesanan dikirim pada hari yang sama dengan hari pengiriman. Opsional.
Jika permintaan berhasil berjalan, Anda akan melihat respons berikut:
{
"name": "{PRODUCT_NAME}",
"product": "{PRODUCT_ID}",
"channel": "ONLINE",
"offerId": "{OFFER_ID}",
"contentLanguage": "{CONTENT_LANGUAGE}",
"feedLabel": "{FEED_LABEL}",
"versionNumber": "{VERSION_NUMBER}",
"attributes": {
"link": "{PRODUCT_LINK}",
"imageLink": "{IMAGE_LINK}",
"adult": false,
"availability": "in stock",
"brand": "{BRAND_NAME}",
"color": "red",
"gender": "Female",
"price": {
"amountMicros": "{PRICE}",
"currencyCode": "{CURRENCY_CODE}"
},
"shipping": [
{
"price": {
"amountMicros": "{SHIPPING_COST}",
"currencyCode": "{CURRENCY_CODE}"
},
"country": "{SHIPPING_COUNTRY}",
"region": "{SHIPPING_REGION}",
"postalCode": "{SHIPPING_POSTALCODE}",
"minHandlingTime": "{MIN_HANDLING_TIME}",
"maxHandlingTime": "{MAX_HANDLING_TIME}",
"minTransitTime": "{MIN_TRANSIT_TIME}",
"maxTransitTime": "{MAX_TRANSIT_TIME}"
}
],
"productWeight": {
"value": 320,
"unit": "g"
}
},
"customAttributes": [
{
"name": "Size",
"value": "Large"
},
{
"name": "Date of Manufacturing",
"value": "2024-05-05"
}
]
}
Mengambil produk yang telah diproses dari akun Anda
Untuk mengambil produk yang diproses dari akun Anda, gunakan metode accounts.products.get
. Diperlukan waktu beberapa menit agar
produk yang diproses muncul setelah penyisipan.
Anda bisa mendapatkan nama resource produk yang diproses dari kolom product
dalam
respons accounts.productInputs.insert
Menghapus input produk dari akun Anda
Untuk menghapus input produk dari akun Anda, gunakan metode accounts.productInputs.delete
. Anda harus meneruskan
ID unik sumber data utama atau tambahan tempat produk
tersebut berada untuk menghapus produk menggunakan Merchant Products API.
Mencantumkan produk dari akun Anda
Untuk mencantumkan produk yang diproses di akun Anda, gunakan metode accounts.products.list
.