이 가이드에서는 Content API for Shopping의 datafeeds 및 datafeedstatuses 서비스에서 Merchant API의 데이터 소스 하위 API로 통합을 이전하는 방법을 설명합니다. 새 데이터 소스 하위 API를 사용하면 데이터 파이프라인을 더 직접적으로 제어하고 데이터 소스 관리를 간소화할 수 있습니다.
새 기능에 대한 자세한 내용은 데이터 소스 관리 가이드를 참고하세요.
주요 차이점
Merchant API는 Content API for Shopping에 비해 여러 이점이 있습니다.
- 명시적 데이터 소스 생성 API는 더 이상 첫 번째 제품 삽입 시 'Content API' 데이터 소스를 자동으로 만들지 않습니다. Merchant API에서는 제품을 업로드하기 전에 데이터 소스를 명시적으로 만들어야 합니다. 이를 통해 처음부터 제품 데이터 파이프라인의 조직과 관리를 더 세부적으로 관리할 수 있습니다. 
- 여러 API 데이터 소스 지원 Content API for Shopping에서는 자동으로 생성된 단일 'Content API' 데이터 소스만 사용할 수 있었습니다. Merchant API를 사용하면 - API입력 유형의 여러 데이터 소스를 만들고 관리할 수 있습니다.
- 라벨과 언어가 없는 데이터 소스 Merchant API를 사용하면 - feedLabel및- contentLanguage를 지정하지 않고 기본 데이터 소스를 만들 수 있습니다. 이 유형의 데이터 소스는- feedLabel및- contentLanguage의 모든 조합으로 제품을 허용하므로 서로 다른 지역에 별도의 데이터 소스가 필요하지 않은 통합의 제품 업로드를 간소화합니다.
- 간소화된 데이터 타겟. 이제 각 데이터 소스는 - feedLabel및- contentLanguage의 고유한 조합으로 정의된 단일 타겟에 해당합니다. Merchant API에서 여러 데이터를 타겟팅하는 피드가 지원 중단됩니다.
- 전용 파일 업로드 상태 Merchant API는 별도의 읽기 전용 - fileUploads리소스를 사용하여 파일 기반 데이터 소스의 상태를 나타냅니다. 파일 업로드 상태를 가져오려면- latest별칭과 함께- fileUploads.get메서드를 사용합니다.
- 새 데이터 소스 유형 - DataSource리소스는 프로모션, 오프라인 인벤토리, 지역 인벤토리를 비롯한 더 많은 업종을 지원하여 모든 데이터 파이프라인을 통합된 방식으로 관리할 수 있습니다.
- 자동 데이터 소스 이제 Merchant API를 사용하면 Accounts 하위 API의 - autofeedSettings.updateAutofeedSettings메서드를 사용하여 계정의 자동 데이터 소스 기능을 사용 설정하거나 중지할 수 있습니다. 자세한 내용은 자동 피드 설정 구성을 참고하세요.
요청
다음 표에서는 Content API for Shopping과 Merchant API의 요청 URL 형식을 비교합니다.
| 요청 설명 | Content API for Shopping | Merchant API | 
|---|---|---|
| 데이터 소스 만들기 | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds | POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources | 
| 데이터 소스 가져오기 | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} | GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} | 
| 데이터 소스 나열 | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds | GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources | 
| 데이터 소스 업데이트 | PUT https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} | PATCH https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} | 
| 데이터 소스 소거 | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} | DELETE https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} | 
| 데이터 소스 가져오기 | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID}/fetchNow | POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}:fetch | 
| 데이터 소스 상태 가져오기 | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses/{DATAFEED_ID} | GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}/fileUploads/latest | 
| 데이터 소스 상태 나열 | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses | 사용할 수 없습니다. 각 파일 기반 데이터 소스에 dataSources.list및fileUploads.get을 사용합니다. | 
식별자
Merchant API는 문자열 기반 리소스 이름을 식별자로 사용합니다.
| 식별자 설명 | Content API for Shopping | Merchant API | 
|---|---|---|
| 데이터 소스 식별자 | datafeedId(숫자) | name(문자열, 형식:accounts/{account}/dataSources/{datasource}) | 
메서드
이 표에서는 Content API for Shopping datafeeds 및 datafeedstatuses 서비스의 메서드를 Merchant API의 해당 메서드와 비교합니다.
| Content API for Shopping 메서드 | Merchant API 메서드 | 사용 가능 여부 및 참고사항 | 
|---|---|---|
| datafeeds.custombatch | 사용할 수 없음 | 대신 개별 API 호출을 사용하세요. | 
| datafeeds.delete | dataSources.delete | 사용 가능 | 
| datafeeds.fetchnow | dataSources.fetch | 사용 가능 이제 이 메서드는 파일 입력이 있는 데이터 소스에만 작동합니다. | 
| datafeeds.get | dataSources.get | 사용 가능 | 
| datafeeds.insert | dataSources.create | 사용 가능 | 
| datafeeds.list | dataSources.list | 사용 가능 | 
| datafeeds.update | dataSources.update | 사용 가능 PUT대신PATCH시맨틱을 사용합니다. | 
| datafeedstatuses.custombatch | 사용할 수 없음 | 대신 개별 API 호출을 사용하세요. 자세한 내용은 한 번에 여러 요청 보내기를 참고하세요. | 
| datafeedstatuses.get | fileUploads.get | 파일 기반 데이터 소스에 사용할 수 있습니다. latest별칭을 사용하여 가장 최근 업로드의 상태를 가져옵니다. 다른 데이터 소스 유형의 경우 상태 정보는DataSource리소스에 포함됩니다. | 
| datafeedstatuses.list | 사용할 수 없음 | 여러 데이터 소스의 상태를 가져오려면 먼저 dataSources.list이 있는 모든 데이터 소스를 나열합니다. 그런 다음 각 파일 기반 데이터 소스에 대해latest별칭을 사용하여fileUploads.get를 호출합니다. | 
세부 필드 변경사항
이 표에는 Content API for Shopping의 Datafeed 및 DatafeedStatus 리소스와 Merchant API의 DataSource 및 FileUpload 리소스 간의 필드 수준 변경사항이 표시되어 있습니다.
| Content API for Shopping | Merchant API | 설명 | 
|---|---|---|
| Datafeed | DataSource | 데이터 소스 구성의 기본 리소스입니다. | 
| id | name | 리소스 식별자입니다. 숫자 ID에서 문자열 리소스 이름으로 변경되었습니다. | 
| name | displayName | 데이터 소스의 사용자 표시 이름입니다. | 
| attributeLanguage | primaryProductDataSource.contentLanguage | 데이터 소스의 항목에 대한 두 글자 ISO 639-1 언어 코드입니다. | 
| fileName | fileInput.fileName | 업로드된 파일의 이름입니다. 이 필드는 이제 fileInput아래에 중첩됩니다. | 
| fetchSchedule | fileInput.fetchSettings | 파일 기반 데이터 소스를 가져오는 일정입니다. 이제 fileInput아래에 중첩됩니다. | 
| fetchSchedule.paused | fileInput.fetchSettings.enabled | 로직이 반전됩니다. paused: true은enabled: false와 동일합니다. | 
| format | 사용할 수 없음 | fileEncoding,columnDelimiter,quotingMode필드가 삭제됩니다. 이제 자동으로 감지됩니다. | 
| targets | primaryProductDataSource.feedLabel,primaryProductDataSource.contentLanguage,primaryProductDataSource.countries | 반복되는 targets필드가 삭제됩니다. 이제 각 데이터 소스에는 이러한 필드로 정의된 단일 타겟이 있으며, 이는 다중 데이터 타겟 피드의 지원 중단을 반영합니다. | 
| DatafeedStatus | FileUpload | 파일 업로드 상태가 이제 별도의 읽기 전용 리소스입니다. | 
| datafeedId | name | 파일 업로드의 식별자로, 상위 데이터 소스를 참조합니다. | 
| processingStatus | processingState | 업로드의 처리 상태입니다. 문자열 값 ( success,failure,in progress)이 열거형 (SUCCEEDED,FAILED,IN_PROGRESS)으로 대체됩니다. | 
| errors,warnings | issues | 오류와 경고가 하나의 issues목록으로 병합됩니다. 각 문제에는severity필드 (ERROR또는WARNING)가 있습니다. | 
| lastUploadDate | uploadTime | 마지막 업로드의 타임스탬프입니다. 형식이 문자열에서 Timestamp객체로 변경되었습니다. | 
| country,language,feedLabel | 해당 사항 없음 | 이 필드는 더 이상 상태 리소스에 없습니다. DataSource리소스의 일부입니다. | 
| targets[].included_destinations,targets[].excluded_destinations | primaryProductDataSource.destinations | 포함된 대상과 제외된 대상의 두 목록이 하나의 destinations목록으로 대체됩니다. 새 목록의 각 항목은 대상과 상태 (ENABLED또는DISABLED)를 지정하는 객체로, 더 명시적인 구성을 제공합니다. |