শিপিং সেটিংস পরিচালনা করুন, শিপিং সেটিংস পরিচালনা করুন

আপনার অ্যাকাউন্টের অধীনে থাকা সমস্ত পণ্য এবং সমস্ত সম্পর্কিত সাব-অ্যাকাউন্টগুলির জন্য শিপিং সেটিংস পরিচালনা করতে অ্যাকাউন্ট সাব-এপিআই ব্যবহার করুন৷

আপনি শিপিং সেটিংসে যে পরিবর্তনগুলি করবেন তা সমস্ত পণ্যের জন্য প্রযোজ্য হবে৷ পৃথক পণ্যের জন্য শিপিং আপডেট করতে, মার্চেন্ট পণ্য API ব্যবহার করুন।

আরও তথ্যের জন্য, শিপিং সেটিংস সেট আপ দেখুন।

শিপিং সেটিংসের ওভারভিউ

accounts.shippingSettings রিসোর্স আপনাকে আপনার উন্নত অ্যাকাউন্ট এবং সমস্ত সংশ্লিষ্ট সাব-অ্যাকাউন্টের শিপিং সেটিংস পুনরুদ্ধার এবং আপডেট করতে দেয়।

উন্নত অ্যাকাউন্টগুলি সাধারণত ইন্টিগ্রেটর, অ্যাগ্রিগেটর এবং চ্যানেল অংশীদারদের দ্বারা ব্যবহৃত হয় যারা একাধিক ব্যবসার জন্য অনলাইন স্টোর এবং API পরিষেবাগুলি পরিচালনা করে। যেসব ব্যবসায় একাধিক অনলাইন স্টোর বা ব্র্যান্ড রয়েছে যা আলাদা ওয়েবসাইটে বিক্রি হয় তারাও একটি একক অ্যাডভান্সড অ্যাকাউন্টের অধীনে সাব-অ্যাকাউন্ট থাকা বেছে নিতে পারে।

Google স্বয়ংক্রিয়ভাবে কিছু পণ্যের জন্য আনুমানিক বিতরণ সময় আপডেট করতে পারে।

শিপিং সেটিংস যোগ করুন

আপনার অ্যাকাউন্টের জন্য শিপিং সেটিংস যোগ বা আপডেট করতে, accounts.shippingSettings.insert পদ্ধতি ব্যবহার করুন।

নিম্নলিখিত নমুনা অনুরোধ শিপিং মূল্য, আনুগত্য প্রোগ্রাম যে এই শিপিং পরিষেবা সীমাবদ্ধ, এবং মুদ্রা কোড সেট করে।

HTTP

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/shippingSettings:insert

{
  "etag": "",
  "name": "accounts/ACCOUNT_ID/shippingSetting",
  "services": [
    {
      "deliveryCountries": [
        "COUNTRY_CODE"
      ],
      "serviceName": "SERVICE_NAME",
      "active": false,
      "deliveryTime": {},
      "loyaltyPrograms": [
        {
          "programLabel": "PROGRAM_LABEL"
        }
      ],
      "minimumOrderValue": {
        "amountMicros": PRICE,
        "currencyCode": "CURRENCY_CODE"
      },
      "currencyCode": "USD",
      "rateGroups": [
        {
          "applicableShippingLabels": [
            "SHIPPING_LABEL"
          ],
          "singleValue": {
            "flatRate": {
              "amountMicros": 10000000,
              "currencyCode": "USD"
            }
          }
        }
      ]
    }
  ]
}

cURL

