แค็ตตาล็อก

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

แค็ตตาล็อกบน Facebook มีชุด API เป็นของตัวเอง แต่ FBE จะผสานการทำงานกับ API จำนวน 2-3 รายการโดยตรง เพื่อให้คุณอัพเดตสินค้าคงคลังของธุรกิจบนแพลตฟอร์มของเราได้โดยง่าย (โดยคุณไม่จำเป็นต้องติดตาม ID ของแค็ตตาล็อกบน Facebook จากฝั่งของคุณ)

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

อัพเดตสินค้าคงคลัง

การอัพเดตสินค้าคงคลังทำได้ 2 วิธีดังนี้

  • ดัน: ดันแค็ตตาล็อกไปยัง Facebook ผ่าน API (แนะนำให้ใช้)
  • ดึง: กำหนดให้ Facebook ดึงแค็ตตาล็อกจากแพลตฟอร์มของคุณเป็นระยะๆ (ไม่แนะนำให้ใช้เนื่องจากจะทำให้เกิดสินค้าคงคลังที่ไม่อัพเดตและเซิร์ฟเวอร์ต้องรับภาระโดยไม่จำเป็น)

วิธีแบบดัน

เราขอแนะนำอย่างยิ่งให้ใช้วิธีแบบดันอย่างใดอย่างหนึ่ง(API แบตช์หรือ API การอัพโหลดฟีดแบบครั้งเดียว) เนื่องจากจะเปิดใช้งานการอัพเดตสินค้าคงคลังในทันทีและลดภาระให้กับเซิร์ฟเวอร์ในทั้ง 2 ฝั่ง access_token ที่ใช้ในที่นี้จะเหมือนกันกับที่ส่งคืนมาจากการเข้าสู่ระบบธุรกิจและ Webhook

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

API แบตช์

แนะนำสำหรับธุรกิจอีคอมเมิร์ซส่วนใหญ่API แบตช์เป็น API แค็ตตาล็อกบน Facebook แบบมาตรฐาน โดยจะมีประโยชน์ต่อธุรกิจที่มีสินค้าคงคลังขนาดใหญ่ (สินค้า 100 รายการขึ้นไป) และ/หรืออัพเดตสินค้าต่างๆ เป็นประจำ

API การอัพโหลดฟีดแบบครั้งเดียว

พร้อมใช้งานสำหรับธุรกิจด้านการนัดหมาย (บริการ)API การอัพโหลดฟีดแบบครั้งเดียวเป็น API แค็ตตาล็อกบน Facebook แบบมาตรฐาน โดยจะมีประโยชน์ต่อธุรกิจที่มีสินค้าคงคลังขนาดเล็กลงมา (สินค้าประมาณ 100 รายการ หรือน้อยกว่านั้น)

เมื่อใช้วิธีนี้ คุณจะส่งสินค้าคงคลังแบบเต็มทุกครั้งที่มีการอัพเดต ซึ่งจะเข้าไปแทนที่สินค้าคงคลังในแค็ตตาล็อกบน Facebook ทั้งหมด

ขั้นตอนที่ 1: เรียกดู ID ฟีดที่สร้างขึ้นในระหว่างการติดตั้ง FBE โดยส่ง ID แค็ตตาล็อกที่เชื่อมต่อ (จากการแจ้งเตือน Webhook หรือจากตำแหน่งข้อมูล API การติดตั้ง FBE ของเรา) ดังนี้

curl -G \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds

โปรดเรียนรู้เพิ่มเติมเกี่ยวกับ API ฟีดสินค้า

ขั้นตอนที่ 2: ดำเนินการอัพโหลดแบบครั้งเดียวไปยังฟีดดังนี้

ตัวอย่าง — ไฟล์ฟีดที่โฮสต์อยู่บนตำแหน่งสาธารณะ

Graph API Explorer
curl -X POST \
  -F 'url="http://www.example.com/sample_feed.xml"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/{FEED_ID}/uploads
POST /{FEED_ID}/uploads HTTP/1.1
Host: graph.facebook.com

url=http%3A%2F%2Fwww.example.com%2Fsample_feed.xml
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{FEED_ID}/uploads',
    array (
      'url' => 'http://www.example.com/sample_feed.xml',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{FEED_ID}/uploads",
    "POST",
    {
        "url": "http:\/\/www.example.com\/sample_feed.xml"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);

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

Graph API Explorer
curl -X POST \
  -F 'file=@catalog.csv;type=text/csv' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/{FEED_ID}/uploads
POST /{FEED_ID}/uploads HTTP/1.1
Host: graph.facebook.com

file=%40catalog.csv%3Btype%3Dtext%2Fcsv
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{FEED_ID}/uploads',
    array (
      'file' => '@catalog.csv;type=text/csv',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{FEED_ID}/uploads",
    "POST",
    {
        "file": "@catalog.csv;type=text\/csv"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);

รูปแบบที่รองรับ

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

โปรดดูช่องที่รองรับสำหรับแค็ตตาล็อกด้านการนัดหมาย (บริการ)

วิธีแบบดึง

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

โปรดเรียนรู้เพิ่มเติมเกี่ยวกับการดึงฟีดตามกำหนดเวลา