Content API v2에서 v2.1로 이전

2019년 3월 Google은 Content API for Shopping 버전 2.1을 출시했으며, 2021년 4월에는 2021년 9월 30일에 v2가 지원 중단된다고 발표했습니다. 버전 v2가 지원 종료되었습니다. 즉시 v2.1로 마이그레이션하세요.

애플리케이션 마이그레이션

v2에서 v2.1로 마이그레이션하려면 엔드포인트 URL을 업데이트하여 새 v2.1 버전을 호출하고 v2.1에 도입된 호환성이 깨지는 변경사항을 고려하여 애플리케이션을 수정해야 합니다.

v2.1 엔드포인트를 사용하도록 API 호출 업데이트

v2.1을 호출하려면 새 v2.1 엔드포인트를 사용하도록 요청을 업데이트하세요.

예를 들어 v2로 products.get 메서드를 호출하려면 다음을 사용합니다.

GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId

v2.1의 경우 URL을 다음으로 업데이트합니다.

GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId

v2.1 서비스 및 엔드포인트에 관한 자세한 내용은 API 참조를 참고하세요.

필수 변경사항 적용

API 호출의 URL을 업데이트하는 것 외에도 v2.1에 도입된 몇 가지 브레이킹 체인지를 고려하여 애플리케이션을 업데이트해야 합니다. 다음 섹션을 검토하고 필요에 따라 애플리케이션을 업데이트하세요.

1. inventory 서비스와의 통합 업데이트

v2 inventory 서비스가 삭제되었으며, 다음 v2.1 기능으로 이에 상응하는 기능을 사용할 수 있습니다.

  • 부분 제품 업데이트에는 새 보조 피드 또는 products.update를 사용합니다. inventory.set로 이전에 업데이트된 모든 필드 (localinventory 전용 필드 제외)를 비롯한 변경 가능한 모든 제품 필드를 업데이트할 수 있습니다. 자세한 내용은 보조 피드로 이전을 참고하세요.

  • localinventory 서비스를 사용하여 오프라인 제품을 업데이트합니다.

2. accounts 서비스 호출 업데이트

  • v2.1에서 accounts.update 메서드를 호출하면 요청에 포함된 필드만 업데이트하는 대신 accounts 리소스가 완전히 덮어쓰여집니다. accounts 리소스의 필드가 삭제되지 않도록 모든 필드를 포함하도록 호출 요청을 업데이트하세요.

  • reviewsUrl이 삭제되었습니다.

  • adsLinks, googleMyBusinessLink, youtubeChannelLinks의 연결 상태 inactive가 삭제되었습니다.

3. products 서비스 호출 업데이트

  • 맞춤 속성에 더 이상 유형과 단위가 포함되지 않습니다. 대신 단위를 값에 추가해야 하며 유형은 자동으로 감지되어야 합니다.

  • 반복 필드 productTypesproductTypeadditionalProductTypes를 모두 대체했습니다.

  • 반복되는 필드 includedDestinationsexcludedDestinations이 반복되는 필드 destinations를 대체했습니다.

  • 다음 AdWords 관련 필드의 이름이 변경되었습니다.

    • adwordsGrouping -> adsGrouping
    • adwordsLabels -> adsLabels
    • adwordsRedirect -> adsRedirect
  • 다음 필드가 삭제되었습니다.

    • aspects
    • destinations
    • onlineOnly
    • validatedDestinations
    • warnings
  • includeInvalidInsertedItems 매개변수가 삭제되었습니다. v2.1에서는 기본적으로 모든 제품이 반환됩니다.

  • 이제 삽입된 제품을 products.get 또는 products.list를 통해 가져오기 전에 몇 분 정도 지연됩니다.

  • 반환된 offerId가 입력 offerId와 동일하다는 보장은 더 이상 없습니다. v2.1은 offerId의 선행 및 후행 공백을 자르고 여러 공백 문자를 하나로 병합합니다. 이 변경사항은 권장되는 offerId 구문을 준수하는 offerId 값에는 영향을 미치지 않습니다.

  • 이제 제품을 삽입하기 전에 가격이 검증됩니다. 값 문자열에는 +, -, ., 숫자 (예: 0~9). 쉼표는 더 이상 허용되지 않습니다.

  • products.insert 또는 products.update 호출의 응답에는 다음 속성만 포함됩니다.

    • channel
    • contentLanguage
    • id
    • offerId
    • feedLabel
  • v2 옵션 includeAttributes은 지원 중단되었습니다. 대신 ProductId와 함께 products.get를 사용하여 전체 제품 정보를 확인하세요.

4. productstatuses 서비스 호출 업데이트

  • includeAttributes 매개변수와 함께 product 속성이 삭제되었습니다. 상태에 해당하는 제품의 속성을 가져오려면 products 서비스를 사용하고 새 productId 필드의 값을 전달하세요.

  • includeInvalidInsertedItems 매개변수가 삭제되었습니다. 이제 제품의 유효성과 관계없이 모든 제품의 productId가 반환됩니다.

  • destinationStatusesintention, approvalStatus, approvalPending 필드가 approved, disapproved, pending 중 하나일 수 있는 문자열인 status로 대체되었습니다.

  • dataQualityIssuesitemLevelIssues로 대체했습니다.

5. datafeeds 서비스 호출 업데이트

  • 다음 타겟 필드가 대체되었습니다.

    • contentLanguage -> language
    • targetCountry -> country
    • intendedDestinations -> includedDestinations, excludedDestinations
  • contentType = "product inventory update"이(가) 포함된 데이터 피드가 삭제되었습니다.

