تتيح لك Content API تحديد الضريبة والشحن اللذين سيتم تطبيقهما على جميع المنتجات في الحساب من خلال خدمتَي shippingsettings وaccounttax. إذا أردت أن تكون أكثر دقة، يمكنك تحديد الضريبة والشحن على مستوى السلعة من خلال خدمة المنتجات.
للحصول على معلومات حول سياسات Google ومجموعة الخيارات الكاملة لتحديد الضرائب والشحن، يُرجى الاطّلاع على مقالات "مركز المساعدة" التالية:
يُرجى العِلم أنّ السمة tax
، وبالتالي استخدام خدمة accounttax، تنطبق فقط على المنتجات التي تستهدف الولايات المتحدة.
تعكس خدمات 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.