판매자 프로모션 API 개요

프로모션을 사용하여 Google에서 판매하는 제품의 특별 이벤트를 홍보하세요. 프로모션은 Google 검색, 쇼핑, Chrome 등 다양한 Google 서비스에 표시됩니다.

제품에 프로모션을 추가하면 쇼핑객에게 '15% 할인' 또는 '무료 배송'과 같은 특별 이벤트 링크가 표시됩니다. 쿠폰 링크를 사용하면 제품에 대한 관심을 끌어 쇼핑객이 구매하도록 유도할 수 있습니다.

자세한 내용은 프로모션 기본사항을 참고하세요.

기본 요건

프로모션을 표시하기 전에 비즈니스 및 제품에 대한 구체적인 정보를 Google에 제공해야 합니다. 다음 항목이 있어야 합니다.

또한 프로모션 프로그램에 판매자 계정을 등록해야 합니다. 이미 등록되어 있는지 확실하지 않으면 판매자 센터를 확인하세요.

등록되지 않은 경우 요청 양식을 작성하세요. 구현을 시작할 준비가 되면 프로모션팀에서 알려 드립니다.

자세한 내용은 참여 기준 및 정책을 참고하세요.

데이터 소스 만들기

datasource.create API를 사용하여 프로모션 피드를 만듭니다. 기존 프로모션 피드를 사용할 수 있는 경우 datasource.get을 사용하여 datasource.name을 가져옵니다.

요청 형식은 다음과 같습니다.

POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/{account}/dataSources/{datasource}

예시

이 예시는 일반적인 요청과 응답을 보여줍니다.

요청:

POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/123/dataSources {"displayName": "test api feed", "promotionDataSource":{"targetCountry":"US", "contentLanguage":"en"}}

대답:

{
  "name": "accounts/123/dataSources/1000000573361824",
  "dataSourceId": "1000000573361824",
  "displayName": "test api feed",
  "promotionDataSource": {
    "targetCountry": "US",
    "contentLanguage": "en"
  },
  "input": "API"
}

프로모션 만들기

accounts.promotions.insert 메서드를 사용하여 프로모션을 만들거나 업데이트할 수 있습니다. accounts.promotions.insert 메서드는 promotions 리소스와 데이터 소스 이름을 입력으로 사용합니다. 성공하면 신규 또는 업데이트된 프로모션을 반환합니다.

프로모션을 만들려면 datasource.name이 필요합니다.

Google은 프로모션을 배포하기 전에 검토 및 승인합니다. 자세한 내용은 프로모션 승인 절차를 참고하세요.

요청 형식은 다음과 같습니다.

POST https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*/}promotions:insert

다음 샘플 프로모션을 참고하세요.

샘플 1: 모든 제품 및 모든 매장에 적용되는 오프라인 프로모션

POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions:insert

{
  "promotion": {
    "promotionId": "buy_2_get_10_off",
    "contentLanguage": "en",
    "targetCountry": "US",
    "redemptionChannel": [
      "IN_STORE"
    ],
    "attributes": {
      "longTitle": "Buy 2 and get 10$ OFF purchase",
      "productApplicability": "ALL_PRODUCTS",
      "offerType": "NO_CODE",
      "couponValueType": "BUY_M_GET_MONEY_OFF",
      "promotionDisplayTimePeriod": {
        "startTime": "2024-2-06T00:47:44Z",
        "endTime": "2024-5-06T00:47:44Z"
      },
      "promotionEffectiveTimePeriod": {
        "startTime": "2024-2-06T00:47:44Z",
        "endTime": "2024-5-06T00:47:44Z"
      },
      "moneyOffAmount": {
        "amountMicros": "1000000",
        "currencyCode": "USD"
      },
      "minimum_purchase_quantity": 2,
      "storeApplicability": "ALL_STORES",
      "promotionUrl": "http://promotionnew4url.com/",
      "promotionDestinations": [
        "LOCAL_INVENTORY_ADS"
      ],
    }
  },
  "dataSource": "accounts/123/dataSources/1000000573361824"
}

샘플 2: 쿠폰 사용 코드가 있는 선택된 제품에 적용되는 온라인 프로모션

POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions:insert

{
 "promotion": {
   "promotionId": "25_pct_off",
   "contentLanguage": "en",
   "targetCountry": "US",
   "redemptionChannel": [
     "ONLINE"
   ],
   "attributes": {
     "longTitle": "10% off on selected items",
     "productApplicability": "SPECIFIC_PRODUCTS",
     "offerType": "GENERIC_CODE",
     "genericRedemptionCode": "SPRINGSALE",
     "couponValueType": "PERCENT_OFF",
     "promotionDisplayTimePeriod": {
       "startTime": "2024-2-06T00:47:44Z",
       "endTime": "2024-5-06T00:47:44Z"
     },
     "promotionEffectiveTimePeriod": {
       "startTime": "2024-2-06T00:47:44Z",
       "endTime": "2024-5-06T00:47:44Z"
     },
     "percentOff": 25,
     "promotionDestinations": [
       "FREE_LISTINGS"
     ],
     "itemIdInclusion": [
       "1499860100",
       "1499860101",
       "1499860102",
       "1499860103",
       "1499860104"
     ],
   }
 },
 "dataSource": "accounts/123/dataSources/1000000573361824"
}

