이러한 솔루션과 가이드라인을 사용하여 발생할 수 있는 데이터 피드 문제를 해결하세요.
데이터 피드와 관련된 모든 규칙을 나열하려면 다음으로 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를 사용하여 피드 업로드 세션에 대한 전체 오류 보고서를 요청할 수 있습니다. Meta에서는 요청이 접수되면 백그라운드 작업을 실행하여 이러한 오류를 준비하고 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, }
오류와 경고에 대한 샘플을 얻는 것만으로도 대부분의 제품 피드 업로드 문제를 해결하기에 충분한 경우가 많습니다. 그러나 더 심층적인 분석을 위해서는 전체 오류 리스트가 필요할 수 있습니다. 오류와 경고의 전체 리스트를 다운로드하려면 먼저 최신 업로드 세션을 쿼리해야 합니다(위의 섹션 참조).
주어진 업로드 세션 ID에 대해 전체 오류 보고서 생성을 요청할 수 있습니다.
요청
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" }
다운로드할 수 있는 URL을 찾아야 합니다(예: 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일 이상 지나서 더 이상 사용할 수 없습니다. |
| 이 오류 보고서를 준비하려 시도하는 동안 Meta 측에서 오류가 발생했습니다. 오류 보고서를 요청하여 다시 시도할 수 있습니다. |
참고: 이 오류 보고서를 사용하는 CDN URL을 다운로드할 수 있고 error_report
의 상태가 WRITE_FINISHED
일 때 '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" } ] } } ] }