Khắc phục sự cố nguồn cấp dữ liệu

Hãy sử dụng các giải pháp và nguyên tắc dưới đây cho mọi vấn đề về nguồn cấp dữ liệu mà bạn có thể gặp phải.

Xem quy tắc gợi ý

Để liệt kê tất cả quy tắc được liên kết với một nguồn cấp dữ liệu, hãy thực hiện lệnh gọi HTTP GET đến:

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/rules

Hãy xem API Quy tắc nguồn cấp dữ liệu sản phẩm, Tài liệu tham khảo để biết chi tiết.

Bạn có thể lấy các quy tắc gợi ý của Meta để sửa lỗi trong nguồn cấp dữ liệu của mình. Để xem quy tắc gợi ý cho phiên tải lên, hãy làm theo các bước sau đây:

Bước 1: Truy xuất phiên tải lên:

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/uploads

Bước 2: Truy xuất lỗi cho phiên tải lên:

https://graph.facebook.com/<API_VERSION>/<UPLOAD_SESSION_ID>/errors

Bước 3: Truy xuất quy tắc gợi ý cho lỗi tải lên:

curl -i -X GET 
 "https://graph.facebook.com/<API_VERSION>/<UPLOAD_ERROR_ID>/suggested_rules?access_token={ACCESS_TOKEN}

Phản hồi mẫu

"data": [
  
    "attribute": "description",
    "type": "letter_case_rule",
    "params": [
      
        "key": "type",
        "value": "capitalize_first"
      
    ]
  
]

Hãy xem API Quy tắc gợi ý, Tài liệu tham khảo để biết chi tiết.

Áp dụng quy tắc cho nguồn cấp dữ liệu

Để áp dụng quy tắc cho nguồn cấp dữ liệu, bạn cần liên kết quy tắc đó với nguồn cấp dữ liệu.

Thực hiện lệnh gọi HTTP POST đến:

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/rules?attribute={ATTRIBUTE}&amp;rule_type={RULE_TYPE}&amp;params={PARAMS}

Ví dụ

curl -i -X POST 
  -d "attribute=google_product_category" 
  -d "rule_type=mapping_rule" 
  -d "params=%7B'map_from'%3A%20'gcategory'%7D" 
  -d "access_token={ACCESS_TOKEN}" 
  "https://graph.facebook.com/<API_VERSION>/{PRODUCT_FEED_ID}/rules" 

Phản hồi mẫu

"id": "{RULE_ID}"

Định dạng params như sau:

Loại quy tắc Định dạng Ví dụ Ghi chú

Quy tắc ánh xạ

"map_from": <string>

"map_from": "gavailability"

Quy tắc ánh xạ giá trị

<string> : <string>

"InStock": "in stock"

Số lượng mục ánh xạ tối đa là 10 và độ dài chuỗi là 20.

Quy tắc viết hoa

"type": một trong các giá trị: "capitalize_first", "capitalize_all", "to_upper", "to_lower"

"type": "capitalize_first"

Hãy xem API Quy tắc nguồn cấp dữ liệu sản phẩm, Tài liệu tham khảo để biết chi tiết.

Sửa lỗi tải nguồn cấp dữ liệu lên bằng quy tắc

Sửa và ngăn chặn lỗi tải nguồn cấp dữ liệu lên xảy ra liên tục bằng quy tắc. Bạn có thể cung cấp quy tắc mà Meta áp dụng cho mỗi lần tải nguồn cấp dữ liệu lên. Hãy chỉ định quy tắc theo thuộc tính (cột) mà quy tắc sẽ áp dụng, theo loại quy tắc và theo thông số. Hiện tại, bạn không thể sử dụng quy tắc với API Loạt. Bạn có thể cung cấp các loại quy tắc sau đây:

  • Quy tắc ánh xạ - Ánh xạ thuộc tính (tên cột) trong file nguồn cấp dữ liệu với thuộc tính mà chúng tôi có thể nhận dạng.
  • Quy tắc ánh xạ giá trị - Ánh xạ trường (giá trị cột) trong file nguồn cấp dữ liệu với trường mà chúng tôi có thể nhận dạng.
  • Quy tắc viết hoa - Thay đổi cách viết hoa các từ trong một trường. Ví dụ: thay đổi tất cả nội dung mô tả bằng chữ hoa thành chữ thường.

