Hesap düzeyinde vergi ve gönderim bedeli

Content API, bir hesaptaki tüm ürünler için geçerli olacak vergi ve gönderim bedelini, shippingsettings ve accounttax hizmetleri aracılığıyla belirtmenize olanak tanır. Daha kesin bilgi vermek istiyorsanız products hizmeti aracılığıyla öğe düzeyinde vergi ve gönderim bedeli belirtebilirsiniz.

Google politikaları ve vergi ile gönderim bedelini belirtmeye ilişkin tüm seçenekler hakkında bilgi için aşağıdaki Yardım Merkezi makalelerini inceleyin:

tax özelliğinin ve dolayısıyla hesap vergisi hizmetinin kullanımının yalnızca ABD'yi hedefleyen ürünler için geçerli olduğunu unutmayın.

accounttax ve shippingsettings Content API hizmetleri, Merchant Center kullanıcı arayüzünün işlevlerini yansıtır.

Basit örnek

Her bir kargo hizmetinin 3-7 gün içinde teslim edildiği, Fransa'da 8 avro olan gönderim ücretleri ve ABD'deki kargo ücretlerine göre:

PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
  "accountId": <account_id>,
  "services": [
    {
      "name": "Livraison Prioritaire",
      "deliveryCountry": "FR",
      "currency": "EUR",
      "rateGroups": [
        {
          "singleValue": {
            "flatRate": { "currency": "EUR", "value": "8" }
          }
        }
      ],
      "active": true,
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
    },
    {
      "name": "UPS in US",
      "deliveryCountry": "US",
      "currency": "USD"
      "rateGroups": [
        {
          "singleValue": { "carrierRateName": "ups" },
          "carrierRates": [
            {
              "name": "ups",
              "carrierName": "UPS",
              "carrierService": "Ground",
              "originPostalCode": "10011"
            }
          ]
        }
      ],
      "active": true,
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
    }
  ]
}

Kullanılabilir operatör adlarını ve hizmetlerini almak için getsupportedcarriers yöntemini kullanın.

Karmaşık örnek

New York eyaletlerinde ücretsiz kargo promosyonu oluşturmak (kargo ücreti almayarak) ABD'nin geri kalanında UPS'i, ABD eyaletlerinin her biri için farklı bir vergi uygulamak için Content API'nin accounttax ve shippingsettings hizmetleriyle ilgili istekleri aşağıdaki şekilde kullanın. İlk olarak gönderim ayarlarını yapılandırın:

PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
  "accountId": <account_id>,
  "services": [
    {
      "name": "Eligible for free shipping",
      "deliveryCountry": "US",
      "rateGroups": [
        {
          "mainTable": {
            "rowHeaders": {
              "locations": [
                { "locationIds": ["21167"] }, // NY
                { "locationIds": ["21164", "21139"] }  // NJ, CT
              ]
            },
            "rows": [
              {
                "cells": [
                  {
                    "flatRate": { "currency": "USD", "value": "0" }
                  }
                ]
              },
              {
                "cells": [
                  {
                    "flatRate": { "currency": "USD", "value": "0" }
                  }
                ]
              }
            ]
          }
        }
      ],
      "active": true,
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
      "currency": "USD"
    },
    {
      "name": "UPS in US",
      "deliveryCountry": "US",
      "rateGroups": [
        {
          "singleValue": { "carrierRateName": "UPS mainland" },
          "carrierRates": [
            {
              "name": "UPS mainland",
              "carrierName": "UPS",
              "carrierService": "Ground",
              "originPostalCode": "10011",  // currently only US, AU, and DE postal codes
              "percentageAdjustment": "1.05",
              "flatAdjustment": { "currency": "USD", "value": "0.75" }
            }
          ]
        }
      ],
      "active": true,
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
      "currency": "USD"
    }
   ],
  "postalCodeGroups": [
    {
      "name": "More cities",  // An alternative using postal codes
      "country": "US",
      "postalCodeRanges": [
        { "postalCodeRangeBegin": "94041" },
        { "postalCodeRangeBegin": "94042" },
        { "postalCodeRangeBegin": "94043", "postalCodeRangeEnd": "94045" },
        { "postalCodeRangeBegin": "9405*" },
        { "postalCodeRangeBegin": "9406*", "postalCodeRangeEnd": "9408*" }
      ]
    }
  ]
}

