বণিক প্রচার API এর ওভারভিউ

আপনি Google এ বিক্রি করেন এমন পণ্যগুলির জন্য বিশেষ অফারগুলি প্রদর্শন করতে প্রচারগুলি ব্যবহার করুন৷ প্রচারগুলি Google অনুসন্ধান, কেনাকাটা এবং Chrome সহ বিভিন্ন Google বৈশিষ্ট্য জুড়ে প্রদর্শিত হয়৷ অনুমোদনের জন্য প্রচারগুলিকে অবশ্যই নির্দিষ্ট মানদণ্ড পূরণ করতে হবে। আরও তথ্যের জন্য, প্রচারের মানদণ্ড দেখুন।

আপনি যখন আপনার পণ্যগুলিতে একটি প্রচার যোগ করেন, ক্রেতারা একটি বিশেষ অফার লিঙ্ক দেখতে পান। যেমন, "১৫% ছাড়" বা "ফ্রি শিপিং"। অফার লিঙ্কগুলি আপনার পণ্যের আবেদন বাড়াতে পারে এবং ক্রেতাদের ক্রয় করতে উত্সাহিত করতে পারে। সমস্ত প্রচার চেকআউট বা বিক্রয় বিন্দুতে প্রয়োগ করা হয়।

আরও তথ্যের জন্য, প্রচারের মূল বিষয়গুলি দেখুন।

পূর্বশর্ত

আপনার প্রচারগুলি প্রদর্শন করার আগে Google আপনাকে আপনার ব্যবসা এবং পণ্য সম্পর্কে নির্দিষ্ট তথ্য প্রদান করতে হবে৷ আপনার অবশ্যই নিম্নলিখিতগুলি থাকতে হবে:

এছাড়াও, আপনাকে অবশ্যই প্রচার প্রোগ্রামে আপনার বণিক অ্যাকাউন্ট নথিভুক্ত করতে হবে। আপনি ইতিমধ্যে নথিভুক্ত কিনা তা নিশ্চিত না হলে, বণিক কেন্দ্র চেক করুন।

আপনি নথিভুক্ত না হলে, অনুরোধ ফর্মটি পূরণ করুন৷ আপনি যখন বাস্তবায়ন শুরু করতে প্রস্তুত তখন প্রচার দল আপনাকে জানাবে।

আরও তথ্যের জন্য, অংশগ্রহণের মানদণ্ড এবং নীতিগুলি দেখুন।

একটি ডেটা উত্স তৈরি করুন

আপনি একটি প্রচার ডেটা উৎস তৈরি করতে accounts.dataSources.create পদ্ধতি ব্যবহার করতে পারেন। যদি একটি বিদ্যমান প্রচার ডেটা উত্স উপলব্ধ থাকে, তাহলে সমস্ত ডেটা উত্স পুনরুদ্ধার করতে accounts.dataSources.list পদ্ধতি ব্যবহার করুন৷ তারপরে আপনি প্রচার তৈরি করতে প্রচার ডেটা উত্সের name ক্ষেত্রটি ব্যবহার করতে পারেন৷

নিম্নলিখিত অনুরোধটি প্রচার যোগ করার জন্য কীভাবে একটি ডেটা উত্স তৈরি করতে হয় তা দেখায়:

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

{
  "displayName": "{DISPLAY_NAME}",
  "promotionDataSource": {
    "contentLanguage": "{CONTENT_LANGUAGE}",
    "targetCountry": "{TARGET_COUNTRY}"
  }
}

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • {ACCOUNT_ID} : আপনার অ্যাকাউন্টের অনন্য শনাক্তকারী যেমনটি বণিক কেন্দ্রের UI-তে প্রদর্শিত হয়৷
  • {DISPLAY_NAME} : ডেটা উৎসের প্রদর্শন নাম।
  • {CONTENT_LANGUAGE} : ডেটা উৎসে পণ্যগুলির দুই-অক্ষরের ISO 639-1 ভাষার কোড।
  • {TARGET_COUNTRY} : টার্গেট দেশের CLDR টেরিটরি কোড যেখানে আপনি প্রচারগুলি দৃশ্যমান করতে চান৷

অনুরোধটি সফলভাবে চলার পরে, আপনি নিম্নলিখিত প্রতিক্রিয়া দেখতে পাবেন যাতে নতুন তৈরি করা প্রচার ডেটা উত্স সম্পর্কে বিশদ বিবরণ রয়েছে:

