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 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 phí vận chuyển thông qua nhãn vận chuyển, điều này có vẻ cho thấy rằng chỉ có 20 mức phí vận chuyển riêng biệt có thể được áp dụng thông qua nhãn vận chuyển. Tuy nhiên, bạn có thể có tối đa 20 dịch vụ vận chuyển cho mỗi quốc gia. Phân chia tỷ lệ được phân biệt bằng nhãn vận chuyển trên nhiều dịch vụ cho 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 qua nhãn vận chuyển.

Lưu ý: Nếu bạn có nhiều dịch vụ, thì mỗi dịch vụ sản phẩm của một quốc gia nhất định sẽ được kiểm tra so với tất cả dịch vụ vận chuyển cho quốc gia đó 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ì mức giá thấp nhất sẽ được sử dụng.

Ví dụ bên dưới 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 hai dịch vụ khác nhau. Ví dụ này ẩn các chi tiết khác về thông tin vận chuyển (chẳng hạn như tỷ lệ thực tế) được đặt 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ể cần chia nhãn vận chuyển cho các nhóm giá ngay cả khi nhãn vận chuyển có cùng mức phí vận chuyển, vì mỗi mức phí chỉ có thể có 30 nhãn vận chuyển trong Trường applicableShippingLabels. Ví dụ: một ví dụ điển hình là nếu tất cả nhãn vận chuyển có cùng một cấu trúc mức phí, 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 mức phí nhóm, 20 nhóm giá 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.