Omówienie interfejsu API promocji sprzedawcy

Korzystaj z promocji, aby prezentować oferty specjalne na produkty, które sprzedajesz w Google. Promocje wyświetlają się w różnych usługach Google, w tym w wyszukiwarce Google, Zakupy i Chrome.

Gdy dodasz do swoich produktów Promocje, kupujący zobaczą link do oferty specjalnej, przykład „Rabat 15%” lub „Bezpłatna dostawa”. Linki do ofert mogą zwiększyć atrakcyjność produkty i zachęcanie klientów do zakupu.

Więcej informacji znajdziesz w artykule Promocja podstaw.

Wymagania wstępne

Google wymaga podania określonych informacji na temat Twojej firmy produkty przed wyświetleniem promocji. Musisz mieć:

Dodatkowo musisz zarejestrować swoje konto sprzedawcy w programie Promocje. Jeśli Nie masz pewności, czy jesteś już zarejestrowanym użytkownikiem, sprawdź pomocy.

Jeśli nie bierzesz już udziału w programie, prześlij prośbę formularz. zespół ds. promocji powiadomi Cię, kiedy będzie można rozpocząć implementację.

Więcej informacji na ten temat można znaleźć w sekcjach Kryteria uczestnictwa i .

Utwórz źródło danych

Użyj interfejsu API datasource.create, aby utworzyć plik danych o promocjach. Jeśli istniejący Plik danych o promocjach jest dostępny. Użyj pliku datasource.get, aby pobrać plik danych datasource.name

Formularz prośby jest następujący:

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

Przykład

Przykład przedstawia typowe żądanie i odpowiedź.

Prośba:

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

Odpowiedź:

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

Zorganizuj promocję

Za pomocą accounts.promotions.insert do tworzenia lub zaktualizowania promocji. Metoda accounts.promotions.insert pobiera zasób promotions i nazwę źródła danych jako dane wejściowe. Zwraca ono nową lub zaktualizowaną promocję, jeśli się powiedzie.

Tworzenie promocji wymaga datasource.name.

Google sprawdza i zatwierdza Twoje promocje przed ich dystrybucją. Więcej Więcej informacji można znaleźć w sekcji Zatwierdzanie promocji. .

Forma żądania:

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

Zapoznaj się z tymi przykładowymi promocjami.

Przykład 1: Lokalna promocja ma zastosowanie do wszystkie produkty i wszystkie sklepy

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"
}

Przykład 2. Promocja online dotycząca wybranych produktów z wykorzystaniem promocji kod

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"
}

Uwagi specjalne

Po utworzeniu promocji może minąć kilka minut.

Listę atrybutów związanych z promocjami znajdziesz w artykule Dodawanie danych strukturalnych .

Zanim utworzysz promocje i zaczniesz nimi zarządzać, zapoznaj się z sekcją Najlepsze promocje Praktyki.

Wyświetl promocje

Aby wyświetlić promocję, użyj accounts.promotions.get Ta funkcja jest tylko do odczytu. Wymaga to Twojego identyfikatora merchantId oraz identyfikatora promocji. Metoda get zwraca odpowiedni zasób promocji.

Na przykład:

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

Przeanalizuj przykłady.

Przykład 1. Promocja lokalna

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"
}

Przykład 2. Promocja online

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}"
}

Wyświetl listę promocji

Za pomocą promotions.list aby wyświetlić wszystkie utworzone promocje.

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

Stan promocji

Aby sprawdzić stan promocji, możesz wyświetlić atrybut promotionStatus. zwrócone przez promotions.get. oraz promotions.list

Informacje o procesie zatwierdzania znajdziesz w artykule Zatwierdzanie promocji .

Przykładowy stan promocji

Poniższe przykłady pokazują różnicę między skutecznością i niepowodzeniem żądań.

Przykład 1. Następująca treść odpowiedzi przedstawia promocję online, która byłaby odrzucono z powodu braku mapowania produktów.

  "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"
        ]
      }
    ]
  }

Przykład 2. Następująca treść odpowiedzi przedstawia zatwierdzoną promocję.

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

Przykład 3. zatwierdzona i aktywna promocja

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

Więcej informacji

Więcej informacji znajdziesz w pomocy dotyczącej promocji. pomocy.

Aby dowiedzieć się więcej o migracji z Content API for Shopping, przeczytaj artykuł Migracja promocji .