Lên lịch tải nguồn cấp dữ liệu lên

Hãy tải lên và lên lịch cho nguồn cấp dữ liệu của bạn theo hướng dẫn này.

Tải nguồn cấp dữ liệu lên

Để tải nguồn cấp dữ liệu lên, bạn cần có quyền catalog_management. Hãy xem phần API Marketing, Quyền. Sau khi bạn tạo danh mục, hãy sử dụng catalog id để tạo và lên lịch cho Nguồn cấp dữ liệu sản phẩm:

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/v19.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'}, })

Bạn có thể lên lịch tải nguồn cấp dữ liệu của mình lên bằng thông số schedule. Bạn có thể chọn interval, url, hour, cũng như day_of_week, minute, usernamepassword.

Lưu ý: Đối với usernamepassword, chúng tôi hỗ trợ xác thực cơ bản trên HTTP và FTP.

Ví dụ - Lên lịch tải nguồn cấp dữ liệu lên

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}

Cập nhật mặt hàng riêng lẻ

Cập nhật dữ liệu của mặt hàng riêng lẻ theo thời gian thực. Hãy thêm các trường đã cập nhật vào HTTP POST, trong đó retailer_id là ID mặt hàng trong nguồn cấp dữ liệu của bạn và phải được mã hóa base64url.

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

Xem các trường có thể thay đổi trong phần Sản phẩm, Tài liệu tham khảo.

Không cung cấp nguồn cấp dữ liệu mặt hàng mà bạn đã dùng API để cập nhật, tạo hoặc xóa mặt hàng riêng lẻ. Nếu bạn làm như vậy, mọi quá trình cập nhật hoặc xóa mặt hàng mà bạn đã tạo bằng API có thể bị gián đoạn, vì chúng tôi không theo dõi những quá trình này qua nguồn cấp dữ liệu.

Lên lịch tìm nạp nguồn cấp dữ liệu

Đối với nguồn cấp dữ liệu đã lên lịch, bạn không thể tải lên thường xuyên hơn một lần mỗi giờ. Nếu cần cập nhật danh sách cung ứng nhanh hơn, bạn nên sử dụng API Tải lên trực tiếp.

Khi sử dụng API của chúng tôi để tạo và quản lý nguồn cấp dữ liệu, bạn cần gửi cho chúng tôi một yêu cầu API kèm theo thông tin chi tiết về lịch cập nhật mà bạn muốn tạo:

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

Chúng tôi sẽ tìm nạp nguồn cấp dữ liệu mặt hàng trong hệ thống của bạn theo lịch mà bạn xác định. Bạn có thể xác định 2 loại lịch sau đây:

  • update_schedule - Thao tác tải lên sẽ tạo mặt hàng mới hoặc cập nhật mặt hàng hiện có theo thông tin được cung cấp trong file nguồn cấp dữ liệu.
  • schedule - Thao tác tải lên sẽ làm mới toàn bộ nguồn cấp dữ liệu của bạn. Chúng tôi sẽ xóa mặt hàng không có trong file, cập nhật mặt hàng hiện có và tạo mặt hàng mới. Bạn có thể sử dụng một trong hai loại lịch hoặc cả hai, tùy theo nhu cầu của mình.

Ví dụ: update_schedule theo tần suất HOURLYschedule thay thế theo tần suất DAILY.

Bạn nên thiết lập update_schedule chỉ dựa trên dữ liệu đã thay đổi trong file nguồn cấp dữ liệu để xử lý nguồn cấp dữ liệu nhanh hơn. Cách này đặc biệt hiệu quả hơn cho hoạt động bán hàng trong dịp lễ, đồng thời giúp cập nhật giá cả và tình trạng còn hàng nhanh hơn. Ngoài ra, bạn nên đánh dấu mặt hàng là "hết hàng" thay vì xóa khỏi nguồn cấp dữ liệu. Nhờ vậy, chúng tôi có thể nhắm mục tiêu lại người dùng bằng mặt hàng tương tự có sẵn.

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

Phản hồi:

{ "id" : {FEED_ID} }

Hãy xem Tài liệu tham khảo về nguồn cấp dữ liệu, Tài liệu tham khảo về lên lịch cho nguồn cấp dữ liệu.