리전 관리 이전
이 가이드에서는 Content API for Shopping의 RegionsService에서 Accounts 하위 API 내의 RegionsService로 통합을 이전하는 방법을 설명합니다.
리전 서비스를 사용하면 지역별 가격 책정 및 배송 재정의와 같은 사용 사례에 사용할 맞춤 지리적 영역을 정의할 수 있습니다. RegionalInventory 및 ShippingSettings와 같은 서비스에서 리전을 사용할 수 있습니다.
주요 차이점
- API 구조: 이제 리전 서비스가 Merchant API의
Accounts하위 API에 포함됩니다 (예:merchantapi.googleapis.com/accounts/v1/...). - 리소스 이름: Merchant API는 Get, Update, Delete 작업의 URL 경로에서 별도의
merchant_id및region_id매개변수 대신 리소스 이름(accounts/{account}/regions/{region})을 사용합니다. - AIP 규정 준수: Merchant API 메서드는 표준 API 개선
제안 패턴 (예: List/Create에
parent사용, Get/Delete에name사용, 표준update_mask사용)을 따릅니다. - 래퍼 유형: 이전에는 Content API에서
google.protobuf.StringValue또는google.protobuf.BoolValue를 사용한 필드가 이제 Merchant API에서 표준optional필드를 사용합니다. - 새로운 기능:
- Merchant API는
Region리소스 내에RadiusArea유형을 도입하여 지점을 중심으로 한 반경을 기반으로 리전을 정의합니다 (처음에는TRUST_TESTER공개 상태). - 일괄 메서드(
BatchCreateRegions,BatchUpdateRegions,BatchDeleteRegions)를 사용할 수 있습니다.
- Merchant API는
- 오류 처리: 오류 코드와 메시지는 더 구체적인 의견을 제공합니다.
요청
요청 패턴이 변경되는 방식은 다음과 같습니다.
| 항목 | Content API for Shopping | Merchant API | 설명 |
|---|---|---|---|
| 엔드포인트 | https://shoppingcontent.googleapis.com |
https://merchantapi.googleapis.com |
기본 도메인이 변경됩니다. |
| 경로 가져오기 | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Merchant API는 accounts 하위 API와 리소스 name을 사용합니다. |
| 목록 경로 | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
Merchant API는 parent를 사용하여 계정을 지정합니다. |
| 경로 만들기 | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
Merchant API는 parent를 사용합니다. region_id는 요청 본문의 필드입니다. |
| 경로 업데이트 | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Merchant API의 리소스 이름은 본문의 region 객체에 포함됩니다. |
| 경로 삭제 | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
리소스 name을 사용합니다. |
식별자
다음과 같이 식별자 사용을 변경합니다.
| 항목 | Content API for Shopping | Merchant API | 설명 |
|---|---|---|---|
| 계정 | merchant_id (정수) |
account (정수, name 또는 parent 문자열의 일부) |
리소스 이름 문자열(예: accounts/{account})에 삽입된 계정 ID를 찾습니다. |
| 리전 | region_id (문자열) |
{region} (문자열, name 문자열의 일부) |
리소스 이름 문자열(예: accounts/{account}/regions/{region})에 삽입된 리전 ID를 찾습니다. |
| 리소스 이름 | 요청에 엄격하게 사용되지는 않습니다. | name: accounts/{account}/regions/{region} |
Get/Update/Delete 요청의 표준 식별자입니다. |
| 상위 이름 | 요청에 엄격하게 사용되지는 않습니다. | parent: accounts/{account} |
List/Create 요청의 표준 식별자입니다. |
리소스
Region 리소스 구조가 약간 변경되었습니다.
| 항목 | Content API for Shopping | Merchant API | 설명 |
|---|---|---|---|
| 리소스 식별자 | region_id (문자열), merchant_id (int64) |
name (문자열): accounts/{account}/regions/{region} |
Merchant API는 단일 name 필드를 리소스 식별자로 사용합니다. |
display_name |
google.protobuf.StringValue |
optional string |
래퍼 유형이 삭제되었습니다. |
radius_area |
해당 사항 없음 (N/A) | RadiusArea |
이 새로운 유형은 반경으로 리전을 정의합니다.
region_code, lat_lng, radius,
radius_units를 포함합니다. 기본적으로 공개 상태가 제한됩니다.
|
regional_inventory_eligible |
google.protobuf.BoolValue (출력 전용) |
optional bool (출력 전용) |
래퍼 유형이 삭제되었습니다. |
shipping_eligible |
google.protobuf.BoolValue (출력 전용) |
optional bool (출력 전용) |
래퍼 유형이 삭제되었습니다. |
메서드
다음과 같이 메서드 사용을 변경합니다.
| 항목 | Content API for Shopping | Merchant API | 설명 |
|---|---|---|---|
| 리전 가져오기 | GetRegion |
GetRegion |
요청은 name을 사용합니다. |
| 리전 만들기 | CreateRegion |
CreateRegion |
요청은 URL에서 parent를 가져오고 요청 본문
에는 region 객체와 region_id가 포함됩니다.
|
| 리전 업데이트 | UpdateRegion |
UpdateRegion |
요청은 region (반드시 region.name 포함)
및 update_mask를 사용합니다.
|
| 리전 삭제 | DeleteRegion
|
DeleteRegion
|
요청은 name을 사용합니다.
|
| 리전 나열 | ListRegions |
ListRegions |
요청은 parent를 사용합니다. page_size 및
page_token 동작이 일관됩니다.
|
| 일괄 만들기 | 해당 사항 없음(N/A) | BatchCreateRegions |
새로운 메서드입니다. |
| 일괄 업데이트 | 해당 사항 없음(N/A) | BatchUpdateRegions |
새로운 메서드입니다. |
| 일괄 삭제 | 해당 사항 없음(N/A) | BatchDeleteRegions |
새로운 메서드입니다. |
이름이 바뀐 필드
| 항목 | Content API for Shopping | Merchant API | 설명 |
|---|---|---|---|
| 계정 ID | merchant_id |
account (name 또는 parent의 일부) |
리소스 name 문자열에 통합되었습니다. 이는
Region (응답) 및 API
요청을 만드는 데 사용되는 프로토콜 버퍼 메시지(예: CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest 및 ListRegionsRequest)에 영향을 미칩니다.
|
| 리전 ID | region_id |
region (name의 일부), region_id |
대부분의 경우 name에 통합되고 region_id
필드가 CreateRegionRequest에 별도로 있습니다. 이는 Region
(응답) 및 API 요청을 만드는 데 사용되는 프로토콜 버퍼 메시지에 영향을 미칩니다. 예를 들어
CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest
및 ListRegionsRequest 등이 있습니다.
|
| 리전 이름 (출력) | region_id
|
name
|
이제 응답의 기본 식별자 필드는 전체 리소스 name입니다. 이는 Region에 영향을 미칩니다.
|
| 표시 이름 | display_name |
display_name |
유형이 StringValue에서 optional string으로 변경됩니다.
이는 Region에 영향을 미칩니다.
|
| 자격요건 플래그 | ...eligible |
...eligible |
유형이 BoolValue에서 optional bool로 변경됩니다.
이는 Region에 영향을 미칩니다.
|
| 업데이트 마스크 | update_mask |
update_mask |
Region 필드 경로입니다. 이는 UpdateRegionRequest에 영향을 미칩니다. |