Kargo ayarlarını yönetme

Hesabınızdaki tüm ürünlerin ve ilişkili tüm alt hesapların kargo ayarlarını yönetmek için Accounts alt API'sini kullanın.

Kargo ayarlarında yaptığınız değişiklikler tüm ürünlere uygulanır. Ayrı ayrı ürünlerin kargo bilgilerini güncellemek için Merchant Products API'yi kullanın.

Daha fazla bilgi için Kargo ayarlarını belirleme başlıklı makaleyi inceleyin.

Kargo ayarlarına genel bakış

accounts.shippingSettings kaynağı, gelişmiş hesabınızın ve ilişkili tüm alt hesapların kargo ayarlarını almanıza ve güncellemenize olanak tanır.

Gelişmiş hesaplar genellikle birden fazla işletmenin online mağazalarını ve API hizmetlerini yöneten entegratörler, toplayıcılar ve kanal iş ortakları tarafından kullanılır. Birden fazla online mağazası veya ayrı web sitelerinde satılan markaları olan işletmeler de tek bir gelişmiş hesap altında alt hesaplar oluşturmayı tercih edebilir.

Google, bazı ürünlerin tahmini teslimat süresini otomatik olarak güncelleyebilir.

Kargo ayarları ekleme

Hesabınızın kargo ayarlarını eklemek veya güncellemek için accounts.shippingSettings.insert yöntemini kullanın.

Aşağıdaki örnek istekte kargo fiyatı, bu kargo hizmetinin sınırlı olduğu bağlılık programları ve para birimi kodu ayarlanır.

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

Aşağıdakini değiştirin:

  • ACCOUNT_ID: Merchant Center hesabınızın benzersiz tanımlayıcısı.
  • COUNTRY_CODE: Bu hizmetin geçerli olduğu ülkenin CLDR (Common Locale Data Repository) kodu. Fiyat gruplarındaki fiyatlarla eşleşmelidir.
  • SERVICE_NAME: Hizmetin adı.
  • CARRIER_NAME: Kargo şirketinin adı. Örneğin, UPS ve Fedex.
  • CARRIER_SERVICE: Kargo şirketi için desteklenen hizmet. Kargo hizmetlerinin tam listesi için Kargo ücreti (yalnızca Avustralya, Almanya, Birleşik Krallık ve ABD) başlıklı makaleye bakın.
    • PROGRAM_LABEL: Merchant Center'daki bağlılık programı ayarlarınızda belirtilen bağlılık programı etiketi.
  • SHIPPING_LABEL: Bu ücret grubunun geçerli olduğu ürünleri tanımlayan kargo etiketlerinin listesi.
  • PRICE: Mikro ölçekte sayı olarak gösterilen fiyat. Örneğin, 1 ABD doları = 1.000.000 mikro.
  • CURRENCY_CODE: Üç harfli kısaltmalar kullanılarak fiyatın para birimi.

Belirtilen alanlar hakkında daha fazla bilgi için referans belgelerine bakın.

İstek gövdesi, yalnızca tek bir özelliği güncelliyor olsanız bile accounts.shippingSettings kaynağının tam kaynak gövdesini içermelidir. İstek gövdesindeki NULL veya eksik değerler, mevcut değerlerin sıfırlanmasına neden olur.

Başarılı bir çağrıdan alınan örnek yanıtı aşağıda bulabilirsiniz:

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

Belirli bir hesabın kargo ayarlarını istemci kitaplıklarını kullanarak güncellemek için kullanabileceğiniz bir örneği aşağıda bulabilirsiniz:

Java

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);
  }
}

PHP

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

Python

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

Kargo ayarlarını alma

Aşağıdaki isteklerde, bir Merchant Center hesabının kargo ayarlarını nasıl alabileceğiniz gösterilmektedir:

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

İstemci kitaplıklarını kullanarak belirli bir hesabın kargo ayarları bilgilerini almak için kullanabileceğiniz bir örneği aşağıda bulabilirsiniz:

Java

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);
  }
}

PHP

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

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

Depo ayarları ekleme

Hesabınızın envanterini depolayan ve işleyen depo ayarlarını eklemek veya güncellemek için accounts.shippingSettings.insert yöntemini kullanın.

Depolarınızı yönetmek için Merchant API'yi nasıl kullanacağınız aşağıda açıklanmıştır:

  1. Mevcut tüm shippingsettings ve warehouses öğelerinizi almak için accounts.shippingSettings.getShippingSettings yöntemini kullanarak GET isteğinde bulunun.

  2. account.shippingSettings.insert yöntemini kullanarak istek oluşturun. shippingsettings kaynağını, ekleme isteğine yönelik GET isteğinin yanıtından kopyalayın.

  3. Ekleme çağrısını kullanarak depolar hakkında bilgi eklemek için istek gövdesindeki warehouses kaynağında depolarla ilgili ayrıntıları doldurun.

  4. Ekleme isteğini çalıştırın.

