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

এই ShippingSettings রিসোর্স আপনার অ্যাকাউন্টের শিপিং সেটিংস রিট্রিভ ও আপডেট করতে দেয়।

Google কিছু প্রোডাক্টের জন্য আনুমানিক ডেলিভারির সময় অটোমেটিক আপডেট করতে পারে। আরও তথ্যের জন্য, অটোমেটিক উন্নতি চালু করা দেখুন।

শিপিং সেটিংস পড়া, লেখা বা আপডেট করা

Merchant API শিপিং পরিষেবা ব্যবহার করতে, নিম্নলিখিত কাজগুলি করুন:

  1. আপনার অ্যাকাউন্টের সম্পূর্ণ শিপিং সেটিংস ফিরিয়ে আনতে GETটি অনুরোধ করুন।
  2. শিপিং সেটিংস পরিবর্তন করুন।
  3. পরিবর্তিত শিপিং সেটিংস সহ INSERT অনুরোধ করুন।

Etag

অ্যাসিঙ্ক্রোনাস আপডেট এড়াতে Etag হল একটি এনকোড করা টোকেন। শিপিং সেটিংসের ডেটা পরিবর্তন হলে etag পরিবর্তন হয়। ব্যবহারকারীকে GET অনুরোধ থেকে পাওয়া etag INSERT অনুরোধের বডিতে কপি করতে হবে।

GET অনুরোধ ও INSERT অনুরোধের মধ্যে শিপিং সেটিংস ডেটা পরিবর্তিত হলে, আপনি একটি সমস্যার মেসেজ পাবেন যাতে লেটেস্ট etag টোকেন রিট্রিভ করার জন্য আরেকটি GET অনুরোধ করতে বলা হবে। নতুন etag টোকেন পেতে আপনাকে GET-এ কল করতে হবে এবং INSERT অনুরোধের বডিতে নতুন etag টোকেন কপি করতে হবে।

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

আপনার অ্যাকাউন্টের জন্য শিপিং সেটিংস যোগ বা আপডেট করতে shippingsettings.insert ব্যবহার করুন। এখানে একটি নমুনা অনুরোধ দেওয়া হল যা অ্যাকাউন্ট ১০-এর অধীনে GSA Shipping - Free Ship Over $49.99 নামের শিপিং পরিষেবার জন্য maxTransitDays-কে ৭ হিসেবে আপডেট করে।

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

{
  "services": [
    {
      "name": "FedEx",
      "active": true,
      "deliveryCountries": ["US"],
      "currencyCode": "USD",
      "deliveryTime": {
        "minTransitDays": 4,
        "maxTransitDays": 6,
        "minHandlingDays": 0,
        "maxHandlingDays": 0
      },
      "rateGroups": [
        {
          "singleValue": {
            "flatRate": {
              "amountMicros": 5990000,
              "currencyCode": "USD"
            }
          },
          "name": "All products"
        }
      ]
    },
    {
      "name": "GSA Shipping - Free Ship Over $49.99",
      "active": true,
      "deliveryCountries": "US",
      "currencyCode": "USD",
      "deliveryTime": {
        "minTransitDays": 3,
        "maxTransitDays": 7,
        "minHandlingDays": 1,
        "maxHandlingDays": 2
      },
      "rateGroups": [
        {
          "mainTable": {
            "rowHeaders": {
              "prices": [
                {
                  "amountMicros": 49990000,
                  "currencyCode": "USD"
                },
                {
                  "amountMicros": -1,
                  "currencyCode": "USD"
                }
              ]
            },
            "rows": [
              {
                "cells": [
                  {
                    "flatRate": {
                      "amountMicros": 6990000,
                      "currencyCode": "USD"
                    }
                  }
                ]
              },
              {
                "cells": [
                  {
                    "flatRate": {
                      "amountMicros": 0,
                      "currencyCode": "USD"
                    }
                  }
                ]
              }
            ]
          },
          "name": "Free Ship Over $49.99"
        }
      ]
    }
  ]
}

শিপিং সেটিং যোগ করার জন্য আপনি এই নমুনাটি ব্যবহার করতে পারেন:

Python

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()

ওয়্যারহাউস সেট করা

নিচের JSON স্যাম্পেল থেকে আপনি জানতে পারবেন যে কীভাবে Merchant Shipping সেটিংস পরিষেবা ব্যবহার করে আপনার Merchant Center অ্যাকাউন্টের জন্য ওয়্যারহাউস সংক্রান্ত তথ্য ম্যানেজ করতে পারবেন:

"warehouses": [
  {
    "name": "warehouse 1",
    "shippingAddress": {
      "streetAddress": {street_address},
      "city": {city},
      "administrativeArea": {administrative_area},
      "postalCode": {postal_code},
      "regionCode": {region_code}
    },
    "cutoffTime": {
      "minutes": {minutes}
    },
    "handlingDays": {handling_days},
    "businessDaysConfig": {
      "businessDays": [
        "MONDAY", "SUNDAY"
      ]
    }
  }
]

নিম্নলিখিত বিষয়গুলি পরিবর্তন করুন:

  • {street_address}: ওয়্যারহাউসের ঠিকানার স্ট্রিট-লেভেল অংশ।
  • {city}: ওয়্যারহাউজটি যে শহর, টাউন বা কমিউনে অবস্থিত।
  • {administrative_area}: দেশের প্রশাসনিক উপবিভাগ। যেমন, একটি রাজ্য।
  • {postal_code}: পোস্টাল কোড বা পিন কোড।
  • {region_code}: স্ট্রিংয়ে দেশের কোড।
  • {minutes}: কাট-অফ টাইমের মিনিট, যে সময় পর্যন্ত অর্ডার প্লেস করলে ওয়্যারহাউস সেই দিনই সেটি প্রসেস করতে পারবে।
  • {handling_days}: এই ওয়্যারহাউস থেকে কোনও আইটেম প্যাক করে শিপ করতে যত দিন লাগে।