Ví dụ: bạn có thể khắc phục các vấn đề sau đây bằng Quy tắc ánh xạ và Quy tắc ánh xạ giá trị:

  • Lỗi đánh máy thuộc tính từ gavailability thành availability
  • Sửa enum không nhận dạng được InStock thành in stock
  • Định dạng giá từ 45$ thành 45.00 USD
  • Chuyển đổi Tình trạng: Neu trong Tình trạng: New

Bạn có thể dùng Quy tắc viết hoa để giải quyết các loại vấn đề sau đây:

  • Thay đổi nội dung mô tả được viết hoa toàn bộ BRAND NEW WITH LEATHER DETAIL... thành Brand new with leather detail...
  • Sửa tiêu đề được viết hoa toàn bộ FACEBOOK T-SHIRT thành Facebook T-shirt

Cập nhật và xóa quy tắc

Nếu bạn muốn thay đổi quy tắc được liên kết với nguồn cấp dữ liệu, hãy thực hiện lệnh gọi HTTP POST để cập nhật bất kỳ thông số nào và lệnh gọi HTTP DELETE để xóa quy tắc đó. Bạn chỉ có thể cập nhật thông số. Nếu muốn thay đổi attribute hoặc rule_type, bạn phải xóa rồi tạo lại quy tắc.

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_RULE_ID>?params={PARAMS}

Hãy xem API Quy tắc nguồn cấp dữ liệu sản phẩm, Tài liệu tham khảo để biết chi tiết.

Sửa lỗi thiếu mặt hàng trong danh mục

Nếu Công cụ quản lý thương mại báo cáo về việc thiếu hoặc không tìm thấy một số mặt hàng trong danh mục, bạn có thể cần kiểm tra để đảm bảo Meta pixel hoặc ứng dụng của bạn đã được thiết lập đúng cách. Bạn có thể gặp lỗi này khi:

  • content_id có trong sự kiện pixel hoặc sự kiện trong ứng dụng của bạn không khớp với ID trong nguồn cấp dữ liệu của danh mục.
  • Pixel hoặc ứng dụng không được liên kết với danh mục.
  • Mặt hành không tồn tại trong danh mục.

Tìm hiểu thêm tại đây.

Tìm hiểu thêm về cách khắc phục sự cố nguồn cấp dữ liệu bằng Blueprint.

Yêu cầu báo cáo lỗi tải nguồn cấp dữ liệu lên

Quảng cáo danh mục Advantage+

Bạn có thể sử dụng API Báo cáo lỗi tải nguồn cấp dữ liệu lên để yêu cầu báo cáo lỗi đầy đủ cho mọi phiên tải nguồn cấp dữ liệu lên. Sau khi nhận được yêu cầu, chúng tôi sẽ chạy tác vụ nền để chuẩn bị những lỗi này và lưu trữ chúng trong file CSV.

Để yêu cầu báo cáo lỗi đầy đủ, hãy sử dụng POST /{upload_session_id}/error_report.

Báo cáo này chứa thông tin về:

  • ID nhà bán lẻ của mặt hàng bị lỗi
  • Thông báo lỗi
  • Mức độ nghiêm trong của lỗi (FATAL nếu lỗi khiến mặt hàng bị từ chối, WARNING nếu mặt hàng được tải lên nhưng có lỗi)
  • Tên trường xảy ra lỗi này
  • Những tính năng chịu ảnh hưởng của lỗi này; ví dụ: lỗi ảnh hưởng đến quảng cáo danh mục Advantage+ có chứa 'da' trong cột này
  • Liệu lỗi có chặn tính năng không (true/false); ví dụ: liệu lỗi có khiến mặt hàng không hiển thị trên giao diện này không

Yêu cầu

curl -i -X POST \
  -F 'access_token=ACCESS_TOKEN' \
  https://graph.intern.facebook.com/<API_VERSION>/<upload session ID>/error_report

Phản hồi Phản hồi cho biết yêu cầu có thành công hay không:

{
  "success": bool,
}

Thương mại

