Thuế và thông tin vận chuyển ở cấp tài khoản

Content API giúp bạn chỉ định thuế và phí vận chuyển sẽ áp dụng cho tất cả sản phẩm trong một tài khoản thông qua các dịch vụ shippingsettingsaccounttax. Nếu muốn chính xác hơn, bạn có thể chỉ định thuế và phí vận chuyển ở cấp mặt hàng thông qua dịch vụ sản phẩm.

Để tìm hiểu thông tin về các chính sách của Google và toàn bộ các lựa chọn để chỉ định thuế và phí vận chuyển, hãy xem các bài viết sau trên Trung tâm trợ giúp:

Xin lưu ý rằng thuộc tính tax và do đó, việc sử dụng dịch vụ thuế tài khoản chỉ áp dụng cho các sản phẩm nhắm đến Hoa Kỳ.

Các dịch vụ Content API trong chế độ cài đặt thuế tài khoản và chế độ cài đặt thông tin vận chuyển phản ánh chức năng của giao diện người dùng Merchant Center.

Ví dụ đơn giản

Đối với phí vận chuyển là 8 euro tại Pháp và dựa trên mức phí của hãng vận chuyển tại Hoa Kỳ, trong đó mỗi dịch vụ vận chuyển phải mất từ 3 đến 7 ngày để giao:

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

Để truy xuất tên và dịch vụ của nhà mạng hiện có, hãy sử dụng phương thức getsupportedCarriers.

Ví dụ phức tạp

Để tạo chương trình khuyến mãi vận chuyển miễn phí tại các tiểu bang xung quanh New York (bằng cách không tính phí vận chuyển), hãy sử dụng UPS cho các tiểu bang còn lại của Hoa Kỳ, đồng thời để áp dụng mức thuế khác nhau cho từng tiểu bang tại Hoa Kỳ, hãy sử dụng các yêu cầu đối với dịch vụ accounttaxshippingsettings của Content API như sau. Trước tiên, hãy thiết lập chế độ cài đặt thông tin vận chuyể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*" }
      ]
    }
  ]
}

Lưu ý: Mã vị trí có thể được dùng để biểu thị khu vực hành chính.

Định cấu hình các khoản thuế tiếp theo:

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

Lưu ý: Mức phí của hãng vận chuyển chỉ áp dụng ở Hoa Kỳ, Đức và Úc. Nhóm vị trí hiện được hỗ trợ ở Hoa Kỳ và Úc.

Quy tắc vận chuyển phức tạp: bảng hai chiều và bảng phụ

Để xác định chương trình khuyến mãi vận chuyển trị giá 7 USD ở Hoa Kỳ, 3 USD hoặc 5 USD cho đơn đặt hàng có trọng lượng trên 10 pound ở thành phố New York, tuỳ thuộc vào giá của đơn đặt hàng và miễn phí dưới trọng lượng đó, hãy sử dụng các cách sau:

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

Quy tắc vận chuyển phức tạp: chia nhãn vận chuyển thành các dịch vụ

Trong phần cài đặt thông tin vận chuyển, mỗi dịch vụ vận chuyển chỉ có thể chứa tối đa 20 nhóm mức phí vận chuyển. Vì nhóm mức phí vận chuyển được dùng để phân biệt mức phí vận chuyển thông qua nhãn vận chuyển, nên phương pháp này có vẻ cho thấy rằng bạn chỉ có thể áp dụng 20 mức phí vận chuyển riêng biệt bằng nhãn vận chuyển. Tuy nhiên, bạn có thể cung cấp tối đa 20 dịch vụ vận chuyển cho mỗi quốc gia. Bằng cách chia tách các mức phí vận chuyển được phân biệt bằng nhãn vận chuyển cho nhiều dịch vụ đối với cùng một quốc gia, bạn có thể phân biệt tối đa 400 mức phí vận chuyển riêng biệt bằng nhãn vận chuyển.

Lưu ý: Nếu bạn có nhiều dịch vụ, thì mỗi sản phẩm của một quốc gia cụ thể sẽ được đối chiếu với tất cả các dịch vụ vận chuyển cho quốc gia đó để tính mức phí vận chuyển có thể có. Nếu nhiều dịch vụ trả về nhiều mức giá cho cùng một sản phẩm, thì chúng tôi sẽ sử dụng mức giá thấp nhất.

Ví dụ dưới đây chia 40 nhãn vận chuyển bằng cách sử dụng các mức phí riêng biệt cho 2 dịch vụ khác nhau. Ví dụ này ẩn các thông tin chi tiết khác của tài nguyên vận chuyển (chẳng hạn như mức phí thực tế) ra sau dấu ba chấm.

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

Bạn cũng có thể phải chia nhãn vận chuyển cho các nhóm giá ngay cả khi các nhãn vận chuyển có cùng mức phí vận chuyển, vì mỗi nhóm giá chỉ có thể có 30 nhãn vận chuyển trong trường applicableShippingLabels. Ví dụ điển hình là nếu tất cả nhãn vận chuyển đều có cùng một cấu trúc mức phí vận chuyển, thì shippingsettings có thể xử lý tối đa 12.000 nhãn vận chuyển cho một quốc gia: 30 nhãn vận chuyển cho mỗi nhóm mức phí, 20 nhóm mức phí cho mỗi dịch vụ vận chuyển và 20 dịch vụ vận chuyển cho mỗi quốc gia.

Để biết thêm thông tin, hãy xem tài liệu tham khảo về accounttaxchế độ cài đặt thông tin vận chuyển.