Konum kimliklerinin idari bölgeleri temsil etmek için kullanılabileceğini unutmayın.

Ardından, vergi ücretlerini yapılandırın:

PUT /content/v2.1/<merchant_id>/accounttax/<account_id>
{
  "accountId": <account_id>,
  "rules": [
    {
      "country": "US",  // currently only US is supported, may be omitted
      "locationId": 21167,
      "useGlobalRate": true,
      "shippingTaxed": false
    },
    {
      "locationId": 21137,
      "useGlobalRate": false,
      "shippingTaxed": true,
      "ratePercent": "2.15"
    }
    // ...
  ]
}

Not: Kargo ücretleri yalnızca ABD, Almanya ve Avustralya'da geçerlidir. Yer grupları şu anda ABD ve Avustralya'da desteklenmektedir.

Karmaşık kargo kuralları: iki boyutlu tablolar ve alt tablolar

Siparişin fiyatına bağlı olarak ABD'de 7 ABD doları, New York'ta 10 libreden ağır siparişler için 3 ABD doları veya 5 ABD doları tutarında bir kargo promosyonu tanımlamak ve bu ağırlığın altındaki ücretsiz ürünleri kullanmak için aşağıdakileri kullanın:

PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
  "accountId": <account_id>,
  "services": [
    {
      "name": "Custom shipping rules",
      "deliveryCountry": "US",
      "rateGroups": [
        {
          "mainTable": {
            "rowHeaders": {
              "postalCodeGroupNames": [ "NYC", "all other locations" ]
            },
            "columnHeaders": {
              "weights": [
                { "unit": "lb", "value": "10" },
                { "unit": "lb", "value": "infinity" }
              ]
            },
            "rows": [
              {
                "cells": [
                  { "flatRate": { "value": "0", "currency": "USD" } },
                  { "subtableName": "NYC large packages" }
                ]
              },
              {
                "cells": [
                  { "flatRate": { "value": "7", "currency": "USD" } },
                  { "flatRate": { "value": "7", "currency": "USD" } }
                ]
              }
            ]
          },
          "subtables": [
            {
              "name": "NYC large packages",
              "rowHeaders": {
                "prices": [
                  {"value": "100", "currency": "USD"},
                  {"value": "infinity", "currency": "USD"}]
              },
              "rows": [
                {
                  "cells": [
                    { "flatRate": { "value": "3", "currency": "USD" } }
                  ]
                },
                {
                  "cells": [
                    { "flatRate": { "value": "5", "currency": "USD" } }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "active": true,
      "currency": "USD",
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
    }
  ],
  "postalCodeGroups": [
    {
      "name": "NYC",  // Approximation of NYC using postal codes
      "country": "US",
      "postalCodeRanges": [
        { "postalCodeRangeBegin": "10000", postalCodeRangeEnd: "11999" }
      ]
    }
  ]
}

Karmaşık gönderim kuralları: gönderi etiketlerini hizmetlere ayırma

Kargo ayarlarında her kargo hizmeti en fazla 20 kargo ücreti grubu içerebilir. Kargo ücreti grupları, kargo etiketleri aracılığıyla kargo ücretlerini ayırt etmek için kullanıldığından, kargo etiketleri aracılığıyla yalnızca 20 benzersiz kargo ücretinin uygulanabileceğini gösteriyor olabilir. Ancak ülke başına en fazla 20 kargo hizmetiniz olabilir. Ücretleri aynı ülke için kargo etiketlerine göre birden fazla hizmete bölerek kargo etiketleri aracılığıyla 400'e kadar benzersiz kargo ücretini ayırt edebilirsiniz.

Not: Birden fazla hizmetiniz varsa olası kargo ücretlerinin hesaplanması için belirli bir ülkedeki her ürün, söz konusu ülkedeki tüm kargo hizmetleri ile karşılaştırılarak kontrol edilir. Birden fazla hizmet, aynı ürün için farklı ücretler döndürürse en düşük ücret kullanılır.

Aşağıdaki örnekte, iki farklı hizmet genelinde benzersiz ücretler kullanan 40 gönderi etiketi bölünmüştür. Bu örnekte, kargo kaynağının diğer ayrıntıları (ör. gerçek ücretler) elipslerin arkasında gizlenmiştir.

PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
  "accountId": <account_id>,
  "services": [
    {
      "name": "labels_0_19",
      "deliveryCountry": "US",
      "active": true,
      "currency": "USD",
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
      "rateGroups": [
        { "applicableShippingLabels": ["shipping_label_0"], ... }
        { "applicableShippingLabels": ["shipping_label_1"], ... }
        { "applicableShippingLabels": ["shipping_label_2"], ... }
        { "applicableShippingLabels": ["shipping_label_3"], ... }
        { "applicableShippingLabels": ["shipping_label_4"], ... }
        { "applicableShippingLabels": ["shipping_label_5"], ... }
        { "applicableShippingLabels": ["shipping_label_6"], ... }
        { "applicableShippingLabels": ["shipping_label_7"], ... }
        { "applicableShippingLabels": ["shipping_label_8"], ... }
        { "applicableShippingLabels": ["shipping_label_9"], ... }
        { "applicableShippingLabels": ["shipping_label_10"], ... }
        { "applicableShippingLabels": ["shipping_label_11"], ... }
        { "applicableShippingLabels": ["shipping_label_12"], ... }
        { "applicableShippingLabels": ["shipping_label_13"], ... }
        { "applicableShippingLabels": ["shipping_label_14"], ... }
        { "applicableShippingLabels": ["shipping_label_15"], ... }
        { "applicableShippingLabels": ["shipping_label_16"], ... }
        { "applicableShippingLabels": ["shipping_label_17"], ... }
        { "applicableShippingLabels": ["shipping_label_18"], ... }
        { "applicableShippingLabels": ["shipping_label_19"], ... }
      ]
    },
    {
      "name": "labels_20_39",
      "deliveryCountry": "US",
      "active": true,
      "currency": "USD",
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
      "rateGroups": [
        { "applicableShippingLabels": ["shipping_label_20"], ... }
        { "applicableShippingLabels": ["shipping_label_21"], ... }
        { "applicableShippingLabels": ["shipping_label_22"], ... }
        { "applicableShippingLabels": ["shipping_label_23"], ... }
        { "applicableShippingLabels": ["shipping_label_24"], ... }
        { "applicableShippingLabels": ["shipping_label_25"], ... }
        { "applicableShippingLabels": ["shipping_label_26"], ... }
        { "applicableShippingLabels": ["shipping_label_27"], ... }
        { "applicableShippingLabels": ["shipping_label_28"], ... }
        { "applicableShippingLabels": ["shipping_label_29"], ... }
        { "applicableShippingLabels": ["shipping_label_30"], ... }
        { "applicableShippingLabels": ["shipping_label_31"], ... }
        { "applicableShippingLabels": ["shipping_label_32"], ... }
        { "applicableShippingLabels": ["shipping_label_33"], ... }
        { "applicableShippingLabels": ["shipping_label_34"], ... }
        { "applicableShippingLabels": ["shipping_label_35"], ... }
        { "applicableShippingLabels": ["shipping_label_36"], ... }
        { "applicableShippingLabels": ["shipping_label_37"], ... }
        { "applicableShippingLabels": ["shipping_label_38"], ... }
        { "applicableShippingLabels": ["shipping_label_39"], ... }
      ]
    }
  ],
  "postalCodeGroups": [ ... ]
}

Her bir ücret grubunun applicableShippingLabels alanında yalnızca 30 gönderi etiketi olabileceğinden, kargo etiketleri aynı kargo ücretini paylaşsa bile kargo etiketlerinin bu şekilde ayrılması da gerekebilir. Uç bir örnek vermek gerekirse tüm kargo etiketleri aynı ücret yapısını paylaşıyorsa shippingsettings tek bir ülke için 12.000 adede kadar kargo etiketini işleyebilir: ücret grubu başına 30 kargo etiketi, kargo hizmeti başına 20 ücret grubu ve ülke başına 20 kargo hizmeti.

Daha fazla bilgi için accounttax ve shippingsettings referans belgelerine bakın.