{
  "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 সংস্থান এবং একটি ডেটা উৎসের নাম ইনপুট হিসাবে নেয়৷ সফল হলে এটি নতুন বা আপডেট করা প্রচার ফিরিয়ে দেয়।

একটি প্রচার তৈরি করতে ডেটা উত্সের নাম প্রয়োজন৷ আপনার অনুরোধে আপনাকে অবশ্যই নিম্নলিখিত ক্ষেত্রগুলির জন্য মান প্রদান করতে হবে:

  • contentLanguage
  • redemptionChannel
  • promotionId
  • targetCountry
  • attributes.offerType
  • attributes.genericRedemptionCode
  • attributes.couponValueType
  • attributes.productApplicability
  • attributes.promotionEffectiveTimePeriod.endTime
  • attributes.promotionEffectiveTimePeriod.startTime
  • attributes.longTitle

Google আপনার প্রচারগুলি বিতরণ করার আগে পর্যালোচনা করে এবং অনুমোদন করে৷ আরও তথ্যের জন্য, প্রচার অনুমোদন প্রক্রিয়া দেখুন।

আমরা সুপারিশ করি যে আপনি প্রচারের নীতিগুলি অনুসরণ করে নিশ্চিত করুন যে আপনি যে প্রচারগুলি তৈরি করেন তাতে মূল্য বৃদ্ধি পায় এবং শপিং বিজ্ঞাপনের নীতিগুলি মেনে চলে।

নিম্নলিখিত অনুরোধটি দেখায় কিভাবে একটি অনলাইন প্রচার তৈরি করতে হয়:

POST https://merchantapi.googleapis.com/promotions/v1beta/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}"
}

আপনার প্রচার আইডি সেট করার জন্য প্রযোজ্য নিয়ম সম্পর্কে তথ্যের জন্য, প্রচার আইডি অ্যাট্রিবিউটের জন্য ন্যূনতম প্রয়োজনীয়তাগুলি দেখুন।

বাধ্যতামূলক offerType ক্ষেত্রের বৈধ মান হল NO_CODE এবং GENERIC_CODE ৷ আপনি যদি এই মানগুলির একটি প্রদান না করেন, API অনুরোধটি 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 ফর্ম্যাটে হতে হবে। এই ক্ষেত্রগুলির মানগুলি ভবিষ্যতের তারিখগুলির সাথে প্রতিস্থাপন করা নিশ্চিত করুন৷

আরও তথ্যের জন্য, প্রচার ডেটা স্পেসিফিকেশন দেখুন।

একটি প্রচার তৈরির সর্বোত্তম অনুশীলনের জন্য, প্রচারের সেরা অনুশীলনগুলি দেখুন৷

প্রচার-সম্পর্কিত বৈশিষ্ট্যগুলির একটি তালিকার জন্য, কাঠামোগত ডেটা বৈশিষ্ট্য যুক্ত করুন দেখুন।

প্রচার তৈরির অনুরোধ সফলভাবে চালানোর পরে, API ব্যবহার করে প্রচারটি পুনরুদ্ধারযোগ্য হতে বা মার্চেন্ট সেন্টারে উপস্থিত হতে কয়েক মিনিট সময় লাগতে পারে।

এখানে একটি নমুনা রয়েছে যা আপনি অ্যাসিঙ্ক্রোনাসভাবে একাধিক প্রচার সন্নিবেশ করতে ব্যবহার করতে পারেন:

জাভা
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.auth.oauth2.GoogleCredentials;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.protobuf.Timestamp;
import com.google.shopping.merchant.promotions.v1beta.Attributes;
import com.google.shopping.merchant.promotions.v1beta.CouponValueType;
import com.google.shopping.merchant.promotions.v1beta.InsertPromotionRequest;
import com.google.shopping.merchant.promotions.v1beta.OfferType;
import com.google.shopping.merchant.promotions.v1beta.ProductApplicability;
import com.google.shopping.merchant.promotions.v1beta.Promotion;
import com.google.shopping.merchant.promotions.v1beta.PromotionsServiceClient;
import com.google.shopping.merchant.promotions.v1beta.PromotionsServiceSettings;
import com.google.shopping.merchant.promotions.v1beta.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();

    PromotionsServiceSettings merchantPromotionsServiceSettings =
        PromotionsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .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 অ্যাকাউন্টের সমস্ত পণ্য এবং আপনার লিঙ্ক করা ব্যবসার প্রোফাইল অ্যাকাউন্টে যোগ করা সমস্ত স্টোরের জন্য প্রযোজ্য।