curl --request POST \
'https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/shippingSettings:insert' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"name":"SHIPPING_SETTING_NAME","services":[{"serviceName":"SERVICE_NAME","currencyCode":"CURRENCY_CODE","rateGroups":[{"applicableShippingLabels":["SHIPPING_LABEL"],"carrierRates":[{"name":"new","carrier":"CARRIER_NAME","carrierService":"CARRIER_SERVICE","originPostalCode":"ZIPCODE"}],"singleValue":{"flatRate":{"amountMicros":10000000,"currencyCode":"USD"}}}],"deliveryCountries":["COUNTRY_CODE"],"deliveryTime":{"maxHandlingDays":2,"minHandlingDays":1},"minimumOrderValue":{"amountMicros":50000000,"currencyCode":"USD"},"active":false}]}' \
--compressed

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

  • ACCOUNT_ID : আপনার Merchant Center অ্যাকাউন্টের অনন্য শনাক্তকারী।
  • COUNTRY_CODE : যে দেশের জন্য এই পরিষেবাটি প্রযোজ্য সেই দেশের CLDR (কমন লোকেল ডেটা রিপোজিটরি) কোড৷ রেট গ্রুপের দামের সাথে মিলতে হবে।
  • SERVICE_NAME : পরিষেবার নাম৷
  • CARRIER_NAME : ক্যারিয়ারের নাম। উদাহরণস্বরূপ, ইউপিএস এবং ফেডেক্স।
  • CARRIER_SERVICE : ক্যারিয়ারের জন্য সমর্থিত পরিষেবা। ক্যারিয়ার পরিষেবার সম্পূর্ণ তালিকার জন্য, ক্যারিয়ার রেট দেখুন (শুধুমাত্র AU, DE, UK, এবং US)
    • PROGRAM_LABEL : লয়্যালটি প্রোগ্রাম লেবেল বণিক কেন্দ্রে আপনার লয়্যালটি প্রোগ্রাম সেটিংসে সেট করা হয়েছে।
  • SHIPPING_LABEL : এই রেট গ্রুপটি প্রযোজ্য পণ্যগুলিকে সংজ্ঞায়িত করে শিপিং লেবেলের একটি তালিকা৷
  • PRICE : মাইক্রোতে একটি সংখ্যা হিসাবে উপস্থাপিত মূল্য। উদাহরণস্বরূপ, 1 USD = 1000000 মাইক্রো।
  • CURRENCY_CODE : তিন-অক্ষরের সংক্ষিপ্ত শব্দ ব্যবহার করে মূল্যের মুদ্রা।

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

রিকোয়েস্ট বডিতে accounts.shippingSettings রিসোর্সের সম্পূর্ণ রিসোর্স বডি থাকা উচিত, এমনকি যদি আপনি শুধুমাত্র একটি অ্যাট্রিবিউট আপডেট করেন, কারণ রিকোয়েস্ট বডিতে যেকোনও NULL বা অনুপস্থিত মান বিদ্যমান মানগুলিকে বাতিল করে দেয়।

এখানে একটি সফল কল থেকে একটি নমুনা প্রতিক্রিয়া:

{
  "name": "accounts/ACCOUNT_ID/shippingSettings",
  "services": [
    {
      "serviceName": "SERVICE_NAME",
      "active": false,
      "deliveryCountries": [
        "COUNTRY_CODE"
      ],
      "currencyCode": "CURRENCY_CODE",
      "rateGroups": [
        {
          "applicableShippingLabels": [
            "SHIPPING_LABEL"
          ],
          "singleValue": {
            "flatRate": {
              "amountMicros": "PRICE",
              "currencyCode": "CURRENCY_CODE"
            }
          }
        }
      ],
      "shipmentType": "LOCAL_DELIVERY",
      "storeConfig": {
        "storeServiceType": "ALL_STORES",
        "cutoffConfig": {
          "localCutoffTime": {
            "hour": "7",
            "minute": "40"
          },
          "noDeliveryPostCutoff": false
        },
        "serviceRadius": {
          "value": "40",
          "unit": "KILOMETERS"
        }
      }
    }
  ],
  "etag": "OAJCTQgBEAAaRwoEdGVzdBIEIgJVUxoDVVNEIggiBggHECgoACoeCAESDwoNCAESCU9WRVJTSVpFRBoJIgcIAhCAwtcvWAWSAQCaAQQIAhAo"
}

এখানে একটি নমুনা রয়েছে যা আপনি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি প্রদত্ত অ্যাকাউন্টের জন্য শিপিং সেটিংস আপডেট করতে ব্যবহার করতে পারেন:

জাভা

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.DeliveryTime;
import com.google.shopping.merchant.accounts.v1.InsertShippingSettingsRequest;
import com.google.shopping.merchant.accounts.v1.RateGroup;
import com.google.shopping.merchant.accounts.v1.Service;
import com.google.shopping.merchant.accounts.v1.Service.ShipmentType;
import com.google.shopping.merchant.accounts.v1.ShippingSettings;
import com.google.shopping.merchant.accounts.v1.ShippingSettingsServiceClient;
import com.google.shopping.merchant.accounts.v1.ShippingSettingsServiceSettings;
import com.google.shopping.merchant.accounts.v1.Value;
import com.google.shopping.type.Price;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to insert a ShippingSettings for a Merchant Center account. */
public class InsertShippingSettingsSample {