6. ordersTestOrders 서비스 호출 업데이트

  • v2.1에서는 세금 데이터가 자동으로 계산되므로 호출에 세금 데이터를 포함해서는 안 됩니다. 주문이 Marketplace Fairness Act (MFA) 또는 이와 유사한 법규가 있는 주에서 처리되는 경우 세금 데이터를 포함하는 호출이 실패합니다. 주문이 MFA 상태가 아닌 상태로 처리되면 판매자 센터에 구성된 설정을 기반으로 세금이 계산됩니다. 구성하지 않으면 계산된 세금은 0입니다.

  • InStoreRefundLineItemReturnRefundLineItem 필드 amountPretaxamountTax이 각각 priceAmounttaxAmount로 대체되었습니다. priceAmount는 주문 위치에 따라 세전 또는 세후일 수 있습니다.

  • 요청의 ShipLineItem 필드 carrier, shipmentId, trackingIdshipmentInfos로 이동했습니다.

  • 이제 billingAddresspredefinedBillingAddress이 각각 ordersTestOrder의 최상위 필드입니다.

  • customer.explicitMarketingPreferencecustomer.marketingRightsInfo으로 대체되었습니다.

  • netAmount 필드가 netPriceAmountnetTaxAmount로 분할되었습니다.

  • shippingOptionlineItems[].shippingDetails로 대체했습니다.

  • 요청의 CancelLineItem 필드 amount, amountPretax, amountTax가 삭제되었습니다. 이제 환불 금액이 자동으로 계산됩니다.

  • CustomBatch를 삭제했습니다.

  • Refund를 삭제했습니다. 대신 refundOrder 또는 refundItem를 사용하세요.

  • paymentMethod 필드가 삭제되었습니다.

  • v2 메서드 orders.returnlineitemorders.refundorderreturns.creatOrderReturnorderreturns.process으로 대체됩니다.

  • customer.email, channelType, lineItem.product.channel 필드가 삭제되었습니다.

  • promotions 필드가 TestOrder 서비스에서 삭제되었으며 Order에서 형식이 변경되었습니다.

7. orderinvoice 서비스 호출 업데이트

  • amountPretaxamountTax 필드가 각각 priceAmounttaxAmount로 대체되었습니다. priceAmount 필드는 주문 위치에 따라 세전 또는 세후일 수 있습니다.

  • invoiceSummary 및 프로모션 요금 관련 필드에서 잔액 (판매자, 고객, Google)이 삭제되었습니다.

8. v2.1에 포함되지 않은 기능 삭제

v2.1에서는 Content API에서 다른 여러 기능이 삭제되었습니다. 다음 목록을 검토하고 필요에 따라 애플리케이션을 업데이트하세요.

  • XML은 더 이상 지원되지 않습니다. JSON으로 전환하는 방법에 대한 자세한 내용은 Content API for Shopping의 XML 지원 종료를 참고하세요.

  • dryRun 매개변수가 삭제되었습니다. 이 변경사항은 모든 API 호출에 적용됩니다.

  • 모든 HTTP BATCH 메서드가 삭제되었습니다. 대신 customBatch를 사용합니다.

  • 다음 서비스에서 patch 메서드가 삭제되었습니다.

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • orderpayments 서비스가 삭제되었습니다.

이전 테스트

v2.1로 이전한 후 애플리케이션의 변경사항을 테스트하는 방법에 대한 자세한 내용은 Content API for Shopping 사용 테스트를 참고하세요. 업데이트를 테스트하는 동안 문제가 발생하면 Google에 문의하세요.

v2.1의 추가 변경사항

업데이트가 필요한 변경사항 외에도 v2.1에는 다음과 같은 몇 가지 새로운 기능과 호환성이 손상되지 않는 변경사항이 도입되었습니다.

  • 새 서비스:

    • 새로운 localinventory 서비스를 사용하면 v2의 inventory 서비스 대신 오프라인 제품을 업데이트할 수 있습니다.

    • 새로운 orderreturns 서비스를 사용하면 orders 서비스를 사용하지 않고도 반품을 처리할 수 있어 Google에서 구매 (이전 명칭: Shopping Actions)를 더 쉽게 관리할 수 있습니다.

  • 보조 피드를 사용하면 제품을 부분적으로 업데이트할 수 있습니다.

  • products 서비스의 추가 변경사항:

    • products.insert 요청은 더 이상 심각하지 않은 경고나 오류를 보고하지 않습니다. 이렇게 하면 Content API 외부에서 관리하는 피드와 마찬가지로 판매자 센터의 피드 규칙을 통해 제품을 삽입하고 후속 업데이트를 실행하여 문제를 해결할 수 있습니다.

    • 선택한 제품 필드 집합을 업데이트할 수 있도록 products.update가 추가되었습니다. 가능한 사용에 대한 자세한 내용은 가이드를 참고하세요.

    • 다음 속성의 잘못된 값은 더 이상 삽입 오류를 트리거하지 않으며 productstatus 서비스에서 itemLevelIssues의 일부로 반환됩니다.

      • ageGroup
      • availability
      • condition
      • energyEfficiencyClass
      • gender
      • maxEnergyEfficiencyClass
      • minEnergyEfficiencyClass
      • sizeSystem
      • sizeType
    • 이제 맞춤 속성이 재귀적이므로 맞춤 그룹이 필요하지 않습니다.

    • 이제 맞춤 속성에 원래 value 필드 외에 groupValues 필드가 있습니다. 필드 중 정확히 하나를 설정해야 합니다.