POST https://merchantapi.googleapis.com/promotions/v1beta/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/v1beta/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 পদ্ধতি সংশ্লিষ্ট প্রচার সংস্থান প্রদান করে।

যেমন:

GET https://merchantapi.googleapis.com/promotions/v1beta/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • {ACCOUNT_ID} : আপনার Merchant Center অ্যাকাউন্টের অনন্য শনাক্তকারী।
  • {PROMOTION_ID} : আপনি যে প্রচারটি পুনরুদ্ধার করতে চান তার অনন্য শনাক্তকারী৷ ফর্ম্যাটটি হল {CHANNEL} ~ {CONTENT_LANGUAGE} ~ {TARGET_COUNTRY} ~ {PROMOTION_ID}

মনে রাখবেন যে API ব্যবহার করে একটি নতুন তৈরি করা প্রচার পুনরুদ্ধারযোগ্য হতে কয়েক মিনিট সময় লাগে৷

একটি স্থানীয় প্রচার দেখুন

নিম্নলিখিত নমুনা অনুরোধটি একটি স্থানীয় প্রচার পুনরুদ্ধার করে যার প্রচার ID হল in_store~en~US~buy_2_get_10_off

GET https://merchantapi.googleapis.com/promotions/v1beta/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/v1beta/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 পদ্ধতি ব্যবহার করতে পারেন।

GET https://merchantapi.googleapis.com/promotions/v1beta/{ACCOUNT_ID}/promotions

প্রতিক্রিয়াতে আপনার অ্যাকাউন্টের সমস্ত প্রচারের তালিকা রয়েছে। প্রতিটি প্রচারের জন্য, আপনি promotionId , redemptionChannel , dataSource , promotionStatus , এবং আরও অনেক কিছুর মতো বিশদ বিবরণ দেখতে পারেন৷

একটি প্রচারের অবস্থা দেখুন

একটি প্রচারের স্থিতি দেখতে, promotions.get বা promotions.list পদ্ধতি দ্বারা প্রত্যাবর্তিত promotionStatus বৈশিষ্ট্যটি দেখুন৷

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

আরও তথ্যের জন্য, প্রচারের অবস্থা FAQs দেখুন।

আরও জানুন

,

আপনি Google এ বিক্রি করেন এমন পণ্যগুলির জন্য বিশেষ অফারগুলি প্রদর্শন করতে প্রচারগুলি ব্যবহার করুন৷ প্রচারগুলি Google অনুসন্ধান, কেনাকাটা এবং Chrome সহ বিভিন্ন Google বৈশিষ্ট্য জুড়ে প্রদর্শিত হয়৷ অনুমোদনের জন্য প্রচারগুলিকে অবশ্যই নির্দিষ্ট মানদণ্ড পূরণ করতে হবে। আরও তথ্যের জন্য, প্রচারের মানদণ্ড দেখুন।

আপনি যখন আপনার পণ্যগুলিতে একটি প্রচার যোগ করেন, ক্রেতারা একটি বিশেষ অফার লিঙ্ক দেখতে পান। যেমন, "১৫% ছাড়" বা "ফ্রি শিপিং"। অফার লিঙ্কগুলি আপনার পণ্যের আবেদন বাড়াতে পারে এবং ক্রেতাদের ক্রয় করতে উত্সাহিত করতে পারে। সমস্ত প্রচার চেকআউট বা বিক্রয় বিন্দুতে প্রয়োগ করা হয়।

আরও তথ্যের জন্য, প্রচারের মূল বিষয়গুলি দেখুন।

পূর্বশর্ত

আপনার প্রচারগুলি প্রদর্শন করার আগে Google আপনাকে আপনার ব্যবসা এবং পণ্য সম্পর্কে নির্দিষ্ট তথ্য প্রদান করতে হবে৷ আপনার অবশ্যই নিম্নলিখিতগুলি থাকতে হবে:

এছাড়াও, আপনাকে অবশ্যই প্রচার প্রোগ্রামে আপনার বণিক অ্যাকাউন্ট নথিভুক্ত করতে হবে। আপনি ইতিমধ্যে নথিভুক্ত কিনা তা নিশ্চিত না হলে, বণিক কেন্দ্র চেক করুন।

আপনি নথিভুক্ত না হলে, অনুরোধ ফর্মটি পূরণ করুন৷ আপনি যখন বাস্তবায়ন শুরু করতে প্রস্তুত তখন প্রচার দল আপনাকে জানাবে।