  private static String getParent(String accountId) {
    return String.format("accounts/%s", accountId);
  }

  public static void insertShippingSettings(Config config) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the credentials retrieved above.
    ShippingSettingsServiceSettings shippingSettingsServiceSettings =
        ShippingSettingsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates parent to identify where to insert the shippingsettings.
    String parent = getParent(config.getAccountId().toString());

    // Calls the API and catches and prints any network failures/errors.
    try (ShippingSettingsServiceClient shippingSettingsServiceClient =
        ShippingSettingsServiceClient.create(shippingSettingsServiceSettings)) {

      InsertShippingSettingsRequest request =
          InsertShippingSettingsRequest.newBuilder()
              .setParent(parent)
              .setShippingSetting(
                  ShippingSettings.newBuilder()
                      // Etag needs to be an empty string on initial insert
                      // On future inserts, call GET first to get the Etag
                      // Then use the retrieved Etag on future inserts.
                      // NOTE THAT ON THE INITIAL INSERT, YOUR SHIPPING SETTINGS WILL
                      // NOT BE STORED, YOU HAVE TO CALL INSERT AGAIN WITH YOUR
                      // RETRIEVED ETAG.
                      // .setEtag("")
                      .setEtag("PPa=")
                      .addServices(
                          Service.newBuilder()
                              .setServiceName("Canadian Postal Service")
                              .setActive(true)
                              .addDeliveryCountries("CA")
                              .setCurrencyCode("CAD")
                              .setDeliveryTime(
                                  DeliveryTime.newBuilder()
                                      .setMinTransitDays(0)
                                      .setMaxTransitDays(3)
                                      .setMinHandlingDays(0)
                                      .setMaxHandlingDays(3)
                                      .build())
                              .addRateGroups(
                                  RateGroup.newBuilder()
                                      .addApplicableShippingLabels("Oversized")
                                      .addApplicableShippingLabels("Perishable")
                                      .setSingleValue(Value.newBuilder().setPricePercentage("5.4"))
                                      .setName("Oversized and Perishable items")
                                      .build())
                              .setShipmentType(ShipmentType.DELIVERY)
                              .setMinimumOrderValue(
                                  Price.newBuilder()
                                      .setAmountMicros(10000000)
                                      .setCurrencyCode("CAD")
                                      .build())
                              .build())
                      .build())
              .build();

      System.out.println("Sending insert ShippingSettings request");
      ShippingSettings response = shippingSettingsServiceClient.insertShippingSettings(request);
      System.out.println("Inserted ShippingSettings Name below");
      System.out.println(response.getName());
      // You can apply ShippingSettings to specific products by using the `shippingLabel` field
      // on the product.
    } catch (Exception e) {
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    insertShippingSettings(config);
  }
}

পিএইচপি

use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\Client\ShippingSettingsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\DeliveryTime;
use Google\Shopping\Merchant\Accounts\V1\InsertShippingSettingsRequest;
use Google\Shopping\Merchant\Accounts\V1\RateGroup;
use Google\Shopping\Merchant\Accounts\V1\Service;
use Google\Shopping\Merchant\Accounts\V1\Service\ShipmentType;
use Google\Shopping\Merchant\Accounts\V1\ShippingSettings;
use Google\Shopping\Merchant\Accounts\V1\Value;
use Google\Shopping\Type\Price;

/**
 * This class demonstrates how to insert a ShippingSettings for a Merchant Center account.
 */
class InsertShippingSettings
{
    /**
     * A helper function to create the parent string.
     *
     * @param string $accountId The account ID.
     * @return string The parent in the format "accounts/{accountId}".
     */
    private static function getParent(string $accountId): string
    {
        return sprintf("accounts/%s", $accountId);
    }

