데이터 소스 마이그레이션

이 가이드에서는 Content API for Shopping의 datafeedsdatafeedstatuses 서비스에서 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를 사용하면 feedLabelcontentLanguage를 지정하지 않고 기본 데이터 소스를 만들 수 있습니다. 이 유형의 데이터 소스는 feedLabelcontentLanguage의 모든 조합으로 제품을 허용하므로 서로 다른 지역에 별도의 데이터 소스가 필요하지 않은 통합의 제품 업로드를 간소화합니다.

  • 간소화된 데이터 타겟. 이제 각 데이터 소스는 feedLabelcontentLanguage의 고유한 조합으로 정의된 단일 타겟에 해당합니다. 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.listfileUploads.get을 사용합니다.

식별자

Merchant API는 문자열 기반 리소스 이름을 식별자로 사용합니다.

식별자 설명 Content API for Shopping Merchant API
데이터 소스 식별자 datafeedId(숫자) name (문자열, 형식: accounts/{account}/dataSources/{datasource})

메서드

이 표에서는 Content API for Shopping datafeedsdatafeedstatuses 서비스의 메서드를 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의 DatafeedDatafeedStatus 리소스와 Merchant API의 DataSourceFileUpload 리소스 간의 필드 수준 변경사항이 표시되어 있습니다.

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: trueenabled: 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)를 지정하는 객체로, 더 명시적인 구성을 제공합니다.