আরও তথ্যের জন্য, অংশগ্রহণের মানদণ্ড এবং নীতিগুলি দেখুন।

একটি ডেটা উত্স তৈরি করুন

আপনি একটি প্রচার ডেটা উৎস তৈরি করতে accounts.dataSources.create পদ্ধতি ব্যবহার করতে পারেন। যদি একটি বিদ্যমান প্রচার ডেটা উত্স উপলব্ধ থাকে, তাহলে সমস্ত ডেটা উত্স পুনরুদ্ধার করতে accounts.dataSources.list পদ্ধতি ব্যবহার করুন৷ তারপরে আপনি প্রচার তৈরি করতে প্রচার ডেটা উত্সের name ক্ষেত্রটি ব্যবহার করতে পারেন৷

নিম্নলিখিত অনুরোধটি প্রচার যোগ করার জন্য কীভাবে একটি ডেটা উত্স তৈরি করতে হয় তা দেখায়:

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

{
  "displayName": "{DISPLAY_NAME}",
  "promotionDataSource": {
    "contentLanguage": "{CONTENT_LANGUAGE}",
    "targetCountry": "{TARGET_COUNTRY}"
  }
}

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • {ACCOUNT_ID} : আপনার অ্যাকাউন্টের অনন্য শনাক্তকারী যেমনটি বণিক কেন্দ্রের UI-তে প্রদর্শিত হয়৷
  • {DISPLAY_NAME} : ডেটা উৎসের প্রদর্শন নাম।
  • {CONTENT_LANGUAGE} : ডেটা উৎসে পণ্যগুলির দুই-অক্ষরের ISO 639-1 ভাষার কোড।
  • {TARGET_COUNTRY} : টার্গেট দেশের CLDR টেরিটরি কোড যেখানে আপনি প্রচারগুলি দৃশ্যমান করতে চান৷

অনুরোধটি সফলভাবে চলার পরে, আপনি নিম্নলিখিত প্রতিক্রিয়া দেখতে পাবেন যাতে নতুন তৈরি করা প্রচার ডেটা উত্স সম্পর্কে বিশদ বিবরণ রয়েছে:

{
  "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 সংস্থান এবং একটি ডেটা উৎসের নাম ইনপুট হিসাবে নেয়৷ সফল হলে এটি নতুন বা আপডেট করা প্রচার ফিরিয়ে দেয়।

একটি প্রচার তৈরি করতে ডেটা উত্সের নাম প্রয়োজন৷ আপনার অনুরোধে আপনাকে অবশ্যই নিম্নলিখিত ক্ষেত্রগুলির জন্য মান প্রদান করতে হবে:

  • contentLanguage
  • redemptionChannel
  • promotionId
  • targetCountry
  • attributes.offerType
  • attributes.genericRedemptionCode
  • attributes.couponValueType
  • attributes.productApplicability
  • attributes.promotionEffectiveTimePeriod.endTime
  • attributes.promotionEffectiveTimePeriod.startTime
  • attributes.longTitle

Google আপনার প্রচারগুলি বিতরণ করার আগে পর্যালোচনা করে এবং অনুমোদন করে৷ আরও তথ্যের জন্য, প্রচার অনুমোদন প্রক্রিয়া দেখুন।

আমরা সুপারিশ করি যে আপনি প্রচারের নীতিগুলি অনুসরণ করে নিশ্চিত করুন যে আপনি যে প্রচারগুলি তৈরি করেন তাতে মূল্য বৃদ্ধি পায় এবং শপিং বিজ্ঞাপনের নীতিগুলি মেনে চলে।

নিম্নলিখিত অনুরোধটি দেখায় কিভাবে একটি অনলাইন প্রচার তৈরি করতে হয়:

POST https://merchantapi.googleapis.com/promotions/v1beta/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}"
}

আপনার প্রচার আইডি সেট করার জন্য প্রযোজ্য নিয়ম সম্পর্কে তথ্যের জন্য, প্রচার আইডি অ্যাট্রিবিউটের জন্য ন্যূনতম প্রয়োজনীয়তাগুলি দেখুন।

বাধ্যতামূলক offerType ক্ষেত্রের বৈধ মান হল NO_CODE এবং GENERIC_CODE ৷ আপনি যদি এই মানগুলির একটি প্রদান না করেন, API অনুরোধটি 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 ফর্ম্যাটে হতে হবে। এই ক্ষেত্রগুলির মানগুলি ভবিষ্যতের তারিখগুলির সাথে প্রতিস্থাপন করা নিশ্চিত করুন৷