    /**
     * Inserts shipping settings for the specified Merchant Center account.
     *
     * @param array $config The configuration data containing the account ID.
     * @return void
     */
    public static function insertShippingSettings($config)
    {
        // Gets the OAuth credentials to make the request.
        $credentials = Authentication::useServiceAccountOrTokenFile();

        // Creates options config containing credentials for the client to use.
        $options = ['credentials' => $credentials];

        // Creates a client.
        $shippingSettingsServiceClient = new ShippingSettingsServiceClient($options);

        // Creates parent to identify where to insert the shippingsettings.
        $parent = self::getParent($config['accountId']);

        // Calls the API and catches and prints any network failures/errors.
        try {
            $request = (new InsertShippingSettingsRequest())
                ->setParent($parent)
                ->setShippingSetting(
                    (new ShippingSettings())
                        // Etag needs to be an empty string on initial insert
                        // On future inserts, call GET first to get the Etag
                        // Then use the retrieved Etag on future inserts.
                        // NOTE THAT ON THE INITIAL INSERT, YOUR SHIPPING SETTINGS WILL
                        // NOT BE STORED, YOU HAVE TO CALL INSERT AGAIN WITH YOUR
                        // RETRIEVED ETAG.
                        ->setEtag("")
                        ->setServices([
                            (new Service())
                                ->setServiceName("Canadian Postal Service")
                                ->setActive(true)
                                ->setDeliveryCountries(["CA"])
                                ->setCurrencyCode("CAD")
                                ->setDeliveryTime(
                                    (new DeliveryTime())
                                        ->setMinTransitDays(0)
                                        ->setMaxTransitDays(3)
                                        ->setMinHandlingDays(0)
                                        ->setMaxHandlingDays(3)
                                )
                                ->setRateGroups(
                                    [(new RateGroup())
                                        ->setApplicableShippingLabels(["Oversized","Perishable"])
                                        ->setSingleValue((new Value())->setPricePercentage("5.4"))
                                        ->setName("Oversized and Perishable items")]
                                )
                                ->setShipmentType(ShipmentType::DELIVERY)
                                ->setMinimumOrderValue(
                                    (new Price())
                                        ->setAmountMicros(10000000)
                                        ->setCurrencyCode("CAD")
                                )
                        ])
                );

            print "Sending insert ShippingSettings request" . PHP_EOL;
            $response = $shippingSettingsServiceClient->insertShippingSettings($request);
            print "Inserted ShippingSettings below" . PHP_EOL;
            print_r($response);
            // You can apply ShippingSettings to specific products by using the `shippingLabel` field
            // on the product.
        } catch (ApiException $e) {
            print $e->getMessage();
        }
    }

    /**
     * Helper to execute the sample.
     *
     * @return void
     */
    public function callSample(): void
    {
        $config = Config::generateConfig();

        // Makes the call to insert shipping settings for the MC account.
        self::insertShippingSettings($config);
    }
}

// Run the script
$sample = new InsertShippingSettings();
$sample->callSample();

পাইথন

from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import DeliveryTime
from google.shopping.merchant_accounts_v1 import InsertShippingSettingsRequest
from google.shopping.merchant_accounts_v1 import RateGroup
from google.shopping.merchant_accounts_v1 import Service
from google.shopping.merchant_accounts_v1 import ShippingSettings
from google.shopping.merchant_accounts_v1 import ShippingSettingsServiceClient
from google.shopping.merchant_accounts_v1 import Value

_ACCOUNT = configuration.Configuration().read_merchant_info()
_PARENT = f"accounts/{_ACCOUNT}"


def insert_shipping_settings():
  """Inserts a ShippingSettings for a Merchant Center account."""

  # Gets OAuth Credentials.
  credentials = generate_user_credentials.main()

  # Creates a client.
  client = ShippingSettingsServiceClient(credentials=credentials)

  # Creates the request.
  request = InsertShippingSettingsRequest(
      parent=_PARENT,
      shipping_setting=ShippingSettings(
          # Etag needs to be an empty string on initial insert
          # On future inserts, call GET first to get the Etag
          # Then use the retrieved Etag on future inserts.
          # NOTE THAT ON THE INITIAL INSERT, YOUR SHIPPING SETTINGS WILL
          # NOT BE STORED, YOU HAVE TO CALL INSERT AGAIN WITH YOUR
          # RETRIEVED ETAG.
          etag="",
          services=[
              Service(
                  service_name="Canadian Postal Service",
                  active=True,
                  delivery_countries=["CA"],
                  currency_code="CAD",
                  delivery_time=DeliveryTime(
                      min_transit_days=0,
                      max_transit_days=3,
                      min_handling_days=0,
                      max_handling_days=3,
                  ),
                  rate_groups=[
                      RateGroup(
                          applicable_shipping_labels=[
                              "Oversized",
                              "Perishable",
                          ],
                          single_value=Value(price_percentage="5.4"),
                          name="Oversized and Perishable items",
                      )
                  ],
                  shipment_type=Service.ShipmentType.DELIVERY,
                  minimum_order_value={
                      "amount_micros": 10000000,
                      "currency_code": "CAD",
                  },
              )
          ],
      ),
  )

  # Makes the request and prints the inserted ShippingSettings name.
  try:
    response = client.insert_shipping_settings(request=request)
    print("Inserted ShippingSettings below")
    print(response)
    # You can apply ShippingSettings to specific products by using the
    # `shippingLabel` field on the product.
  except RuntimeError as e:
    print(e)


