데이터 피드 문제 해결

이러한 솔루션과 가이드라인을 사용하여 발생할 수 있는 데이터 피드 문제를 해결하세요.

추천 규칙 보기

데이터 피드와 관련된 모든 규칙을 나열하려면 다음으로 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}&amp;rule_type={RULE_TYPE}&amp;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를 통해 규칙을 사용할 수 없습니다. 다음과 같은 유형의 규칙을 제공할 수 있습니다.

  • 매핑 규칙 - 데이터 피드 파일의 속성(열 이름)을 Meta에서 인식할 수 있는 속성에 매핑합니다.
  • 값 매핑 규칙 - 데이터 피드 파일의 필드(열 값)를 Meta에서 인식할 수 있는 필드에 매핑합니다.
  • 대소문자 규칙 - 필드 내 단어의 대소문자를 변경합니다. 예를 들어 모든 대문자 설명을 소문자로 변경합니다.

예를 들어 매핑 및 값 매핑 규칙으로 다음과 같은 문제를 수정할 수 있습니다.

  • 속성 오타 gavailabilityavailability로 수정
  • 인식되지 않는 enum InStockin stock으로 수정
  • 가격 형식을 45$에서 45.00 USD로 수정
  • 상태: Neu를 상태: New로 수정

대소문자 규칙을 사용하여 다음과 같은 유형의 문제를 해결할 수 있습니다.

  • 전체 대문자 설명 BRAND NEW WITH LEATHER DETAIL...Brand new with leather detail...로 변경
  • 전체 대문자 제목 FACEBOOK T-SHIRTFacebook T-shirt로 변경

규칙 업데이트 및 삭제

데이터 피드와 관련된 규칙을 변경하려면 HTTP POST 호출을 보내서 매개변수를 업데이트하고 HTTP DELETE 호출을 보내서 삭제합니다. 매개변수만 업데이트할 수 있습니다. attribute 또는 rule_type을 변경하고자 하는 경우 규칙을 삭제하고 다시 만들어야 합니다.

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

자세한 내용은 제품 데이터 피드 규칙 API, 참고 자료를 참조하세요.

카탈로그에서 누락된 품목 수정

커머스 관리자가 카탈로그의 일부 품목이 누락되었거나 이를 찾을 수 없다고 보고하는 경우, Meta 픽셀 또는 앱이 적절히 설정되었는지 확인해야 할 수 있습니다. 이 오류는 다음과 같은 경우에 발생할 수 있습니다.

  • 픽셀 또는 앱 이벤트에 포함된 content_id가 카탈로그의 데이터 피드에 있는 ID와 일치하지 않습니다.
  • 픽셀 또는 앱이 카탈로그와 연결되어 있지 않습니다.
  • 품목이 카탈로그에 존재하지 않습니다.

여기에서 자세히 알아보세요.

Blueprint를 통해 피드 문제 해결에 대해 자세히 알아보세요.

데이터 피드 업로드 오류 보고서 요청

어드밴티지+ 카탈로그 광고

데이터 피드 업로드 오류 보고 API를 사용하여 피드 업로드 세션에 대한 전체 오류 보고서를 요청할 수 있습니다. Meta에서는 요청이 접수되면 백그라운드 작업을 실행하여 이러한 오류를 준비하고 CSV 파일로 저장합니다.

전체 오류 보고서를 요청하려면 POST /{upload_session_id}/error_report를 사용하세요.

이 보고서에는 다음에 대한 정보가 포함되어 있습니다.

  • 오류가 발생한 품목의 판매점 ID
  • 오류 메시지
  • 오류 심각성(오류로 인해 품목이 거부되는 경우 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#)"
}

가능한 값 - 반환된 상태


설명

NOT_REQUESTED

이 데이터 피드 업로드의 오류 보고서가 요청되지 않았습니다.

REQUESTED

요청이 접수되었으며 처리 중입니다.

CREATED

보고서가 성공적으로 생성되었고 CSV 파일로 작성되기를 기다리는 중입니다.

WRITE_FINISHED

보고서 파일이 준비되었고 다운로드할 수 있습니다.

SESSION_DATA_NOT_FOUND

이 데이터 피드 업로드 세션에 대한 데이터를 찾을 수 없습니다. 이 피드 업로드에 대해 처리된 품목이 없기 때문일 수 있습니다.

ERROR_REPORT_OUTDATED

오류 보고서가 30일 이상 지나서 더 이상 사용할 수 없습니다.

FATAL_ERROR

이 오류 보고서를 준비하려 시도하는 동안 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"
          }
        ]
      }
    }
  ]
}