Pada SWIFT, dapat mengintegrasikan product ke Catalog yang terdapat pada Facebook Business Manager. Terkait Facebook Shop & Instagram Shop, approval dari Facebook masih dibutuhkan sesuai dengan Page & akun dari masing-masing pengguna.
Konfigurasi Facebook Shop Melalui Admin
Untuk mengkonfigurasi supaya dapat terhubung dengan Facebook Business Manager, dapat melakukan hal berikut :
Konfigurasikan hal dasar dari modul ini, dengan klik Store > Configuration > ICUBE Extension > Facebook Shop
Gambar 1: Tampilan Bagian Dari Konfigurasi Facebook Shop
Enable Facebook Shop : Opsi untuk mengaktifkan atau menonaktifkan fitur ini
Brand ID : Brand ID mandatory digunakan pada modul ini, nilai dari Brand ID didapat dari pembuatan Sirclo Store dengan mengambil nama toko yang dibuat. Untuk pembuatan toko nya bisa melalui link ini : https://store.sirclo.com/create-online-shop-2.0
Source : By default source berisikan “swift” dan direkomendasikan tidak ubah karena ini sebagai pengenal pada sistem
Production Mode : Opsi untuk menentukan apakah mode yang digunakan sekarang diperuntukkan untuk Production / Staging
Staging URL : URL yang digunakan untuk environment Staging, by default nilai ini tidak diubah. Default value : https://analytics.sirclo-integrations.com.dmmy.me/facebook/productCatalog/batch
Production URL : URL yang digunakan untuk environment Production, by default nilai ini tidak diubah. Default value : https://analytics.sirclo-integrations.com/facebook/productCatalog/batch
Catalog ID : ID dari Catalog dari Facebook Business Manager yang digunakan untuk sinkronisasi fitur ini dengan Facebook Business Manager
Access Token User : Token yang didapatkan dari Facebook Business Manager
PWA URL : URL PWA yang digunakan oleh website, jika website tidak menggunakan full PWA maka bisa mengosongkan nilai ini
Create / Edit suatu product dengan ke Catalog > Inventory > Products
Pada bagian “Is Sync Facebook”, ubah value menjadi “Yes”
Gambar 2: Tampilan Bagian Dari Pembuatan Product
Save Product yang baru di Create / Edit sebelumnya
Product akan tersinkronisasi secara otomatis setiap hari pada malam hari. (Perlu dipastikan kembali dengan developer terkait keberadaan Cron-nya)
Menu Report Synchronization
Sinkronisasi dijalankan secara otomatis & juga bisa secara ad-hoc, dari user dapat melihat apa saja product yang sudah tersinkronisasi ke Catalog Facebook Business Manager dengan klik Marketing > Facebook Shop
Gambar 3: Tampilan Bagian Dari Menu Facebook Shop - Product Feed
Product Report
Pada menu ini, user dapat melihat SKU apa saja yang sudah & gagal tersinkronisasi ke Facebook Business Manager. Di field “Action” akan muncul Button “Retry” hanya untuk produk yang gagal tersinkronisasi atau dengan status “Failed”.
Gambar 4: Tampilan Bagian Dari Menu Product Report
Request Log
Pada menu ini, user dapat melihat lebih detail log dari response yang dikirimkan via API. Berapa banyak request yang sukses atau tidak suksesnya bisa dilihat di field “Total Failed”, “Total Success” & “Total Request”.
Gambar 5: Tampilan Bagian Dari Menu Request Log
Facebook Business Manager
Sebagai kelengkapan terkait modul Facebook Shop - Product feed ini, diperlukan beberapa hal yang berhubungan dengan Facebook Business Manager, antara lain :
Catalog ID
Catalog ID ini akan digunakan untuk request API client, langkah untuk mendapatkan Catalog ID adalah sebagai berikut :
Login ke Business Manager
Masuk ke Data Source > Catalog
Klik Add, dan klik Create a New Catalog
Masukan nama
Generate System User Token
System user token adalah access token yang digunakan untuk request API client, langkah untuk mendapatkan System User Token adalah sebagai berikut :
STEP 1:
Login ke Business Manager
Masuk ke Business Settings > Accounts > Apps
Klik Add, dan klik Create a New App ID
Pilih Business sebagai App ID, dan klik Continue
Masukkan App Display Name dan App Contact Email, dan klik Create App
STEP 2:
Masuk ke Business Settings > Users > System Users, lalu klik Add
Masukkan System Username, dan pilih System User Role untuk user. Klik Create System User
STEP 3:
Masuk ke Business Settings > Accounts > Apps
Cari dan pilih App, lalu klik Add People
Dari jendela Add People dan Set Permissions, pilih System User dan enable App Developer Permission. Klik Assign
STEP 4:
Masuk ke Business Settings > Users > System Users > System User Name
Klik Generate New Token dan pilih app
Masukan catalogs_management di App
Klik Generate Token
Simpan Token
STEP 5:
Masuk ke Business Settings > Users > System Users, dan pilih System User
Pilih Add Assets > Properties
Pilih Asset Name, lalu aktifkan Manage Property slider
Klik Save Changes
Setup Modul
Pada modul facebook shop terdapat penambahan 2 atribut produk yaitu :
“sync_fbshop” sebagai penanda apakah produk tersebut sudah pernah berhasil sinkronisasi buat produk bar atau belum, default value is false.
“is_sync_fb” sebagai permission apakah produk tersebut akan di sinkronisasikan atau tidak, default value is true.
Kedua atribut produk itu tidak akan terpasang secara otomatis di setiap produk yang sudah ada, maka diperlukan mengeksekusi cli icube:facebookshop:sync-all-products untuk memasang kedua atribut produk tersebut ke setiap produk yang sudah ada.
CLI Sinkronisasi Buat Produk Baru
Cara mengirimkan produk baru dengan API yaitu dengan menjalankan script icube:facebookshop:sync-create [<sku>] menggunakan command line interface (CLI)
CLI Sinkronisasi Pembaharuan Produk
Cara mengirimkan pembaharuan produk dengan API yaitu dengan menjalankan script icube:facebookshop:sync-update [<sku>] menggunakan command line interface (CLI)
CLI Hapus Single Atau Multiple SKU Produk
Salah satu cara untuk menghapus produk dengan API dapat menggunakan cli single / multiple sku produk.
Caranya yaitu dengan menjalankan script icube:facebookshop:sync-delete <sku> menggunakan command line interface (CLI)
Sinkronisasi Hapus Produk Dengan Event / Trigger
Sebelum data produk berhasil dihapus, akan ada event “catalog_product_delete_before” untuk mendapatkan SKU produk, yang nantinya akan dikirimkan dengan API untuk menghapus produk pada facebook shop.
Ketentuan dan catatan sama halnya dengan cli hapus single atau multiple sku produk.
CLI Sinkronisasi Ulang
Fungsi sinkronisasi ulang yaitu mengirimkan data product kembali berdasarkan method / action yang didapat ketika gagal sinkronisasi create, update bahkan delete produk.
Caranya dengan menjalankan script icube:facebookshop:sync-retry menggunakan command line interface (CLI)
Cleanup API Log
Cleanup API Log dibuat untuk mengurangi besarnya ukuran data pada tabel “facebookshop_api_log” dikarenakan adanya pencatatan log di setiap request dan respon API.
Berikut konfigurasi cleanup API log berdasarkan “created_at” setelah beberapa hari dari hari yang telah ditentukan / di setting, default value 7 (hari).
Gambar 6: Tampilan Bagian Dari Konfigurasi Facebook Shop
Catalog Payload
Contoh untuk membuat payload katalog produk :
Contoh untuk Update payload katalog produk :
Contoh untuk menghapus payload katalog produk :
Catatan :
Jika berhasil, tidak ada response apapun.
Is required :
method
sku
name
image Url, jika empty diisi placeholder image url
brand, example : "tupperware"
condition :
Default "new",
“DamagedCondition” : “used_fair”,
“RefurbishedCondition” : “refurbished”,
“UsedCondition” : “used”
currency
url, url product
Optional :
additional_image_urls, sama dengan "image Url" dalam array
additional_variant_attributes, default null
availability, “in stock” / “out of stock”
category, diambil category terakhir
description
inventory, kuantitas produk
retailer_product_group_id, default null
price, harga produk harus dikalikan 100 dikarenakan di server wakanda akan dibagi 100.
visibility, jika produk status “Yes” maka di set “published” dan jika produk status “No” maka di set “staging”.