if __name__ == "__main__":
  insert_shipping_settings()

শিপিং সেটিংস পুনরুদ্ধার করুন

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

HTTP

GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/shippingSettings

cURL

curl \
'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/shippingSettings' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed

এখানে একটি নমুনা রয়েছে যা আপনি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি প্রদত্ত অ্যাকাউন্টের জন্য শিপিং সেটিংস তথ্য পুনরুদ্ধার করতে ব্যবহার করতে পারেন:

জাভা

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.GetShippingSettingsRequest;
import com.google.shopping.merchant.accounts.v1.ShippingSettings;
import com.google.shopping.merchant.accounts.v1.ShippingSettingsName;
import com.google.shopping.merchant.accounts.v1.ShippingSettingsServiceClient;
import com.google.shopping.merchant.accounts.v1.ShippingSettingsServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to get the ShippingSettings for a given Merchant Center account. */
public class GetShippingSettingsSample {

  public static void getShippingSettings(Config config) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the credentials retrieved above.
    ShippingSettingsServiceSettings shippingSettingsServiceSettings =
        ShippingSettingsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates ShippingSettings name to identify ShippingSettings.
    String name =
        ShippingSettingsName.newBuilder()
            .setAccount(config.getAccountId().toString())
            .build()
            .toString();

    // Calls the API and catches and prints any network failures/errors.
    try (ShippingSettingsServiceClient shippingSettingsServiceClient =
        ShippingSettingsServiceClient.create(shippingSettingsServiceSettings)) {

      // The name has the format: accounts/{account}/shippingSettings
      GetShippingSettingsRequest request =
          GetShippingSettingsRequest.newBuilder().setName(name).build();

      System.out.println("Sending Get ShippingSettings request:");
      ShippingSettings response = shippingSettingsServiceClient.getShippingSettings(request);

      System.out.println("Retrieved ShippingSettings below");
      System.out.println(response);
    } catch (Exception e) {
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    getShippingSettings(config);
  }
}

পিএইচপি

use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\Client\ShippingSettingsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\GetShippingSettingsRequest;

/**
 * This class demonstrates how to get the ShippingSettings for a given Merchant Center account.
 */
class GetShippingSettings
{

    /**
     * Retrieves the shipping settings for the specified Merchant Center account.
     *
     * @param array $config The configuration data containing the account ID.
     * @return void
     */
    public static function getShippingSettings($config)
    {
        // Gets the OAuth credentials to make the request.
        $credentials = Authentication::useServiceAccountOrTokenFile();

        // Creates options config containing credentials for the client to use.
        $options = ['credentials' => $credentials];

        // Creates a client.
        $shippingSettingsServiceClient = new ShippingSettingsServiceClient($options);

        // Creates ShippingSettings name to identify ShippingSettings.
        // The name has the format: accounts/{account}/shippingSettings
        $name = "accounts/" . $config['accountId'] . "/shippingSettings";


        // Calls the API and catches and prints any network failures/errors.
        try {
            $request = (new GetShippingSettingsRequest())
                ->setName($name);

            print "Sending Get ShippingSettings request:" . PHP_EOL;
            $response = $shippingSettingsServiceClient->getShippingSettings($request);

            print "Retrieved ShippingSettings below" . PHP_EOL;
            print_r($response);
        } catch (ApiException $e) {
            print $e->getMessage();
        }
    }

    /**
     * Helper to execute the sample.
     *
     * @return void
     */
    public function callSample(): void
    {
        $config = Config::generateConfig();
        // Makes the call to get shipping settings for the MC account.
        self::getShippingSettings($config);
    }
}

// Run the script
$sample = new GetShippingSettings();
$sample->callSample();

পাইথন

from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import GetShippingSettingsRequest
from google.shopping.merchant_accounts_v1 import ShippingSettingsServiceClient

_ACCOUNT = configuration.Configuration().read_merchant_info()
_PARENT = f"accounts/{_ACCOUNT}"