আরও তথ্যের জন্য, প্রচার ডেটা স্পেসিফিকেশন দেখুন।

একটি প্রচার তৈরির সর্বোত্তম অনুশীলনের জন্য, প্রচারের সেরা অনুশীলনগুলি দেখুন৷

প্রচার-সম্পর্কিত বৈশিষ্ট্যগুলির একটি তালিকার জন্য, কাঠামোগত ডেটা বৈশিষ্ট্য যুক্ত করুন দেখুন।

প্রচার তৈরির অনুরোধ সফলভাবে চালানোর পরে, API ব্যবহার করে প্রচারটি পুনরুদ্ধারযোগ্য হতে বা মার্চেন্ট সেন্টারে উপস্থিত হতে কয়েক মিনিট সময় লাগতে পারে।

এখানে একটি নমুনা রয়েছে যা আপনি অ্যাসিঙ্ক্রোনাসভাবে একাধিক প্রচার সন্নিবেশ করতে ব্যবহার করতে পারেন:

জাভা
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.auth.oauth2.GoogleCredentials;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.protobuf.Timestamp;
import com.google.shopping.merchant.promotions.v1beta.Attributes;
import com.google.shopping.merchant.promotions.v1beta.CouponValueType;
import com.google.shopping.merchant.promotions.v1beta.InsertPromotionRequest;
import com.google.shopping.merchant.promotions.v1beta.OfferType;
import com.google.shopping.merchant.promotions.v1beta.ProductApplicability;
import com.google.shopping.merchant.promotions.v1beta.Promotion;
import com.google.shopping.merchant.promotions.v1beta.PromotionsServiceClient;
import com.google.shopping.merchant.promotions.v1beta.PromotionsServiceSettings;
import com.google.shopping.merchant.promotions.v1beta.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();

    PromotionsServiceSettings merchantPromotionsServiceSettings =
        PromotionsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .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 অ্যাকাউন্টের সমস্ত পণ্য এবং আপনার লিঙ্ক করা ব্যবসার প্রোফাইল অ্যাকাউন্টে যোগ করা সমস্ত স্টোরের জন্য প্রযোজ্য।

POST https://merchantapi.googleapis.com/promotions/v1beta/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/v1beta/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 পদ্ধতি সংশ্লিষ্ট প্রচার সংস্থান প্রদান করে।

যেমন:

GET https://merchantapi.googleapis.com/promotions/v1beta/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • {ACCOUNT_ID} : আপনার Merchant Center অ্যাকাউন্টের অনন্য শনাক্তকারী।
  • {PROMOTION_ID} : আপনি যে প্রচারটি পুনরুদ্ধার করতে চান তার অনন্য শনাক্তকারী৷ ফর্ম্যাটটি হল {CHANNEL} ~ {CONTENT_LANGUAGE} ~ {TARGET_COUNTRY} ~ {PROMOTION_ID}

মনে রাখবেন যে API ব্যবহার করে একটি নতুন তৈরি করা প্রচার পুনরুদ্ধারযোগ্য হতে কয়েক মিনিট সময় লাগে৷

একটি স্থানীয় প্রচার দেখুন

নিম্নলিখিত নমুনা অনুরোধটি একটি স্থানীয় প্রচার পুনরুদ্ধার করে যার প্রচার ID হল in_store~en~US~buy_2_get_10_off

GET https://merchantapi.googleapis.com/promotions/v1beta/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/v1beta/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 পদ্ধতি ব্যবহার করতে পারেন।

GET https://merchantapi.googleapis.com/promotions/v1beta/{ACCOUNT_ID}/promotions

প্রতিক্রিয়াতে আপনার অ্যাকাউন্টের সমস্ত প্রচারের তালিকা রয়েছে। প্রতিটি প্রচারের জন্য, আপনি promotionId , redemptionChannel , dataSource , promotionStatus , এবং আরও অনেক কিছুর মতো বিশদ বিবরণ দেখতে পারেন৷

একটি প্রচারের অবস্থা দেখুন

একটি প্রচারের স্থিতি দেখতে, promotions.get বা promotions.list পদ্ধতি দ্বারা প্রত্যাবর্তিত promotionStatus বৈশিষ্ট্যটি দেখুন৷

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

আরও তথ্যের জন্য, প্রচারের অবস্থা FAQs দেখুন।

আরও জানুন