使用這些解決方案和守則,解決您可能遇到的任何資料摘要問題。
若要列出與資料摘要相關聯的所有規則,請向下列目的地進行 HTTP GET
呼叫:
https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/rules
如需詳細資訊,請參閱參考資料:產品資料摘要規則 API。
您可以從 Meta 取得建議規則,用以修正資料摘要中的錯誤。若要查看上傳連線階段的建議規則,請依照下列步驟操作:
步驟 1:擷取上傳連線階段:
https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/uploads
步驟 2:擷取上傳連線階段的錯誤:
https://graph.facebook.com/<API_VERSION>/<UPLOAD_SESSION_ID>/errors
步驟 3:擷取上傳錯誤的建議規則:
curl -i -X GET "https://graph.facebook.com/<API_VERSION>/<UPLOAD_ERROR_ID>/suggested_rules?access_token={ACCESS_TOKEN}
回應範例
"data": [ "attribute": "description", "type": "letter_case_rule", "params": [ "key": "type", "value": "capitalize_first" ] ]
如需詳細資訊,請參閱參考資料:建議規則 API。
若要將規則套用至資料摘要,您需要將規則與資料摘要建立關聯。
請向下列目的地進行 HTTP POST
呼叫:
https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/rules?attribute={ATTRIBUTE}&rule_type={RULE_TYPE}&params={PARAMS}
範例
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"
回應範例
"id": "{RULE_ID}"
依照以下格式編寫 params
:
規則類型 | 格式 | 範例 | 備註 |
---|---|---|---|
對應規則 | "map_from": <string> | "map_from": "gavailability" | |
值對應規則 | <string> : <string> | "InStock": "in stock" | 對應數量上限為 10,字串長度上限為 20。 |
字母大小寫 | "type": one of : "capitalize_first", "capitalize_all", "to_upper", "to_lower" | "type": "capitalize_first" |
如需詳細資訊,請參閱參考資料:產品資料摘要規則 API。
使用規則修正並避免發生持續性的資料摘要上傳錯誤。您可以提供規則,讓 Meta 套用至每筆資料摘要上傳作業。請指明規則應套用的屬性(直欄)、規則的類型,以及參數。目前無法將規則用於批次 API。您可以提供以下類型的規則:
舉例來說,您可以使用對應和值對應規則修正下列問題:
gavailability
改為 availability
InStock
改為 in stock
45$
改為 45.00 USD
Neu
譯為條件:New
您可使用字母大小寫規則解決下列類型的問題:
BRAND NEW WITH LEATHER DETAIL...
變更為 Brand new with leather detail...
FACEBOOK T-SHIRT
修正為 Facebook T-shirt
若要變更與資料摘要相關聯的規則,您可以進行 HTTP POST
呼叫以更新任何參數,也可進行 HTTP DELETE
呼叫以刪除參數。您只能更新參數。若想變更 attribute
或 rule_type
,您必須刪除並重新建立規則。
https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_RULE_ID>?params={PARAMS}
如需詳細資訊,請參閱參考資料:產品資料摘要規則 API。
您可使用資料摘要上傳錯誤報告 API,要求任何摘要上傳連線階段的完整錯誤報告。收到要求後,我們會執行背景作業以準備錯誤,並將錯誤儲存為 CSV 檔案。
如須要求完整的錯誤報告,請使用 POST /{upload_session_id}/error_report
。
報告內容包含以下資訊:
FATAL
;如果商品已上傳但有錯誤,則為 WARNING
)'da'
的高效速成+ 目錄廣告true
/false
);例如,錯誤使商品無法顯示在在此介面上要求
curl -i -X POST \ -F 'access_token=ACCESS_TOKEN' \ https://graph.intern.facebook.com/<API_VERSION>/<upload session ID>/error_report
回應 回應內容會指出要求結果是否成功:
{ "success": bool, }
取得錯誤和警告樣本後,通常足以解決大多數的產品摘要上傳問題。不過,仍可能需要完整的錯誤清單,才能進行更深入的分析。若要下載錯誤和警告的完整清單,必須先查詢最近的上傳連線階段(請參閱上方小節)。
您可要求依指定的上傳連線階段編號產生完整的錯誤報告。
要求
GET https://graph.facebook.com/vX.X/{upload-session-id}/?fields=error_report
回應
{ "error_report": { "report_status": "WRITE_FINISHED", "file_handle": "{link-to-the-file-location}" }, "id": "493476498092860" }
您應會找到可供下載的網址(例如,使用 wget、curl 等)。下載的檔案會包含完整的錯誤報告。
如果收到此錯誤訊息:「無法存取非由此應用程式所屬企業管理的物件」,請確認您使用的應用程式是否屬於該企業(企業管理平台設定 > 帳號 > 應用程式)。
如果報告仍未準備就緒,請等待幾秒後重新發出最後一個呼叫。隨後即可下載報告。
要求報告後,請使用 GET /{upload_session_id}?fields=error_report
取得錯誤報告的狀態。
範例
curl -i -X GET \ https://graph.intern.facebook.com/<API_VERSION>/<upload session ID>?fields=error_report&access_token=ACCESS_TOKEN
回應
{ "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#)" }
值 | 說明 |
---|---|
| 尚未要求此資料摘要上傳作業的錯誤報告。 |
| 已收到要求,正在處理當中。 |
| 報告建立成功,正在等待寫入 CSV 檔案。 |
| 報告檔案已準備就緒,並可供下載。 |
| 未發現此資料摘要上傳連線階段的資料,可能系統並未處理此摘要上傳作業中的任何商品。 |
| 錯誤報告已超過 30 天,無法再取得。 |
| 我們嘗試準備此錯誤報告時發生問題。您可以再次嘗試要求錯誤報告。 |
注意:當 error_report
的狀態為 WRITE_FINISHED
時,使用此錯誤報告的 CDN 網址可供下載,並將以「file_handle」傳回。
請參閱「產品摘要上傳錯誤」說明文件。另請參閱商務平台:處理產品摘要上傳錯誤。
若要取得摘要上傳作業的錯誤和警告,必須先查詢最近的上傳連線階段。
GET https://graph.facebook.com/vX.X/{product-feed-id}/uploads Token: PAGE_ACCESS_TOKEN
然後,使用 upload_session_id
擷取錯誤和警告。
GET https://graph.facebook.com/vX.X/{upload-session-id}/errors Token: PAGE_ACCESS_TOKEN
此處的嚴重性 fatal
表示 Meta 無法擷取該商品;嚴重性 warning
表示有些建議的屬性缺少或格式錯誤。
{ "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" } ] } } ] }
請參閱「產品摘要上傳錯誤」說明文件。另請參閱高效速成+ 目錄廣告:如何管理產品摘要上傳錯誤。
建議在每次上傳連線階段完成後,檢查目錄上傳錯誤和警告。您可前往商務管理工具的診斷區塊進行檢查,或使用摘要 API 要求錯誤和警告樣本。請先查詢最近的上傳連線階段。
透過 Blueprint 深入瞭解如何解決商務管理工具中的「診斷」警告和錯誤。
GET https://graph.facebook.com/vX.X/{product-feed-id}/uploads
{ "data": [ { "id": "493476498092860", "start_time": "2019-07-15T12:38:36+0000", "end_time": "2019-07-15T12:38:47+0000" } ] }
然後,使用 id
欄位中傳回的值,擷取錯誤和警告樣本。
GET https://graph.facebook.com/vX.X/{upload-session-id}/errors
此處的嚴重性 fatal
表示 Meta 無法擷取該商品;嚴重性 warning
表示有些建議的屬性缺少或格式錯誤。
{ "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" } ] } } ] }