def get_shipping_settings():
  """Gets the ShippingSettings for a given Merchant Center account."""

  # Gets OAuth Credentials.
  credentials = generate_user_credentials.main()

  # Creates a client.
  client = ShippingSettingsServiceClient(credentials=credentials)

  # Creates the Shipping Settings name
  name = _PARENT + "/shippingSettings"

  # Creates the request.
  request = GetShippingSettingsRequest(name=name)

  # Makes the request and prints the retrieved ShippingSettings.
  try:
    response = client.get_shipping_settings(request=request)
    print("Retrieved ShippingSettings below")
    print(response)
  except RuntimeError as e:
    print(e)


if __name__ == "__main__":
  get_shipping_settings()

গুদাম সেটিংস যোগ করুন

আপনার অ্যাকাউন্টের জন্য ইনভেন্টরি সঞ্চয় এবং পরিচালনা করে এমন গুদাম সেটিংস যোগ বা আপডেট করতে, accounts.shippingSettings.insert পদ্ধতি ব্যবহার করুন।

আপনার গুদামগুলি পরিচালনা করতে মার্চেন্ট API কীভাবে ব্যবহার করবেন তা এখানে:

  1. আপনার সমস্ত বিদ্যমান shippingsettings এবং warehouses পুনরুদ্ধার করতে, accounts.shippingSettings.getShippingSettings পদ্ধতি ব্যবহার করে একটি GET অনুরোধ করুন৷

  2. account.shippingSettings.insert পদ্ধতি ব্যবহার করে একটি অনুরোধ তৈরি করুন। সন্নিবেশের অনুরোধে GET অনুরোধের প্রতিক্রিয়া থেকে shippingsettings সংস্থানটি অনুলিপি করুন।

  3. সন্নিবেশ কল ব্যবহার করে গুদামগুলির সম্পর্কে তথ্য যোগ করতে, অনুরোধের অংশে warehouses সংস্থানে এটি সম্পর্কে বিশদ বিবরণ লিখুন৷

  4. সন্নিবেশ অনুরোধ চালান.

নিম্নলিখিত নমুনা অনুরোধ আপনার অ্যাকাউন্টের জন্য গুদাম সেটিং আপডেট করতে accounts.shippingSettings.insert পদ্ধতিটি কীভাবে ব্যবহার করবেন তা দেখায়। অনুরোধটি দিনের সময় নির্ধারণ করে যে একটি অর্ডার গ্রহণ করা যেতে পারে এবং প্রক্রিয়াকরণ, পরিচালনার দিন এবং শিপিং ঠিকানা শুরু করতে পারে।

POST https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/shippingSettings:insert

{
  "etag": "",
  "name": "accounts/ACCOUNT_ID/shippingSetting",
  "warehouses": [
    {
      "cutoffTime": {
        "hour": 7,
        "minute": 50
      },
      "handlingDays": 7,
      "name": "WAREHOUSE_NAME",
      "shippingAddress": {
        "streetAddress": "ADDRESS",
        "administrativeArea": "CA",
        "city": "CITY_NAME",
        "postalCode": "POSTAL_CODE",
        "regionCode": "REGION_CODE"
      }
    }
  ]
}

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

  • ACCOUNT_ID : আপনার Merchant Center অ্যাকাউন্টের অনন্য শনাক্তকারী।
  • WAREHOUSE_NAME : গুদামের নাম।
  • ADDRESS : গুদামের শিপিং ঠিকানা।
  • CITY_NAME : শহর, শহর বা কমিউন। এটি নির্ভরশীল এলাকা বা উপ-স্থানীয় এলাকাগুলিও অন্তর্ভুক্ত করতে পারে। উদাহরণস্বরূপ, পাড়া বা শহরতলির।
  • POSTAL_CODE : পোস্টাল কোড বা জিপ৷ উদাহরণস্বরূপ, 94043।
  • REGION_CODE : CLDR দেশের কোড । উদাহরণস্বরূপ, "মার্কিন"।

এখানে একটি সফল কল থেকে একটি নমুনা প্রতিক্রিয়া:

