Google पर बेचे जाने वाले प्रॉडक्ट के लिए, खास ऑफ़र दिखाने के लिए प्रमोशन का इस्तेमाल करें. प्रमोशन, Google की अलग-अलग प्रॉपर्टीज़ पर दिखते हैं. इनमें Google Search, Shopping, और Chrome शामिल हैं. प्रमोशन को मंज़ूरी देने के लिए, उन्हें कुछ शर्तें पूरी करनी होंगी. ज़्यादा जानकारी के लिए, प्रमोशन के लिए ज़रूरी शर्तें देखें.
अपने प्रॉडक्ट में प्रमोशन जोड़ने पर, खरीदारों को खास ऑफ़र का लिंक दिखता है. उदाहरण के लिए, "15% की छूट" या "मुफ़्त शिपिंग". ऑफ़र के लिंक से, आपके प्रॉडक्ट में लोगों की दिलचस्पी बढ़ सकती है. साथ ही, खरीदारों को खरीदारी करने के लिए बढ़ावा मिल सकता है. सभी प्रमोशन, चेकआउट के दौरान या बिक्री की जगह पर लागू होते हैं.
ज़्यादा जानकारी के लिए, प्रमोशन की बुनियादी बातें देखें.
ज़रूरी शर्तें
Google पर प्रमोशन दिखाने के लिए, आपको अपने कारोबार और प्रॉडक्ट की खास जानकारी Google को देनी होगी. आपके पास ये चीज़ें होनी चाहिए:
- Google Merchant Center में, प्रॉडक्ट डेटा सोर्स.
- Google Merchant Center में, प्रमोशन डेटा सोर्स .
- शॉपिंग कैंपेन के लिए, Google Ads खाता for Shopping campaigns.
इसके अलावा, आपको अपने Merchant Center खाते को प्रमोशन प्रोग्राम में रजिस्टर करना होगा. अगर आपको पक्का नहीं है कि आपने रजिस्टर किया है या नहीं, तो Merchant Center देखें.
अगर आपने रजिस्टर नहीं किया है, तो अनुरोध फ़ॉर्म भरें. प्रमोशन टीम आपको बताएगी कि आप इसे लागू करने के लिए कब तैयार हैं.
ज़्यादा जानकारी के लिए, शामिल होने के लिए ज़रूरी शर्तें और नीतियां देखें.
डेटा सोर्स बनाएं
प्रमोशन डेटा सोर्स बनाने के लिए,
accounts.dataSources.create
तरीके का इस्तेमाल किया जा सकता है. अगर कोई मौजूदा प्रमोशन डेटा सोर्स
उपलब्ध है, तो सभी डेटा सोर्स पाने के लिए,
accounts.dataSources.list
तरीके का इस्तेमाल करें. इसके बाद, प्रमोशन बनाने के लिए, प्रमोशन डेटा सोर्स के name फ़ील्ड का इस्तेमाल किया जा सकता है.
हमारा सुझाव है कि हर प्रमोशन के लिए, accounts.dataSources.name को अपने स्थानीय डेटाबेस में सेव करें. इससे, आने वाले समय में एपीआई कॉल में सीधे तौर पर इसका रेफ़रंस दिया जा सकेगा. आपके पास अपने स्थानीय डेटाबेस को एक बार में बैकफ़िल करने का विकल्प होता है.
प्रमोशन जोड़ने के लिए, डेटा सोर्स बनाने का तरीका दिखाने वाला अनुरोध यहां दिया गया है:
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources
{
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"contentLanguage": "{CONTENT_LANGUAGE}",
"targetCountry": "{TARGET_COUNTRY}"
}
}
इनकी जगह ये डालें:
- {ACCOUNT_ID}: आपके खाते का यूनीक आइडेंटिफ़ायर, जो Merchant Center के यूज़र इंटरफ़ेस (यूआई) में दिखता है.
- {DISPLAY_NAME}: डेटा सोर्स का डिसप्ले नेम.
- {CONTENT_LANGUAGE}: डेटा सोर्स में मौजूद प्रॉडक्ट के लिए, दो अक्षरों वाला ISO 639-1 भाषा कोड.
- {TARGET_COUNTRY}: टारगेट किए गए उस देश/इलाके का सीएलडीआर रीजन कोड जहां आपको प्रमोशन दिखाने हैं.
अनुरोध के सही तरीके से काम करने के बाद, आपको यह जवाब दिखेगा. इसमें, नए बनाए गए प्रमोशन डेटा सोर्स के बारे में जानकारी शामिल होती है:
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
"dataSourceId": "{DATASOURCE_ID}",
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"targetCountry": "{TARGET_COUNTRY}",
"contentLanguage": "{CONTENT_LANGUAGE}"
},
"input": "API"
}
प्रमोशन बनाएं
प्रमोशन बनाने या अपडेट करने के लिए,
accounts.promotions.insert
तरीके का इस्तेमाल किया जा सकता है. accounts.promotions.insert तरीके के लिए, promotions संसाधन और डेटा सोर्स का नाम इनपुट के तौर पर ज़रूरी होता है. अगर यह तरीका सही तरीके से काम करता है, तो यह नया या अपडेट किया गया प्रमोशन दिखाता है.
प्रमोशन बनाने के लिए, डेटा सोर्स का नाम ज़रूरी है. आपको अपने अनुरोध में, इन फ़ील्ड के लिए वैल्यू भी देनी होंगी:
contentLanguageredemptionChannelpromotionIdtargetCountryattributes.offerTypeattributes.genericRedemptionCodeattributes.couponValueTypeattributes.productApplicabilityattributes.promotionEffectiveTimePeriod.endTimeattributes.promotionEffectiveTimePeriod.startTimeattributes.longTitle
Google, आपके प्रमोशन को डिस्ट्रिब्यूट करने से पहले उनकी समीक्षा करके उन्हें मंज़ूरी देता है. ज़्यादा जानकारी के लिए, प्रमोशन को मंज़ूरी देने की प्रोसेस देखें.
हमारा सुझाव है कि आप प्रमोशन की नीतियां पढ़ें. इससे आपको यह पक्का करने में मदद मिलेगी कि आपके बनाए गए प्रमोशन से वैल्यू मिलती है और वे शॉपिंग विज्ञापनों की नीतियों के मुताबिक हैं.
ऑनलाइन प्रमोशन बनाने का तरीका दिखाने वाला अनुरोध यहां दिया गया है:
HTTP
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert
{
"promotion": {
"name": "{PROMOTION_NAME}",
"promotionId": "{PROMOTION_ID}",
"targetCountry": "{TARGET_COUNTRY}",
"redemptionChannel": [
"ONLINE"
],
"contentLanguage": "{CONTENT_LANGUAGE}",
"attributes": {
"promotionDisplayTimePeriod": {
"endTime": "{PROMOTION_END_TIME}",
"startTime": "{PROMOTION_START_TIME}"
},
"offerType": "{OFFER_TYPE}",
"longTitle": "{LONG_TITLE}"
}
},
"dataSource": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}"
}
cURL
curl --request POST \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"dataSource":"{DATASOURCE_ID}","promotion":{"name":"accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}y","promotionId":"abc","contentLanguage":"en","targetCountry":"US","redemptionChannel":["ONLINE"]}}' \
--compressed
प्रमोशन आईडी सेट करने पर लागू होने वाले नियमों के बारे में जानने के लिए, प्रमोशन आईडी एट्रिब्यूट के लिए ज़रूरी शर्तें देखें.
अनिवार्य offerType फ़ील्ड के लिए मान्य वैल्यू, NO_CODE और GENERIC_CODE हैं. अगर इनमें से कोई वैल्यू नहीं दी जाती है, तो एपीआई का अनुरोध पूरा नहीं होता. साथ ही, HTTP 400 जवाब मिलता है
. इसमें यह गड़बड़ी दिखती है: [offer_type] validation/missing_required: Invalid or
missing required attribute: offer_type. अनिवार्य फ़ील्ड में से कोई भी फ़ील्ड न भरने पर, इसी तरह की गड़बड़ी का मैसेज दिखता है.
attributes.genericRedemptionCode फ़ील्ड के लिए वैल्यू न देने पर,
अनुरोध पूरा नहीं होता. साथ ही, HTTP 400 जवाब मिलता है. इसमें यह गड़बड़ी दिखती है: [genericRedemptionCode] No
redemption code provided.
promotion.attributes.promotionDisplayTimePeriod.startTime और promotion.attributes.promotionDisplayTimePeriod.endTime फ़ील्ड की वैल्यू, yyyy-mm-ddThh:mm:ssZ फ़ॉर्मैट में होनी चाहिए. पक्का करें कि इन फ़ील्ड की वैल्यू को आने वाली तारीखों से बदला गया हो.
ज़्यादा जानकारी के लिए, प्रमोशन से संबंधित डेटा के स्पेसिफ़िकेशन देखें.
प्रमोशन बनाने के सबसे सही तरीकों के बारे में जानने के लिए, प्रमोशन के सबसे सही तरीके देखें.
प्रमोशन से जुड़े एट्रिब्यूट की सूची देखने के लिए, स्ट्रक्चर्ड डेटा एट्रिब्यूट जोड़ना देखें.
प्रमोशन बनाने का अनुरोध सही तरीके से काम करने के बाद, एपीआई का इस्तेमाल करके प्रमोशन को वापस पाने या Merchant Center में दिखने में कुछ मिनट लग सकते हैं.
यहां एक सैंपल दिया गया है. इसका इस्तेमाल, एक साथ कई प्रमोशन एसिंक्रोनस तरीके से जोड़ने के लिए किया जा सकता है:
Java
import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutureCallback;
import com.google.api.core.ApiFutures;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.api.gax.grpc.ChannelPoolSettings;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.protobuf.Timestamp;
import com.google.shopping.merchant.promotions.v1.Attributes;
import com.google.shopping.merchant.promotions.v1.CouponValueType;
import com.google.shopping.merchant.promotions.v1.InsertPromotionRequest;
import com.google.shopping.merchant.promotions.v1.OfferType;
import com.google.shopping.merchant.promotions.v1.ProductApplicability;
import com.google.shopping.merchant.promotions.v1.Promotion;
import com.google.shopping.merchant.promotions.v1.PromotionsServiceClient;
import com.google.shopping.merchant.promotions.v1.PromotionsServiceSettings;
import com.google.shopping.merchant.promotions.v1.RedemptionChannel;
import com.google.shopping.type.CustomAttribute;
import com.google.shopping.type.Destination.DestinationEnum;
import com.google.type.Interval;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to insert multiple promotions asynchronously. */
public class InsertPromotionsAsyncSample {
private static String generateRandomString() {
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
StringBuilder sb = new StringBuilder(8);
for (int i = 0; i < 8; i++) {
sb.append(characters.charAt(random.nextInt(characters.length())));
}
return sb.toString();
}
private static Promotion createPromotion(String accountId) {
String merchantPromotionId = generateRandomString();
Attributes attributes =
Attributes.newBuilder()
.setProductApplicability(ProductApplicability.ALL_PRODUCTS)
.setOfferType(OfferType.GENERIC_CODE)
.setGenericRedemptionCode("ABCD1234")
.setLongTitle("My promotion")
.setCouponValueType(CouponValueType.PERCENT_OFF)
.addPromotionDestinations(DestinationEnum.SHOPPING_ADS)
.setPercentOff(10)
// Note that promotions have a 6-month limit.
// For more information, read here: https://support.google.com/merchants/answer/2906014
// Also note that only promotions valid within the past 365 days are shown in the UI.
.setPromotionEffectiveTimePeriod(
Interval.newBuilder()
.setStartTime(Timestamp.newBuilder().setSeconds(1726842472))
.setEndTime(Timestamp.newBuilder().setSeconds(1726842473))
.build())
.build();
return Promotion.newBuilder()
.setName(String.format("accounts/%s/merchantPromotions/%s", accountId, merchantPromotionId))
.setPromotionId(merchantPromotionId)
.setContentLanguage("fr")
.setTargetCountry("CH")
.addRedemptionChannel(RedemptionChannel.ONLINE)
.setAttributes(attributes)
// Custom attributes allow you to add additional information which is not available in
// Attributes. For example, you might want to pilot experimental functionality.
.addCustomAttributes(
CustomAttribute.newBuilder()
.setName("another example name")
.setValue("another example value")
.build())
.build();
}
public static void asyncInsertPromotions(String accountId, String dataSourceId) throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
// Creates a channel provider. This provider manages a pool of gRPC channels
// to enhance throughput for bulk operations. Each individual channel in the pool
// can handle up to approximately 100 concurrent requests.
//
// Channel: A single connection pathway to the service.
// Pool: A collection of multiple channels managed by this provider.
// Requests are distributed across the channels in the pool.
//
// We recommend estimating the number of concurrent requests you'll make, divide by 50 (50%
// utilization of channel capacity), and set the pool size to that number.
InstantiatingGrpcChannelProvider channelProvider =
InstantiatingGrpcChannelProvider.newBuilder()
.setChannelPoolSettings(ChannelPoolSettings.staticallySized(30))
.build();
PromotionsServiceSettings merchantPromotionsServiceSettings =
PromotionsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.setTransportChannelProvider(channelProvider)
.build();
try (PromotionsServiceClient merchantPromotionsServiceClient =
PromotionsServiceClient.create(merchantPromotionsServiceSettings)) {
// Arbitrarily creates five merchant promotions with random IDs.
List<InsertPromotionRequest> requests = new ArrayList<>();
for (int i = 0; i < 5; i++) {
InsertPromotionRequest request =
InsertPromotionRequest.newBuilder()
.setParent(String.format("accounts/%s", accountId))
.setPromotion(createPromotion(accountId))
.setDataSource(String.format("accounts/%s/dataSources/%s", accountId, dataSourceId))
.build();
requests.add(request);
}
// Inserts the merchant promotions.
List<ApiFuture<Promotion>> futures =
requests.stream()
.map(
request ->
merchantPromotionsServiceClient.insertPromotionCallable().futureCall(request))
.collect(Collectors.toList());
// Creates callback to handle the responses when all are ready.
ApiFuture<List<Promotion>> responses = ApiFutures.allAsList(futures);
ApiFutures.addCallback(
responses,
new ApiFutureCallback<List<Promotion>>() {
@Override
public void onSuccess(List<Promotion> results) {
System.out.println("Inserted merchant promotions below:");
System.out.println(results);
}
@Override
public void onFailure(Throwable throwable) {
System.out.println(throwable);
}
},
MoreExecutors.directExecutor());
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
asyncInsertPromotions(config.getAccountId().toString(), "<YOUR_DATA_SOURCE_ID>");
}
}
शुरू करने के लिए, यहां प्रमोशन के कुछ सैंपल दिए गए हैं.
सभी प्रॉडक्ट और सभी स्टोर पर लागू होने वाला लोकल प्रमोशन
यहां दिए गए अनुरोध के सैंपल में, लोकल प्रमोशन बनाने का तरीका दिखाया गया है. यह प्रमोशन, आपके Merchant Center खाते में मौजूद सभी प्रॉडक्ट और लिंक किए गए Business Profile खाते में जोड़े गए सभी स्टोर पर लागू होता है.
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/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/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}"
}
productApplicability फ़ील्ड ज़रूरी है. इससे यह पता चलता है कि प्रमोशन सभी प्रॉडक्ट पर लागू होगा या सिर्फ़ कुछ खास प्रॉडक्ट पर. ALL_PRODUCTS और SPECIFIC_PRODUCTS को वैल्यू के तौर पर इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, अपने प्रमोशन के लिए प्रॉडक्ट
चुनना देखें.
couponValueType फ़ील्ड ज़रूरी है. इससे यह पता चलता है कि आपने किस तरह का प्रमोशन चलाया है. इस्तेमाल की जा सकने वाली वैल्यू की सूची देखने के लिए, कूपन की वैल्यू किस तरह की है देखें.
चुनी गई कूपन वैल्यू के टाइप के हिसाब से,
कुछ एट्रिब्यूट ज़रूरी होते हैं.
minimumPurchaseQuantity फ़ील्ड की मदद से, खरीदारी के लिए ज़रूरी कम से कम संख्या की वैल्यू सेट की जा सकती है. यह प्रमोशन को रिडीम करने के लिए ज़रूरी होती है. ज़्यादा जानकारी के लिए, प्रमोशन को रिडीम करने के लिए, खरीदारी के लिए ज़रूरी कम से कम संख्या देखें.
इसी तरह, minimumPurchaseAmount फ़ील्ड का इस्तेमाल करके, प्रमोशन को रिडीम करने के लिए, खरीदारी की कम से कम रकम सेट की जा सकती है. ज़्यादा जानकारी के लिए,
देखें खरीदारी की कम से कम रकम.
लोकल प्रमोशन बनाने के लिए, आपको किन वैल्यू की ज़रूरत होगी, इस बारे में ज़्यादा जानने के लिए, लोकल प्रमोशन के लिए डेटा सोर्स स्पेसिफ़िकेशन देखें.
चुने गए प्रॉडक्ट पर लागू होने वाला ऑनलाइन प्रमोशन, जिसमें रिडेम्शन कोड की ज़रूरत होती है
यहां दिए गए अनुरोध के सैंपल में, ऑनलाइन प्रमोशन बनाने का तरीका दिखाया गया है. यह प्रमोशन, चुने गए प्रॉडक्ट पर लागू होता है और इसे रिडीम करने के लिए, रिडेम्शन कोड की ज़रूरत होती है.
POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/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/{ACCOUNT_ID}/dataSources/1000000573361824"
}
प्रमोशन देखें
प्रमोशन देखने के लिए, accounts.promotions.get का इस्तेमाल करें.
यह GET अनुरोध, सिर्फ़ पढ़ने के लिए है. इसके लिए, आपके merchantId और प्रमोशन का आईडी ज़रूरी है. GET तरीका, प्रमोशन का संबंधित संसाधन दिखाता है.
उदाहरण के लिए:
HTTP
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}
cURL
curl \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'Accept: application/json' \
--compressed
इनकी जगह ये डालें:
- {ACCOUNT_ID}: आपके Merchant Center खाते का यूनीक आइडेंटिफ़ायर.
- {PROMOTION_ID}: उस प्रमोशन का यूनीक आइडेंटिफ़ायर जिसे आपको वापस पाना है. इसका फ़ॉर्मैट {CHANNEL} ~{CONTENT_LANGUAGE}~ {TARGET_COUNTRY}~{PROMOTION_ID} है.
ध्यान दें कि एपीआई का इस्तेमाल करके, नए बनाए गए प्रमोशन को वापस पाने में कुछ मिनट लगते हैं.
लोकल प्रमोशन देखना
यहां दिए गए अनुरोध के सैंपल में, एक लोकल प्रमोशन को वापस पाया गया है. इसका प्रमोशन आईडी in_store~en~US~buy_2_get_10_off है.
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/in_store~en~US~buy_2_get_10_off
अनुरोध के सही तरीके से काम करने के बाद, आपको यह जवाब दिखेगा:
{
"name": "accounts/{ACCOUNT_ID}/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/{ACCOUNT_ID}/dataSources/1000000573361824"
}
इस सैंपल में मौजूद moneyOffAmount फ़ील्ड, प्रमोशन में दी जाने वाली छूट की रकम दिखाता है. ज़्यादा जानकारी के लिए, प्रमोशन में दी जाने वाली रकम के हिसाब से
छूट देखें.
इस सैंपल में मौजूद promotionUrl फ़ील्ड, स्टोर की वेबसाइट का लिंक दिखाता है. इस लिंक पर जाकर, खरीदार प्रमोशन के बारे में ज़्यादा जानकारी पा सकते हैं. स्थानीय इन्वेंट्री विज्ञापनों के प्रमोशन में, promotionUrl फ़ील्ड शामिल न करने पर गड़बड़ी दिखती है.
ऑनलाइन प्रमोशन देखना
यहां दिए गए अनुरोध के सैंपल में, एक ऑनलाइन प्रमोशन को वापस पाया गया है. इसका प्रमोशन आईडी online~en~US~25_pct_off है.
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/online~en~US~25_pct_off
{
"name": "accounts/{ACCOUNT_ID}/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_ID}/dataSources/{dataSource}"
}
इस सैंपल में इस्तेमाल किया गया itemIdInclusion फ़ील्ड, उन प्रॉडक्ट के बारे में बताता है जो प्रमोशन के लिए ज़रूरी शर्तें पूरी करते हैं. ज़्यादा जानकारी के लिए, प्रमोशन के लिए
प्रॉडक्ट आईडी देखें.
प्रमोशन की सूची देखना
बनाए गए सभी प्रमोशन देखने के लिए,
promotions.list
तरीके का इस्तेमाल किया जा सकता है.
अनुरोध का एक सैंपल यहां दिया गया है:
HTTP
GET https://merchantapi.googleapis.com/promotions/v1/{ACCOUNT_ID}/promotions
cURL
curl \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'Accept: application/json' \
--compressed
जवाब में, आपके खाते में मौजूद सभी प्रमोशन की सूची शामिल होती है. हर प्रमोशन के लिए, आपको promotionId, redemptionChannel, dataSource, promotionStatus वगैरह जैसी जानकारी दिखती है.
प्रमोशन की स्थिति देखना
प्रमोशन की स्थिति देखने के लिए, promotionStatus एट्रिब्यूट को देखें जो
promotions.get
या
promotions.list
तरीके से मिला है.
promotionStatus फ़ील्ड में ये वैल्यू हो सकती हैं:
IN_REVIEW: प्रमोशन की समीक्षा अब भी की जा रही है.REJECTED: प्रमोशन को अस्वीकार कर दिया गया है.LIVE: प्रमोशन को मंज़ूरी मिल गई है और वह चालू है.STOPPED: खाते के ज़रिए प्रमोशन को रोक दिया गया है.EXPIRED: प्रमोशन अब चालू नहीं है.PENDING: प्रमोशन को रोका नहीं गया है और सभी समीक्षाओं को मंज़ूरी मिल गई है. हालांकि, इसे चालू करने की तारीख आने वाले समय में है.STATE_UNSPECIFIED: प्रमोशन की स्थिति के बारे में जानकारी नहीं है.
आपके बनाए गए प्रमोशन को मंज़ूरी देने की प्रोसेस समझने के लिए, प्रमोशन को मंज़ूरी देने की प्रोसेस देखें.
प्रमोशन की स्थिति का सैंपल
यहां दिए गए सैंपल में, सही तरीके से काम करने वाले और काम न करने वाले अनुरोधों के बीच का अंतर दिखाया गया है.
प्रॉडक्ट मैपिंग की जानकारी मौजूद नहीं है
जवाब के मुख्य हिस्से में, एक ऑनलाइन प्रमोशन दिखाया गया है. इसे प्रॉडक्ट मैपिंग की जानकारी मौजूद न होने की वजह से अस्वीकार कर दिया गया है.
"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"
]
}
]
}
अस्वीकार किए गए प्रमोशन की समस्याएं हल करने और आने वाले समय में प्रमोशन को अस्वीकार होने से बचाने के तरीके जानने के लिए, अस्वीकार किए गए प्रमोशन की समस्याएं ठीक करना देखें.
अगर आपके बनाए गए प्रमोशन को मंज़ूरी नहीं मिलती है, तो आपको एक ईमेल मिलता है. इसमें, अस्वीकार करने की वजह और समस्याओं को ठीक करने के निर्देश दिए होते हैं.
प्रमोशन की समीक्षा की जा रही है
जवाब के मुख्य हिस्से में, एक ऐसा प्रमोशन दिखाया गया है जिसकी समीक्षा अब भी की जा रही है.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
मंज़ूरी मिल चुकी है और चालू है
जवाब के मुख्य हिस्से में, एक ऐसा प्रमोशन दिखाया गया है जो खरीदारों को दिख रहा है.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "LIVE"
},
{
"destination": "SHOPPING_ADS",
"status": "LIVE"
} ],
"itemLevelIssues": []
}
ज़्यादा जानकारी के लिए, प्रमोशन की स्थिति के बारे में अक्सर पूछे जाने वाले सवाल देखें.
प्रमोशन मिटाएं
एपीआई का इस्तेमाल करके, प्रमोशन मिटाया नहीं जा सकता. प्रमोशन मिटाने के लिए, आपको Merchant Center के यूज़र इंटरफ़ेस (यूआई) को ऐक्सेस करना होगा. ज़्यादा जानकारी के लिए, ज़्यादा जानकारी के लिए, प्रमोशन में बदलाव करना या प्रमोशन की स्थिति बदलना देखें देखें.
किसी मौजूदा प्रमोशन को खत्म करने के लिए,
accounts.promotions.insert
तरीके का इस्तेमाल करके, attributes.promotionEffectiveTimePeriod.endTime फ़ील्ड को
पिछली तारीख और समय पर अपडेट किया जा सकता है.
ज़्यादा जानें
- ज़्यादा जानकारी के लिए, प्रमोशन का सहायता केंद्र देखें.
- सामान्य समस्याएं हल करने के लिए, प्रमोशन के सब-एपीआई से जुड़ी समस्याएं हल करना देखें.
- Shopping के लिए Content API से माइग्रेट करने के बारे में जानने के लिए, प्रमोशन मैनेज करने की सुविधा माइग्रेट करना देखें.