กำหนดเวลาการอัพโหลดฟีดข้อมูล

ใช้คู่มือนี้เพื่ออัพโหลดและกำหนดเวลาฟีดของคุณ

อัพโหลดฟีดของคุณ

หากต้องการอัพโหลดฟีด คุณต้องมีสิทธิ์การอนุญาตcatalog_management โปรดดู API การตลาด สิทธิ์การอนุญาต หลังจากสร้างแค็ตตาล็อกแล้ว ให้ใช้ catalog id เพื่อสร้างและกำหนดเวลาฟีดสินค้า:

curl -X POST \ -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/v20.0/{product-catalog-id}/product_feeds
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const ProductCatalog = bizSdk.ProductCatalog; const ProductFeed = bizSdk.ProductFeed; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<PRODUCT_CATALOG_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'name' : 'Test Feed', 'schedule' : {'interval':'DAILY','url':'http://www.example.com/sample_feed.tsv','hour':'22'}, }; const product_feeds = (new ProductCatalog(id)).createProductFeed( fields, params ); logApiCallResult('product_feeds api call complete.', product_feeds);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\ProductCatalog; use FacebookAds\Object\ProductFeed; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<PRODUCT_CATALOG_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'name' => 'Test Feed', 'schedule' => array('interval' => 'DAILY','url' => 'http://www.example.com/sample_feed.tsv','hour' => '22'), ); echo json_encode((new ProductCatalog($id))->createProductFeed( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.productcatalog import ProductCatalog from facebook_business.adobjects.productfeed import ProductFeed from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<PRODUCT_CATALOG_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'name': 'Test Feed', 'schedule': {'interval':'DAILY','url':'http://www.example.com/sample_feed.tsv','hour':'22'}, } print ProductCatalog(id).create_product_feed( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<PRODUCT_CATALOG_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new ProductCatalog(id, context).createProductFeed() .setName(\"Test Feed\") .setSchedule(\"{\\"interval\\":\\"DAILY\\",\\"url\\":\\"http://www.example.com/sample_feed.tsv\\",\\"hour\\":\\"22\\"}\") .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<PRODUCT_CATALOG_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end product_catalog = FacebookAds::ProductCatalog.get(id) product_feeds = product_catalog.product_feeds.create({ name: 'Test Feed', schedule: {'interval':'DAILY','url':'http://www.example.com/sample_feed.tsv','hour':'22'}, })

พารามิเตอร์ schedule จะช่วยให้คุณสามารถกำหนดเวลาในการอัพโหลดฟีดได้ ตัวเลือกมี interval, url, hour โดยสามารถเพิ่ม day_of_week, minute, username และ password ได้

หมายเหตุ: สำหรับ username และ password เรารองรับการอนุญาตพื้นฐานบน HTTP และ FTP

ตัวอย่าง — กำหนดเวลาการอัพโหลดฟีดของคุณ

schedule: {"day_of_week":"FRIDAY","hour":17,"interval_count":1,"interval":"DAILY","minute":42,"next_scheduled_upload_time":"","password":pwd123,"status":"active","timezone":"Atlantic/Canary","url":"https://www.abc.com","username":aname}

อัพเดตทีละรายการ

อัพเดตข้อมูลทีละรายการตามเวลาจริง เพิ่มช่องที่อัพเดตแล้วใน HTTP POST โดยที่ ผู้จำหน่ายแพ็คเกจอินเทอร์เน็ตretailer_id คือ ID รายการจากฟีดของคุณ โดยจะต้องเป็นการเข้ารหัสแบบ base64url

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

ดูช่องที่สามารถเปลี่ยนแปลงได้ในสินค้า ข้อมูลอ้างอิง

ห้ามระบุฟีดรายการที่มีการอัพเดต การสร้าง หรือการลบรายการแต่ละรายการด้วย API ซึ่งอาจขัดขวางการอัพเดตหรือการลบรายการที่คุณสร้างด้วย API เนื่องจากเราไม่ได้ติดตามสิ่งเหล่านี้ด้วยฟีด

กำหนดเวลาการดึงฟีดข้อมูล

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

หากคุณกำลังใช้ API ของเราเพื่อสร้างและจัดการฟีดของคุณ คุณจะต้องส่งคำขอ API ให้เราพร้อมกับรายละเอียดสำหรับการกำหนดเวลาการอัพเดตที่คุณต้องการสร้าง:

curl \
  -F 'name=Test Feed' \
  -F 'update_schedule={ 
    "interval": "HOURLY", 
    "url": "http:\/\/www.example.com\/sample_feed_updates.tsv",
    "hour": 22
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds

เราจะดึงฟีดรายการจากระบบของคุณตามเวลาที่คุณกำหนด คุณสามารถระบุการกำหนดเวลาได้ 2 ประเภทต่อไปนี้

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

ตัวอย่าง: update_schedule มีความถี่เป็น HOURLY และแทนที่ schedule เป็นความถี่ DAILY แทน

เราขอแนะนำให้ตั้งค่า update_schedule โดยให้มีเฉพาะข้อมูลที่เปลี่ยนแปลงไปในไฟล์ฟีดข้อมูล เพื่อให้ประมวลผลฟีดได้เร็วขึ้น ซึ่งจะดียิ่งขึ้นโดยเฉพาะอย่างยิ่งสำหรับการลดราคาช่วงเทศกาลและการอัพเดตราคาและจำนวนสินค้าที่มีจำหน่ายที่รวดเร็วยิ่งขึ้น ขอแนะนำให้ทำเครื่องหมายสินค้าว่า "สินค้าหมด" แทนที่จะลบออกจากฟีด เพื่อให้เราสามารถกำหนดเป้าหมายผู้ใช้ซ้ำด้วยสินค้าที่มีจำหน่ายที่คล้ายๆ กัน

curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv"
  }' \
  -F 'update_schedule={ 
    "interval": "HOURLY", 
    "url": "http:\/\/www.example.com\/sample_feed_updates.tsv",
    "hour": 22
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds

การตอบกลับ:

{ "id" : {FEED_ID} }

ดูข้อมูลอ้างอิงฟีดข้อมูลข้อมูลอ้างอิงการกำหนดเวลาฟีดข้อมูล