{
  "name": "accounts/ACCOUNT_ID/shippingSettings",
  "warehouses": [
    {
      "name": "WAREHOUSE_NAME",
      "shippingAddress": {
        "streetAddress": "ADDRESS",
        "city": "CITY_NAME",
        "administrativeArea": "CA",
        "postalCode": "POSTAL_CODE",
        "regionCode": "REGION_CODE"
      },
      "cutoffTime": {
        "hour": 7,
        "minute": 50
      },
      "handlingDays": "7",
      "businessDayConfig": {
        "businessDays": [
          "MONDAY",
          "TUESDAY",
          "WEDNESDAY",
          "THURSDAY",
          "FRIDAY"
        ]
      }
    }
  ],
  "etag": "OAJiUAjB0au+FBABGgR0ZXN0Ii4KAlVTGgJDQSoKQ2FsaWZvcm5pYWIFOTQwNDNyETExMXcgMzFzdCBTdHJlZXQuKgQIBxAyMAc4ATgCOAM4BDgF"
}

পোস্টাল কোড গ্রুপ সেট করুন

একটি বণিক কেন্দ্র অ্যাকাউন্টের জন্য পোস্টালকোডগ্রুপ নামক অঞ্চলগুলি পরিচালনা করতে অ্যাকাউন্ট সাব-এপিআই ব্যবহার করুন৷

পোস্টালকোডগ্রুপস রিসোর্স হল গ্রুপিংয়ের একটি তালিকা, যেখানে প্রতিটি গ্রুপিং হল একাধিক পোস্টাল কোডের একটি তালিকা যা একই শিপিং সেটিংস ভাগ করে।

নিম্নরূপ আপনার পোস্টালকোডগ্রুপগুলি পরিচালনা করতে বণিক API ব্যবহার করুন:

  1. আপনার সমস্ত শিপিং সেটিংস এবং পোস্টালকোডগ্রুপগুলি পুনরুদ্ধার করতে একটি কল করুন৷

  2. গেট কল থেকে আপডেট কলে শিপিং সেটিংস কপি করুন।

  3. আপনি যদি আপনার শিপিং পরিষেবাতে ট্রানজিট টাইম লেবেল ব্যবহার না করেন, তাহলে অনুরোধের মূল অংশ থেকে নিম্নলিখিত এন্ট্রিটি সরিয়ে দিন।

        "transitTimeLabels": [
        "all other labels"
    ],
    
  4. আপডেট কলের জন্য পোস্টালকোডগ্রুপ বিভাগে আপনি যে অঞ্চলগুলি ব্যবহার করতে চান সেগুলি পূরণ করুন৷

  5. শিপিং সেটিংস এবং পোস্টালকোডগ্রুপ সংস্থানগুলির সাথে একটি আপডেট কল করুন৷

একই দিনে ডেলিভারি যোগ করুন

আপনার স্থানীয় ইনভেন্টরি থাকলে আপনি একই দিনের ডেলিভারি শিপিং পরিষেবাগুলি কনফিগার করতে মার্চেন্ট API ব্যবহার করতে পারেন। স্থানীয় পণ্যগুলিতে ইন-স্টোর তথ্য যুক্ত করুন দেখুন ( addlocalinventory )।

একই দিনের ডেলিভারি শিপিং পরিষেবাগুলিতে স্থানীয়_ডেলিভারি রয়েছে তাদের শিপমেন্টের প্রকার হিসাবে।

নিম্নলিখিত সতর্কতা প্রযোজ্য:

  • সমস্ত স্থানীয়_ডেলিভারি শিপিং পরিষেবা একই দিনের ডেলিভারি হিসাবে বিবেচিত হয়।
  • আপনি স্থানীয় ডেলিভারির জন্য ডেলিভারি টাইম তথ্য পরিবর্তন করতে পারবেন না।

আপনার স্থানীয় ইনভেন্টরি পণ্যগুলির জন্য একই দিনের ডেলিভারি সেট আপ করতে, accounts.shippingSettings.insert পদ্ধতি ব্যবহার করুন৷

এখানে একটি নমুনা অনুরোধ রয়েছে যা চালানের ধরন, storeConfig (আপনার পণ্যগুলি যে দোকান থেকে সরবরাহ করা হয় তার একটি তালিকা) এবং রেট গ্রুপ সেট করে।

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/shippingSettings:insert