특별 참고 사항

프로모션을 만든 후 프로모션을 만드는 데 몇 분 정도 걸릴 수 있습니다.

프로모션 관련 속성 목록은 구조화된 데이터 속성 추가를 참고하세요.

프로모션을 만들고 관리하기 전에 프로모션 권장사항을 참고하세요.

프로모션 보기

프로모션을 보려면 accounts.promotions.get를 사용하세요. 이 get은 읽기 전용입니다. merchantId와 프로모션 ID가 필요합니다. get 메서드는 상응하는 프로모션 리소스를 반환합니다.

예를 들면 다음과 같습니다.

GET https://merchantapi.googleapis.com/promotions/v1beta/{name=accounts/*/promotions/*}

다음 샘플을 살펴보세요.

샘플 1: 오프라인 프로모션

GET https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions/in_store~en~US~buy_2_get_10_off

{
 "name": "accounts/123/promotions/in_store~en~US~buy_2_get_10_off",
 "promotionId": "buy_2_get_10_off",
 "contentLanguage": "en",
 "targetCountry": "US",
 "redemptionChannel": [
   "IN_STORE"
 ],
 "attributes": {
   "longTitle": "Buy 2 and get 10$ OFF purchase",
   "productApplicability": "ALL_PRODUCTS",
   "offerType": "NO_CODE",
   "couponValueType": "BUY_M_GET_MONEY_OFF",
   "promotionDisplayTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "promotionEffectiveTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "moneyOffAmount": {
     "amountMicros": "1000000",
     "currencyCode": "USD"
   },
   "minimum_purchase_quantity": 2,
   "storeApplicability": "ALL_STORES",
   "promotionUrl": "http://promotionnew4url.com/",
   "promotionDestinations": [
     "LOCAL_INVENTORY_ADS"
   ],
 }
 "dataSource": "accounts/123/dataSources/1000000573361824"
}

샘플 2. 온라인 프로모션

GET https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions/online~en~US~25_pct_off
{
 "name": "accounts/123/promotions/online~en~US~25_pct_off",
 "promotionId": "25_pct_off",
 "contentLanguage": "en",
 "targetCountry": "US",
 "redemptionChannel": [
   "ONLINE"
 ],
 "attributes": {
   "longTitle": "10% off on selected items",
   "productApplicability": "SPECIFIC_PRODUCTS",
   "offerType": "GENERIC_CODE",
   "genericRedemptionCode": "WINTERGIFT",
   "couponValueType": "PERCENT_OFF",
   "promotionDisplayTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "promotionEffectiveTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "percentOff": 25,
   "promotionDestinations": [
     "FREE_LISTINGS"
   ],
   "itemIdInclusion": [
     "1499860100",
     "1499860101",
     "1499860102",
     "1499860103",
     "1499860104"
   ],
 }
 "dataSource": "accounts/{account}/dataSources/{dataSource}"
}

프로모션 나열

promotions.list 메서드를 사용하여 생성된 모든 프로모션을 볼 수 있습니다.

GET https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*}/promotions

프로모션 상태

프로모션 상태를 보려면 promotions.getpromotions.list에서 반환된 promotionStatus 속성을 확인하면 됩니다.

승인 절차를 알아보려면 프로모션 승인 절차를 참고하세요.

샘플 프로모션 상태

다음 샘플은 성공적인 요청과 실패한 요청의 차이를 보여줍니다.

샘플 1. 다음 응답 본문은 제품 매핑 누락으로 인해 거부될 수 있는 온라인 프로모션을 보여줍니다.

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "REJECTED"
      }
    ],
    "itemLevelIssues": [
      {
        "code": "promotion_sku_unmapped",
        "severity": "DISAPPROVED",
        "resolution": "merchant_action",
        "reportingContext": "FREE_LISTINGS",
        "description": "Unmapped",
        "detail": "This promotion couldn't be tested during review because it doesn't apply to any products that are currently in your Products feed",
        "documentation": "https://support.google.com/merchants/answer/2906014",
        "applicableCountries": [
          "US"
        ]
      },
      {
        "code": "promotion_sku_additional_requirements",
        "severity": "DISAPPROVED",
        "resolution": "merchant_action",
        "reportingContext": "FREE_LISTINGS",
        "description": "Promotion conditions not allowed",
        "detail": "This promotion has additional requirements that are not allowed such as requiring customers to verify additional details like phone number or ID before showing the promotion details",
        "documentation": "https://support.google.com/merchants/answer/2906014",
        "applicableCountries": [
          "US"
        ]
      }
    ]
  }

샘플 2. 다음 응답 본문은 승인된 프로모션을 보여줍니다.

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "PENDING"
      },
      {
        "destination": "SHOPPING_ADS",
        "status": "PENDING"
      }
    ],
    "itemLevelIssues": []
  }

샘플 3. 승인된 실시간 프로모션

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "LIVE"
      },
      {
        "destination": "SHOPPING_ADS",
        "status": "LIVE"
 }  ],
    "itemLevelIssues": []
  }

자세히 알아보기

자세한 내용은 프로모션 고객센터를 참고하세요.

Content API for Shopping에서 이전하는 방법에 대한 자세한 내용은 프로모션 관리 이전을 참고하세요.