使用以下解决方案和指南,解决您可能会遇到的任何数据信息库问题。
如要列出与某个数据信息库关联的所有规则,请向以下网址发出 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 为每次数据信息库上传所应用的规则。根据应该应用相应规则的属性(列)、规则类型和参数来指定您的规则。您目前无法对 Batch 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" } ] } } ] }