Satıcı Promosyonları API'sine genel bakış

Google'da sattığınız ürünlerle ilgili özel teklifleri sergilemek için promosyonları kullanın. Promosyonlar Google Arama, Alışveriş ve Chrome gibi farklı Google mülklerinde gösterilir.

Ürünlerinize promosyon eklediğinizde alışveriş yapanlar bir özel teklif bağlantısı görür (ör. "%15 indirim" veya "Ücretsiz kargo"). Fırsat bağlantıları, ürünlerinizin çekiciliğini artırabilir ve alışveriş yapanları satın almaya teşvik edebilir.

Daha fazla bilgi için Promosyonlarla ilgili temel bilgiler başlıklı makaleyi inceleyin.

Ön koşullar

Google, promosyonlarınızı göstermeden önce işletmeniz ve ürünleriniz hakkında belirli bilgiler sağlamanızı gerektirir. Aşağıdakilere sahip olmanız gerekir:

Ayrıca satıcı hesabınızı Promosyonlar programına kaydetmeniz gerekir. Kayıtlı olup olmadığınızdan emin değilseniz Merchant Center'ı kontrol edin.

Kayıtlı değilseniz istek formunu doldurun. Uygulamaya başlamaya hazır olduğunuzda promosyonlar ekibi sizi bilgilendirir.

Daha fazla bilgi için Katılım ölçütleri ve politikaları başlıklı makaleyi inceleyin.

Veri kaynağı oluşturma

Promosyon feed'i oluşturmak için datasource.create API'yi kullanın. Mevcut bir promosyon feed'i varsa veri kaynağının adını almak için accounts.dataSources.get yöntemini kullanın.

İsteğin biçimi aşağıdaki gibidir:

POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/{ACCOUNT}/dataSources

Örnek

Örnekte, tipik bir istek ve yanıt gösterilmektedir.

İstek:

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

Yanıt:

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

Promosyon oluşturma

Promosyon oluşturmak veya güncellemek için accounts.promotions.insert yöntemini kullanabilirsiniz. accounts.promotions.insert yöntemi, giriş olarak bir promotions kaynağı ve veri kaynağı adı alır. Başarılı olursa yeni veya güncellenmiş promosyonu döndürür.

Promosyon oluşturmak için veri kaynağının adı gerekir.

Google, promosyonlarınızı dağıtmadan önce inceler ve onaylar. Daha fazla bilgi için Promosyon onay sürecine göz atın.

Talebin şekli:

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

Referans olarak aşağıdaki örnek promosyonları inceleyin.

Örnek 1: Tüm ürünler ve tüm mağazalar için geçerli bir yerel promosyon

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"
      },
      "minimumPurchaseQuantity": 2,
      "storeApplicability": "ALL_STORES",
      "promotionUrl": "http://promotionnew4url.com/",
      "promotionDestinations": [
        "LOCAL_INVENTORY_ADS"
      ],
    }
  },
  "dataSource": "accounts/123/dataSources/1000000573361824"
}

2. Örnek: Kullanım kodu içeren belirli ürünler için geçerli olan bir online promosyon

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

Özel notlar

Tanıtım oluşturulduktan sonra tanıtımın Alışveriş veritabanında görünmesi birkaç dakika sürebilir.

Promosyonlarla ilgili özelliklerin listesi için Yapılandırılmış veri özellikleri ekleme başlıklı makaleyi inceleyin.

Tanıtım oluşturmadan ve yönetmeden önce Promosyonlarla ilgili en iyi uygulamalar başlıklı makaleyi inceleyin.

Promosyonları göster

Bir promosyonu görüntülemek için accounts.promotions.get simgesini kullanın. Bu getirme işlemi salt okunur. merchantId kimliğiniz ve promosyonun kimliği gerekir. get yöntemi, ilgili promosyonlar kaynağını döndürür.

Örneğin:

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

Bu örnekleri inceleyin.

1. Örnek: Yerel bir promosyon

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"
   },
   "minimumPurchaseQuantity": 2,
   "storeApplicability": "ALL_STORES",
   "promotionUrl": "http://promotionnew4url.com/",
   "promotionDestinations": [
     "LOCAL_INVENTORY_ADS"
   ],
 }
 "dataSource": "accounts/123/dataSources/1000000573361824"
}

2. örnek. Online promosyon

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

Promosyonları listeleme

Oluşturulan tüm promosyonları görüntülemek için promotions.list yöntemini kullanabilirsiniz.

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

Promosyon durumu

Bir promosyonun durumunu görmek için promotions.get ve promotions.list tarafından döndürülen promotionStatus özelliğini görüntüleyebilirsiniz.

Onay sürecini anlamak için Promosyon onay sürecine göz atın.

Örnek promosyon durumu

Aşağıdaki örneklerde, başarılı ve başarısız istekler arasındaki fark gösterilmektedir.

1. örnek. Aşağıdaki yanıt gövdesinde, ürün eşlemesi eksik olduğu için reddedilecek bir online promosyon gösterilmektedir.

  "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. örnek. Aşağıdaki yanıt metninde, hâlâ değerlendirilmekte olan bir promosyon gösterilmektedir.

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

3. örnek. Onaylanmış ve yayında olan bir promosyon

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

Daha fazla bilgi

Daha fazla bilgi için Promosyonlar Yardım Merkezi'ne göz atın.

Content API for Shopping'ten geçiş hakkında bilgi edinmek için Promosyon yönetimini taşıma başlıklı makaleyi inceleyin.