Thông thường, bạn chỉ cần lấy mẫu lỗi và cảnh báo là có thể khắc phục hầu hết vấn đề khi tải nguồn cấp dữ liệu sản phẩm lên. Tuy nhiên, bạn có thể cần danh sách lỗi đầy đủ để phân tích sâu hơn. Để tải danh sách đầy đủ các lỗi và cảnh báo xuống, trước tiên, bạn phải truy vấn phiên tải lên gần đây nhất (xem phần ở trên).

Bạn có thể yêu cầu tạo báo cáo lỗi đầy đủ cho một ID phiên tải lên cụ thể.

Yêu cầu

GET https://graph.facebook.com/vX.X/{upload-session-id}/?fields=error_report

Phản hồi

{
  "error_report": {
    "report_status": "WRITE_FINISHED",
    "file_handle": "{link-to-the-file-location}"
  },
  "id": "493476498092860"
}

Bạn nên tìm một URL mà mình có thể tải xuống (ví dụ: bằng wget, curl, v.v.). File đã tải xuống sẽ chứa báo cáo lỗi đầy đủ.

Nếu bạn gặp lỗi này: "Không thể truy cập vào đối tượng không thuộc quyền quản lý của doanh nghiệp sở hữu ứng dụng này", hãy đảm bảo rằng ứng dụng bạn đang dùng thuộc về doanh nghiệp đó (Cài đặt cho doanh nghiệp > Tài khoản > Ứng dụng).

Trong trường hợp báo cáo chưa sẵn sàng, hãy lặp lại lệnh gọi gần đây nhất sau vài giây. Sau đó, bạn có thể tải báo cáo xuống.

Lấy trạng thái báo cáo lỗi

Sau khi yêu cầu báo cáo, hãy sử dụng GET /{upload_session_id}?fields=error_report để lấy trạng thái của báo cáo lỗi.

Ví dụ

curl -i -X GET \
 https://graph.intern.facebook.com/<API_VERSION>/<upload session ID>?fields=error_report&access_token=ACCESS_TOKEN

Phản hồi

{
  "error_report": {
    "report_status": string,
    "file_handle": string, // if available
  }
  "id": "332552650711532 (https://developers.intern.facebook.com/tools/explorer/690422434302374?method=GET&path=332552650711532%3Ffields%3Derror_report&version=v3.2#)"
}

Giá trị có thể nhận được - Trạng thái trả về


Giá trịMô tả

NOT_REQUESTED

Chưa yêu cầu báo cáo lỗi cho lần tải nguồn cấp dữ liệu lên này.

REQUESTED

Đã nhận được và đang xử lý yêu cầu.

CREATED

Đã tạo thành công báo cáo và đang chờ ghi vào file CSV.

WRITE_FINISHED

Đã chuẩn bị file báo cáo và có thể tải xuống được.

SESSION_DATA_NOT_FOUND

Không tìm thấy dữ liệu nào cho phiên tải nguồn cấp dữ liệu lên này, có khả năng không có mặt hàng nào được xử lý cho lần tải nguồn cấp dữ liệu lên này.

ERROR_REPORT_OUTDATED

Báo cáo lỗi đã quá 30 ngày và không còn tồn tại.

FATAL_ERROR

Đã xảy ra lỗi ở phía chúng tôi khi cố chuẩn bị báo cáo lỗi này. Bạn có thể yêu cầu báo cáo lỗi để thử lại.

Lưu ý: URL CDN sử dụng báo cáo lỗi này có thể tải xuống được và sẽ được trả về dưới dạng "file_handle" khi trạng thái của error_reportWRITE_FINISHED.

Quản lý lỗi tải nguồn cấp dữ liệu sản phẩm lên

Quảng cáo danh mục Advantage+

Hãy đọc tài liệu về Lỗi tải nguồn cấp dữ liệu sản phẩm lên. Bạn cũng nên xem phần Xử lý lỗi tải nguồn cấp dữ liệu sản phẩm lên, Nền tảng thương mại.

Yêu cầu

Để lấy lỗi và cảnh báo từ một lần tải nguồn cấp dữ liệu lên, trước tiên, bạn phải truy vấn các phiên tải lên gần đây.

GET https://graph.facebook.com/vX.X/{product-feed-id}/uploads
Token: PAGE_ACCESS_TOKEN

Sau đó, hãy sử dụng upload_session_id để truy xuất lỗi và cảnh báo.

GET https://graph.facebook.com/vX.X/{upload-session-id}/errors
Token: PAGE_ACCESS_TOKEN