Aşağıdaki örnek istekte, hesabınızın depo ayarını güncellemek için accounts.shippingSettings.insert yönteminin nasıl kullanılacağı gösterilmektedir. İstek, siparişin kabul edilebileceği ve işleme alınabileceği günün saatini, sevkiyata hazırlık günlerini ve kargo adresini belirler.

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

Aşağıdakini değiştirin:

  • ACCOUNT_ID: Merchant Center hesabınızın benzersiz tanımlayıcısı.
  • WAREHOUSE_NAME: Deponun adı.
  • ADDRESS: Deponun kargo adresi.
  • CITY_NAME: Şehir, kasaba veya komün. Bağımlı yerleşim birimleri veya alt yerleşim birimleri de dahil edilebilir. Örneğin, mahalleler veya banliyöler.
  • POSTAL_CODE: Posta kodu. Örneğin, 94043.
  • REGION_CODE: CLDR ülke kodu. Örneğin, "US".

Başarılı bir çağrıdan alınan örnek yanıtı aşağıda bulabilirsiniz:

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

Posta kodu grupları ayarlama

Bir Merchant Center hesabının postalCodeGroups adlı bölgelerini yönetmek için Accounts alt API'sini kullanın.

postalCodeGroups kaynağı, gruplandırmaların listesidir. Her gruplandırma, aynı kargo ayarlarını paylaşan birden fazla posta kodunun listesidir.

postalCodeGroups'unuzu aşağıdaki gibi yönetmek için Merchant API'yi kullanın:

  1. Tüm shippingsettings ve postalCodeGroups öğelerinizi almak için get çağrısı yapın.

  2. get çağrısından shippingsettings değerini update çağrısına kopyalayın.

  3. Kargo hizmetinizde nakliye süresi etiketlerini kullanmıyorsanız istek gövdesinden aşağıdaki girişi kaldırın.

        "transitTimeLabels": [
        "all other labels"
    ],
    
  4. update çağrısı için postalCodeGroups bölümünde kullanmak istediğiniz bölgeleri doldurun.

  5. shippingsettings ve postalCodeGroups kaynaklarıyla update çağrısı yapın.

Aynı gün teslimat ekleme

Yerel envanteriniz varsa aynı gün teslimatlı kargo hizmetlerini yapılandırmak için Merchant API'yi kullanabilirsiniz. Yerel ürünlere mağaza içi bilgiler ekleme (addlocalinventory) başlıklı makaleyi inceleyin.

Aynı gün teslimat kargo hizmetlerinin shipmentType değeri local_delivery olmalıdır.

Aşağıdaki uyarılar geçerlidir:

  • Tüm local_delivery kargo hizmetleri aynı gün teslimat olarak kabul edilir.
  • Yerel teslimatlar için deliveryTime bilgisini değiştiremezsiniz.

Yerel envanter ürünleriniz için aynı gün teslimatı ayarlamak üzere accounts.shippingSettings.insert yöntemini kullanın.

Kargo türünü, storeConfig (ürünlerinizin teslim edildiği mağazaların listesi) ve ücret gruplarını ayarlayan örnek bir istek aşağıda verilmiştir.

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

Aşağıdakini değiştirin:

  • SHIPMENT_TYPE: Bu hizmetin sipariş gönderdiği yer türleri şunlardır:
    • SHIPMENT_TYPE_UNSPECIFIED
    • DELIVERY
    • LOCAL_DELIVERY
    • COLLECTION_POINT
  • SHIPPING_LABEL: Bu ücret grubunun geçerli olduğu ürünleri tanımlayan kargo etiketlerinin listesi.

Başarılı bir çağrıdan alınan örnek yanıtı aşağıda bulabilirsiniz:

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

Ertesi gün teslimat ekleme

Aynı gün teslimat için son sipariş saatinden sonra verilen siparişler varsayılan olarak sonraki gün teslim edilecek şekilde planlanır.

Sonraki gün teslimatı devre dışı bırakmak için no_delivery_post_cutoff değerini true olarak ayarlayın.

Sonraki gün teslimat özelliğini devre dışı bırakırsanız kargo hizmetleriniz yalnızca her gün son sipariş saatinden önce görünür.

Sonraki gün teslimat yalnızca shipmentType değeri local_delivery olduğunda kullanılabilir.

İade politikası ekleme

Ürünleri Alışveriş reklamları veya organik listelemeler aracılığıyla listeliyorsanız aşağıdaki özelliklere sahip online iade politikaları oluşturmak, görüntülemek, düzenlemek veya silmek için returnpolicyonline özelliğini kullanabilirsiniz:

Alışveriş reklamları veya organik listelemeler aracılığıyla satılan ürünler için iade adresi gerekmez.

Daha fazla bilgi için Alışveriş reklamları ve organik listelemeler için iade politikalarınızı oluşturma başlıklı makaleyi inceleyin.

İade politikası eklemek için returnpolicyonline.create yöntemini kullanabilirsiniz. Yanıt, güncellenen politikayı içeriyor.

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