{
  "etag": "",
  "name": "accounts/ACCOUNT_ID/shippingSetting",
  "services": [
    {
      "deliveryCountries": [
        "COUNTRY_CODE"
      ],
      "serviceName": "SERVICE_NAME",
      "active": false,
      "currencyCode": "CURRENCY_CODE",
      "shipmentType": "SHIPMENT_TYPE",
      "storeConfig": {
        "cutoffConfig": {
          "localCutoffTime": {
            "hour": 7,
            "minute": 40
          }
        },
        "serviceRadius": {
          "unit": "KILOMETERS",
          "value": 40
        },
        "storeCodes": [],
        "storeServiceType": "ALL_STORES"
      },
      "rateGroups": [
        {
          "applicableShippingLabels": [
            "SHIPPING_LABEL"
          ],
          "singleValue": {
            "flatRate": {
              "amountMicros": PRICE,
              "currencyCode": "CURRENCY_CODE"
            }
          }
        }
      ]
    }
  ]
}

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

  • SHIPMENT_TYPE : এই পরিষেবাটি অর্ডার পাঠায় এমন অবস্থানের ধরন যার মধ্যে রয়েছে:
    • SHIPMENT_TYPE_UNSPECIFIED
    • DELIVERY
    • LOCAL_DELIVERY
    • COLLECTION_POINT
  • SHIPPING_LABEL : এই রেট গ্রুপটি প্রযোজ্য পণ্যগুলিকে সংজ্ঞায়িত করে শিপিং লেবেলের একটি তালিকা৷

এখানে একটি সফল কল থেকে একটি নমুনা প্রতিক্রিয়া:

{
  "name": "accounts/ACCOUNT_ID/shippingSettings",
  "services": [
    {
      "serviceName": "SERVICE_NAME",
      "active": false,
      "deliveryCountries": [
        "COUNTRY_CODE"
      ],
      "currencyCode": "CURRENCY_CODE",
      "rateGroups": [
        {
          "applicableShippingLabels": [
            "SHIPPING_LABEL"
          ],
          "singleValue": {
            "flatRate": {
              "amountMicros": "PRICE",
              "currencyCode": "CURRENCY_CODE"
            }
          }
        }
      ],
      "shipmentType": "SHIPMENT_TYPE",
      "storeConfig": {
        "storeServiceType": "ALL_STORES",
        "cutoffConfig": {
          "localCutoffTime": {
            "hour": "7",
            "minute": "40"
          },
          "noDeliveryPostCutoff": false
        },
        "serviceRadius": {
          "value": "40",
          "unit": "KILOMETERS"
        }
      }
    }
  ],
  "etag": "OAJCTQgBEAAaRwoEdGVzdBIEIgJVUxoDVVNEIggiBggHECgoACoeCAESDwoNCAESCU9WRVJTSVpFRBoJIgcIAhCAwtcvWAWSAQCaAQQIAhAo"
}

পরের দিনের ডেলিভারি যোগ করুন

আপনার একই দিনের ডেলিভারির কাটঅফ সময়ের পরে দেওয়া অর্ডারগুলি ডিফল্টরূপে পরবর্তী দিনের ডেলিভারির জন্য নির্ধারিত হয়।

পরের দিনের ডেলিভারি বন্ধ করতে, no_delivery_post_cutoff সেট করুন সত্য

আপনি যদি পরের দিন ডেলিভারি বন্ধ করেন, আপনার শিপিং পরিষেবাগুলি প্রতিদিন কাটঅফ সময়ের আগে দৃশ্যমান হয়।

পরবর্তী দিনের ডেলিভারি শুধুমাত্র তখনই পাওয়া যায় যখন শিপমেন্টের প্রকার স্থানীয়_ডেলিভারি হয়।

একটি ফেরত নীতি যোগ করুন

আপনি শপিং বিজ্ঞাপন বা অর্গানিক তালিকার মাধ্যমে পণ্য তালিকাভুক্ত করলে, আপনি নিম্নলিখিত বৈশিষ্ট্যগুলির সাথে অনলাইন রিটার্ন নীতিগুলি তৈরি, দেখতে, সম্পাদনা করতে বা মুছতে রিটার্নপলিসি অনলাইন ব্যবহার করতে পারেন:

শপিং বিজ্ঞাপন বা জৈব তালিকার মাধ্যমে বিক্রি হওয়া পণ্যগুলির জন্য ফেরত ঠিকানার প্রয়োজন হয় না।

আরও বিশদ বিবরণের জন্য, শপিং বিজ্ঞাপন এবং জৈব তালিকার জন্য আপনার রিটার্ন নীতি সেট আপ করুন দেখুন।

আপনি একটি ফেরত নীতি যোগ করতে returnpolicyonline.create ব্যবহার করতে পারেন। প্রতিক্রিয়া আপডেট করা নীতি অন্তর্ভুক্ত.

POST https://merchantapi.googleapis.com/v1/{ACCOUNT_ID}/returnpolicyonline