الضريبة والشحن على مستوى الحساب

تتيح لك Content API تحديد الضريبة والشحن التي سيتمّ تطبيقها على كل المنتجات ضمن حساب من خلال الخدمتَين shippingsettings وaccounttax. لمزيد من الدقة، يمكنك تحديد الضريبة والشحن على مستوى السلعة من خلال خدمة المنتجات.

للحصول على معلومات حول سياسات Google ومجموعة الخيارات الكاملة لتحديد الضريبة والشحن، يُرجى الاطّلاع على مقالات مركز المساعدة التالية:

يُرجى العلم أنّ السمة tax، وبالتالي استخدام خدمة ضريبة الحساب، لا تسري إلا على المنتجات التي تستهدف الولايات المتحدة.

تُظهر خدمتا accounttax وshippingsettings Content API وظائف واجهة مستخدم Merchant Center.

مثال بسيط

بالنسبة إلى رسوم الشحن التي تبلغ قيمتها 8 يورو في فرنسا، وبناءً على أسعار شركة النقل في الولايات المتحدة، يستغرق تسليم كل خدمة شحن من 3 إلى 7 أيام:

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

لاسترداد أسماء مشغّلي شبكات الجوّال والخدمات المتاحة، استخدِم طريقة getsupportedcarriers.

مثال معقد

لإنشاء عرض ترويجي للشحن المجاني في الولايات حول نيويورك (من خلال عدم تحصيل رسوم الشحن)، استخدِم شركة UPS في بقية الولايات المتحدة، ولتطبيق ضريبة مختلفة لكل ولاية من الولايات الأمريكية، استخدِم طلبات الخدمتَين accounttax وshippingsettings في Content API على النحو التالي. أولاً، يجب ضبط إعدادات الشحن:

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

تجدر الإشارة إلى أنّه يمكن استخدام معرّفات المواقع الجغرافية لتمثيل المناطق الإدارية.

بعد ذلك، يمكنك إعداد الرسوم الضريبية:

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

ملاحظة: تتوفّر أسعار شركة النقل في الولايات المتحدة وألمانيا وأستراليا فقط. تتوفّر مجموعات المواقع الجغرافية حاليًا في الولايات المتحدة وأستراليا.

قواعد الشحن المعقدة: الجداول الثنائية الأبعاد والجداول الفرعية

لتحديد عرض ترويجي للشحن بقيمة 7 دولار أمريكي في الولايات المتحدة، و3 أو 5 دولار أمريكي للطلبات التي يزيد وزنها عن 10 جنيهات في دبي، حسب سعر الطلب، والتي تقل قيمتها عن هذا الوزن مجانًا، يُرجى استخدام ما يلي:

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

قواعد الشحن المعقّدة: تقسيم تصنيفات الحِزم على الخدمات

في إعدادات الشحن، يجب ألا تحتوي كل خدمة شحن على أكثر من 20 خدمة شحن تعرفات الشحن. وبما أنّ مجموعات تعرفات الشحن تُستخدَم للتمييز بين تعرفات الشحن عبر تصنيفات الحِزم، قد يبدو هذا أنّ 20 يمكن فرض تعرفات شحن فريدة من خلال تصنيفات الحِزم. ومع ذلك، يمكنك ما يصل إلى 20 خدمة شحن في كل بلد. من خلال تقسيم الأسعار من خلال تصنيفات الحزمة على خدمات متعددة للبلد نفسه، يمكنك التمييز بين ما يصل إلى 400 تعرفة شحن فريدة عبر تصنيفات الحِزم.

ملاحظة: إذا كانت لديك عدة خدمات، سيتم عرض كل يتم التحقّق من المنتج في بلد معيّن مقارنةً بجميع خدمات الشحن في هذا البلد. بلد لحساب أسعار الشحن المحتملة. في حال إرجاع خدمات متعددة بأسعار مختلفة للمنتج نفسه، فسيتم استخدام أقل سعر.

يقسّم المثال أدناه 40 تصنيفًا لحِزمة باستخدام أسعار فريدة على اثنين والخدمات المختلفة. يخفي هذا المثال التفاصيل الأخرى حول الشحن. الموارد، مثل المعدلات الفعلية، خلف القطع الناقص.

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

قد يكون عليك أيضًا تقسيم تصنيفات الحِزم على مستوى مجموعات الأسعار. حتى لو كانت تصنيفات الحِزم تتشارك تعرفة الشحن نفسها، بما أنّ كل تعرفة لمجموعة الشحن 30 تصنيفًا فقط ضمن الحقل "applicableShippingLabels". لذلك، كمثال دقيق، إذا كانت كل تصنيفات الحِزم تتشارك بنية السعر نفسها يمكن لـ shippingsettings معالجة ما يصل إلى 12,000 تصنيف حزمة لبلد واحد: 30 تصنيف حزمة لكل سعر مجموعة و20 مجموعة تعرفة لكل خدمة شحن و20 خدمة شحن لكل واحدة.

لمزيد من المعلومات، راجِع المستندات المرجعية للسمتَين accounttax وshippingsettings.