집계된 제품 통계 및 문제를 가져오는 방식이 변경되었습니다. 이전에 Shopping용 Content API의 accountstatuses 리소스에서 사용할 수 있었던 기능이 이제 Merchant API의 전용 리소스로 분할되었습니다. 이 가이드에서는 새 aggregateProductStatuses 리소스를 사용하도록 통합을 이전하는 방법을 설명합니다.
참고: Merchant API에서는 계정 수준 문제와 집계 제품 상태가 분리됩니다. accountstatuses에서 계정 문제로 이전하는 가이드도 검토하세요.
주요 차이점
Content API for Shopping과 Merchant API의 제품 상태 기능 간 주요 차이점은 다음과 같습니다.
전용 리소스: 이제 쇼핑용 Content API의 accountstatuses 리소스가 분할됩니다. Merchant API에서 계정 수준 문제는 accountissues 리소스를 통해 확인할 수 있으며, 집계된 제품 통계와 상품 수준 문제는 새로운 aggregateProductStatuses 리소스를 통해 확인할 수 있습니다.
새 리소스 구조: AggregateProductStatus는 보고 컨텍스트와 국가의 특정 조합에 대한 통계와 문제를 나타내는 새 리소스입니다.
필터링 메커니즘: destinations와 같은 쿼리 매개변수를 사용하여 데이터를 선택하는 대신 Merchant API는 filter 문자열이 있는 list 메서드를 사용하여 특정 보고 컨텍스트와 국가를 쿼리합니다.
채널 필드 삭제: channel 필드가 더 이상 사용되지 않습니다. 이 정보는 이제 reportingContext의 일부가 됩니다.
요청
Merchant API는 filter 매개변수가 있는 GET 요청을 사용하여 집계된 제품 상태를 가져옵니다.
GET
https://merchantapi.googleapis.com/issueresolution/v1/{parent=accounts/*}/aggregateProductStatuses
요청 URL 형식
요청 설명
Content API for Shopping
Merchant API
제품 통계 및 문제 가져오기
GET /content/v2.1/{merchantId}/accountstatuses/{accountId}
GET /issueresolution/v1/accounts/{accountId}/aggregateProductStatuses
식별자
새 구조를 지원하기 위해 리소스가 식별되는 방식이 변경되었습니다.
식별자 형식
식별자 설명
Content API for Shopping
Merchant API
리소스 식별자
리소스가 accountId에 의해 식별되었습니다. 쿼리 매개변수를 사용하여 특정 데이터 슬라이스가 선택되었습니다.
리소스 이름은 특정 보고 컨텍스트 및 국가의 데이터를 고유하게 식별합니다(accounts/{account}/aggregateProductStatuses/{reportingContext}~{country}).
메서드
제품 상태를 가져오는 메서드가 필터링을 지원하는 list 메서드로 업데이트되었습니다.
Content API for Shopping 메서드
Merchant API 메서드
사용 가능 여부 및 참고사항
accountstatuses.get
aggregateProductStatuses.list
accountstatuses.get 메서드는 모든 제품 통계를 포함하는 단일 리소스를 반환했습니다. 새로운 aggregateProductStatuses.list 메서드는 보고 컨텍스트와 국가 조합마다 하나씩 리소스 목록을 반환합니다. filter 매개변수를 사용하여 특정 데이터를 가져옵니다. 계정 수준 문제의 경우 accountissues.list를 사용합니다.
세부 필드 변경사항
제품 통계 및 문제 필드가 새로운 AggregateProductStatus 리소스에서 업데이트되고 재구성되었습니다.
Content API for Shopping
Merchant API
설명
products
aggregate_product_statuses
products 배열이 목록 응답의 aggregate_product_statuses 반복 필드로 대체됩니다.
destination
reporting_context
destination 필드가 통계의 프로그램 컨텍스트를 지정하는 reporting_context로 대체됩니다.
channel
(상응하는 필드가 없음)
channel 필드가 삭제됩니다. 이 정보는 이제 reporting_context의 일부입니다.
statistics
stats
statistics 객체의 이름이 stats로 변경되었습니다. 내부의 필드 이름이 snake_case로 변환됩니다. 예를 들어 activeCount이 이제 active_count이 됩니다.
itemLevelIssues.servability
item_level_issues.severity
servability enum은 문제의 영향을 설명하는 severity enum으로 대체됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-08(UTC)"],[],[],null,["# Migrate accountstatuses to Aggregate Product Statuses\n\nThe way you retrieve aggregated product statistics and issues has changed. The\nfunctionality previously available in the `accountstatuses` resource in the\nContent API for Shopping is now split into dedicated resources in the Merchant\nAPI. This guide explains how to migrate your integration to use the new\n[`aggregateProductStatuses`](/merchant/api/reference/rest/issueresolution_v1/accounts.aggregateProductStatuses)\nresource.\n\n**Note** : In Merchant API, account-level issues and aggregate product statuses\nare split. Also review our guide to migrate from `accountstatuses` to\n[account issues](/merchant/api/guides/compatibility/migrate-view-issues).\n\nKey differences\n---------------\n\nHere are the key differences between the product status features in Content\nAPI for Shopping and Merchant API:\n\n- **Dedicated resources** : The `accountstatuses` resource from Content API for Shopping is now split. In Merchant API, account-level issues are available through the [`accountissues`](/merchant/api/reference/rest/accounts_v1/accounts.issues) resource, while aggregated product statistics and item-level issues are available through the new [`aggregateProductStatuses`](/merchant/api/reference/rest/issueresolution_v1/accounts.aggregateProductStatuses) resource.\n- **New resource structure** : `AggregateProductStatus` is a new resource that represents the statistics and issues for a specific combination of a reporting context and a country.\n- **Filtering mechanism** : Instead of using query parameters like `destinations` to select data, Merchant API uses a `list` method with a `filter` string to query for specific reporting contexts and countries.\n- **Channel field removal** : The `channel` field is no longer used. This information is now implicitly part of the `reportingContext`.\n\nRequests\n--------\n\nMerchant API uses a `GET` request with a `filter` parameter to retrieve\naggregated product statuses.\n\n`GET\nhttps://merchantapi.googleapis.com/issueresolution/v1/{parent=accounts/*}/aggregateProductStatuses`\n\n### Request URL format\n\n| Request description | Content API for Shopping | Merchant API |\n|-----------------------------------|--------------------------------------------------------------|-------------------------------------------------------------------------|\n| Get product statistics and issues | `GET /content/v2.1/{merchantId}/accountstatuses/{accountId}` | `GET /issueresolution/v1/accounts/{accountId}/aggregateProductStatuses` |\n\nIdentifiers\n-----------\n\nThe way resources are identified has changed to support the new structure.\n\n### Identifier format\n\n| Identifier description | Content API for Shopping | Merchant API |\n|------------------------|-------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Resource Identifier | The resource was identified by `accountId`. Specific data slices were selected with query parameters. | The resource name uniquely identifies the data for a specific reporting context and country: `accounts/{account}/aggregateProductStatuses/{reportingContext}~{country}`. |\n\nMethods\n-------\n\nThe method for retrieving product statuses has been updated to a `list` method\nthat supports filtering.\n\n| Content API for Shopping method | Merchant API method | Availability \\& notes |\n|---------------------------------|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `accountstatuses.get` | `aggregateProductStatuses.list` | The `accountstatuses.get` method returned a single resource containing all product statistics. The new `aggregateProductStatuses.list` method returns a list of resources, one for each reporting context and country combination. Use the `filter` parameter to retrieve specific data. For account-level issues, use `accountissues.list`. |\n\nDetailed field changes\n----------------------\n\nThe fields for product statistics and issues have been updated and restructured\nin the new `AggregateProductStatus` resource.\n\n| Content API for Shopping | Merchant API | Description |\n|---------------------------------|---------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|\n| `products` | `aggregate_product_statuses` | The `products` array is replaced by the `aggregate_product_statuses` repeated field in the list response. |\n| `destination` | `reporting_context` | The `destination` field is replaced by `reporting_context`, which specifies the program context for the stats. |\n| `channel` | (no equivalent field) | The `channel` field is removed. This information is now part of the `reporting_context`. |\n| `statistics` | `stats` | The `statistics` object is renamed to `stats`. Field names within are converted to snake_case, for example, `activeCount` is now `active_count`. |\n| `itemLevelIssues.servability` | `item_level_issues.severity` | The `servability` enum is replaced by the `severity` enum to describe the impact of an issue. |\n| `itemLevelIssues.attributeName` | `item_level_issues.attribute` | The field `attributeName` is renamed to `attribute`. |\n| `itemLevelIssues.documentation` | `item_level_issues.documentation_uri` | The field `documentation` is renamed to `documentation_uri`. |\n| `itemLevelIssues.numItems` | `item_level_issues.product_count` | The field `numItems` is renamed to `product_count`. |"]]