warehouses রিসোর্স হল ওয়্যারহাউসের তালিকা। প্রতিটি ওয়্যারহাউসকে warehouse.name-এর মাধ্যমে শিপিং পরিষেবার ওয়্যারহাউস-ভিত্তিক ডেলিভারি সময় দ্বারা উল্লেখ করা যেতে পারে।

আপনার ওয়্যারহাউস ম্যানেজ করা

আপনার ওয়্যারহাউস ম্যানেজ করার জন্য Merchant API কীভাবে ব্যবহার করবেন তা এখানে দেওয়া হল:

  1. আপনার আগে থেকে থাকা সব shippingsettings ও ওয়্যারহাউস রিট্রিভ করতে GET অনুরোধ করুন।
  2. GET অনুরোধ থেকে UPDATE অনুরোধে shippingsettings কপি করুন।

  3. INSERT অনুরোধের জন্য warehouses বিভাগে ওয়্যারহাউস ব্যবহার করতে চাইলে সেগুলি পূরণ করুন।

  4. shippingsettings ও warehouses রিসোর্স সহ UPDATE অনুরোধ করুন।

ওয়্যারহাউস ১-এর জন্য ওয়্যারহাউস সহ INSERT অনুরোধ বডির নমুনা এখানে দেওয়া হল যা নিউ ইয়র্ক থেকে মাউন্টেন ভিউতে আপডেট করা হয়েছে:

{
  "services": [
    {
      "name": "Standard Shipping",
      "active": true,
      "deliveryCountries": ["US", "UK"],
      "currencyCode": "USD",
      "deliveryTime": {
        "minHandlingDays": 0,
        "maxHandlingDays": 1,
        "warehouseBasedDeliveryTimes": [
{"carrier": "Fedex"
 "carrierService": "ground"
 "warehouse": "Warehouse 1"
},
{"carrier": "Fedex"
 "carrierService": "2 days"
 "warehouse": "Warehouse 2"
}
]
      },
      "rateGroups": [
        {
          "singleValue": {
            "flatRate": {
              "amountMicros": 0,
              "currencyCode": "USD"
            }
          },
          "name": "Standard Shipping"
        }
      ],
    },
    {
      "name": "Expedited",
            "flatRate": {
              "amountMicros": 9990000,
              "currencyCode": "USD"
            }
          },
          "name": "Expedited"
        }
      ],
    }
  ],
  "warehouses": [
    {
      "name": "Warehouse1",
      "shippingAddress": [
        {
        "streetAddress": "1111 shoreline street"
          "city": "Mountain View",
          "administrativeArea": "CA"
        }
      ]
    },
    {
      "name": "Warehouse 2",
      "country": "US",
      "postalCodeRanges": [
        {
        "streetAddress": "1111 5th avenue"
          "city": "New York",
          "administrativeArea": "NY"
        }
      ]
    }
  ]
}

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

আপনার কাছে স্থানীয় ইনভেনটরি থাকলে, একই দিনে ডেলিভারি করার শিপিং পরিষেবা কনফিগার করার জন্য আপনি Shopping-এর জন্য Content API ব্যবহার করতে পারবেন। একই দিনে ডেলিভারি করার শিপিং পরিষেবার shipment_type হিসেবে local_delivery আছে। এই সময়ে সব local_delivery শিপিং পরিষেবাকে একই দিনে ডেলিভারি হিসেবে বিবেচনা করা হয়।

লোকাল ডেলিভারির জন্য আপনি delivery_time তথ্য পরিবর্তন করতে পারবেন না। আপনার স্থানীয় ইনভেনটরি প্রোডাক্টের জন্য একই দিনে ডেলিভারি সেট-আপ করতে shippingsettings.insert ব্যবহার করুন।

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

{
  "name": "accounts/accountId/shippingSettings",
  "services": [
    {
      "name": "Local Delivery",
      "active": true,
      "shipmentType": "local_delivery",
      "deliveryCountries": "US",
      "currencyCode": "USD",
      "rateGroups": [
        {
          "singleValue": {
            "flatRate": {
              "amountMicros": 0,
              "currencyCode": "USD"
            }
          }
        }
      ],
      "storeConfig": {
        "storeServiceType": "all stores",
        "storeCodes": [],
        "cutoffConfig": {
          "storeCloseOffsetHours": 2,
          "noDeliveryPostCutoff": true
        },
        "serviceRadius": {
          "value": 4,
          "unit": "Miles"
        }
      }
    }
  ]
}

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

একই দিনে ডেলিভারির কাট-অফ সময়ের পরে দেওয়া অর্ডারগুলি ডিফল্ট হিসেবে পরের দিনের জন্য শিডিউল করা হয়। পরের দিন ডেলিভারি বন্ধ করতে, no_delivery_post_cutoff ফিল্ডের মান true হিসেবে সেট করুন। আপনি পরের দিন ডেলিভারি বন্ধ করে দিলে, আপনার শিপিং পরিষেবা প্রতিদিন কাট-অফ সময়ের আগেই শুধু দেখা যাবে।

পরের দিন ডেলিভারির সুবিধা শুধুমাত্র তখনই উপলভ্য হয় যখন shipment_type হল local_delivery.

আরও জানুন

Content API for Shopping থেকে মাইগ্রেট করা সম্পর্কে জানতে, শিপিং সেটিংস ম্যানেজমেন্ট মাইগ্রেট করুন দেখুন।