Phản hồi mẫu

Mức độ nghiêm trọng fatal ở đây nghĩa là Meta không thể nhập mặt hàng; mức độ nghiêm trọng warning nghĩa là một số thuộc tính được đề xuất bị thiếu hoặc sai định dạng.

{
  "data": [
    {
      "id": 1510567479166488,
      "summary": "A required field is missing: price.",
      "description": "Products need to have prices to run in ads. Include a price for each product in your data feed file and upload it again. Prices must include cost and an ISO currency code (for example: 10 USD instead of $10 for American dollars).",
      "severity": "fatal",
      "samples": {
        "data": [
          {
            "row_number": 2,
            "retailer_id": "yj9bpbpub5t8t22kgbq6",
            "id": "1677559492523068"
          },
          {
            "row_number": 5,
            "retailer_id": "ujn33tvbyv2vmdpo7ecb",
            "id": "1529743440653137"
          }
        ]
      }
    },
    {
      "id": 275241589314958,
      "summary": "GTIN is incorrectly formatted",
      "description": "Check that the GTIN (Global Trade Identification Number) for each of your products is in the correct format. Accepted types include UPC, EAN, JAN, and ISBN.",
      "severity": "warning",
      "samples": {
        "data": [
          {
            "row_number": 4,
            "retailer_id": "bxwb1pho9o43uxjxikcg",
            "id": "538700559625644"
          }
        ]
      }
    }
  ]
}

Thương mại

Hãy đọc tài liệu về Lỗi tải nguồn cấp dữ liệu sản phẩm lên. Bạn cũng nên xem phần cách quản lý Lỗi tải nguồn cấp dữ liệu sản phẩm lên, Quảng cáo danh mục Advantage+.

Bạn nên kiểm tra lỗi và cảnh báo tải danh mục lên sau mỗi phiên tải lên. Bạn có thể kiểm tra bằng cách mở phần Chẩn đoán trong Công cụ quản lý thương mại hoặc sử dụng API Nguồn cấp dữ liệu để yêu cầu mẫu lỗi và cảnh báo. Trước tiên, hãy truy vấn các phiên tải lên gần đây.

Tìm hiểu thêm về cách khắc phục lỗi và cảnh báo Chẩn đoán trong Công cụ quản lý thương mại bằng Blueprint.

Yêu cầu

GET https://graph.facebook.com/vX.X/{product-feed-id}/uploads

Phản hồi mẫu

{
  "data": [
    {
      "id": "493476498092860",
      "start_time": "2019-07-15T12:38:36+0000",
      "end_time": "2019-07-15T12:38:47+0000"
    }
  ]
}

Sau đó, hãy sử dụng giá trị được trả về trong trường id để truy xuất mẫu lỗi và cảnh báo.

Yêu cầu

GET https://graph.facebook.com/vX.X/{upload-session-id}/errors

Phản hồi mẫu

Mức độ nghiêm trọng fatal ở đây nghĩa là Meta không thể nhập mặt hàng; mức độ nghiêm trọng warning nghĩa là một số thuộc tính được đề xuất bị thiếu hoặc sai định dạng.

{
  "data": [
    {
      "id": 1510567479166488,
      "summary": "A required field is missing: price.",
      "description": "Products need to have prices to run in ads. Include a price for each product in your data feed file and upload it again. Prices must include cost and an ISO currency code (for example: 10 USD instead of $10 for American dollars).",
      "severity": "fatal",
      "samples": {
        "data": [
          {
            "row_number": 2,
            "retailer_id": "yj9bpbpub5t8t22kgbq6",
            "id": "1677559492523068"
          },
          {
            "row_number": 5,
            "retailer_id": "ujn33tvbyv2vmdpo7ecb",
            "id": "1529743440653137"
          }
        ]
      }
    },
    {
      "id": 275241589314958,
      "summary": "GTIN is incorrectly formatted",
      "description": "Check that the GTIN (Global Trade Identification Number) for each of your products is in the correct format. Accepted types include UPC, EAN, JAN, and ISBN.",
      "severity": "warning",
      "samples": {
        "data": [
          {
            "row_number": 4,
            "retailer_id": "bxwb1pho9o43uxjxikcg",
            "id": "538700559625644"
          }
        ]
      }
    }
  ]
}