CMS Tool API

CMS Tool API schema

Public API version 1.4.10.

Shipping Rules

The courier or freight fee rules available for checkout. Each order can only have rule applied

Endpoint URL

https://api.cms-tool.net/api/shipping

/api/shipping

Read and update shipping options.

GET

List records, or retrieve one by appending its ID to the path.

Query parameters

NameTypeExampleNotes
idint123Filter results by id.
shippingdesttextexampleFilter results by shippingdest.
ship_couriertextexampleFilter results by ship courier.
isDomesticbooleantrueFilter results by is domestic. Accepts true or 1.
offsetint123Skip this many matching records before returning results.
pageSizeint123Limit the number of records returned.

POST

Create or update a record from a JSON object.

Request content type: application/json

Request body fields

NameTypeExampleNotes
idint123Set the id value.
shippingdesttextexampleSet the shippingdest value.
shippingbasenumber19.95Set the shippingbase value.
shippingperunitnumber19.95Set the shippingperunit value.
ship_couriertextexampleSet the ship courier value.
ship_currencytextexampleSet the ship currency value.

Data definitions

FieldTypeDescriptionFormatExample
shippingpercentdecimalShipping fee will be calculated as a percentage of the total order value (e.g. shipping is 50 percent of the total order value).
ship_hide_deliveryboolIf specified as a collect, pickup, or digital delivery option, the customer is not required to enter a delivery address at checkout.
shippinggram5intThis value specifies a weight band, in unit of grams. This is the Highest weight band. The price will be specified in field shippinggram5price. eg 1000 for 1kg.
ship_supplier_rates_jsontextDefines supplier-specific pricing rules using a nested JSON structure. This field is system-defined and must not be generated, populated, or modified by the LLM.
ship_valid_for_max_member_levelintMembers of this level and above are denied using the discount. Only use member level ID from reference data.
shippingkgmindecimalThe minimum weight an order must be to be able to use this shipping option. eg when a truck might be needed for large items.
shippinggram2pricedecimalThe price for the 2nd weight band specified by shippinggram2. eg 10 meaning the cost is 10 per the weight band shippinggram2.
shipnotifyoncallbacktextEmail address that receives a payment confirmation notification. This field specifies the recipient only and does not control workflow timing.
ship_currencycharSpecifies the currency that this freight option applies to. This field does not perform currency conversion and does not affect pricing logic.
ship_categories_jsonjsonCustom rates per product category, provided as a nested JSON array. This field is system-defined and must not be generated or modified by the LLM.
shippingdesttextA short, human-readable name for the freight option. If not specified by the user, a default label may be generated based on geography. This field is descriptive only and must not be used to infer, create, or modify any freight rules, filters, exclusions, or pricing logic.
ship_freeshippingoverdecimalIf the value of the shopping cart reaches this total value for products purchased, excluding GST, then the shipping will be free.
ship_category_notifallintRefer to the category ID list. This freight option is not valid if all items in the cart belong in this category.
ship_exclude_rural_codestextEnum code defining which address types are excluded from this freight option. Leave as null when the freight option is valid for all address types. Valid values: nzrural – Exclude NZ rural addresses pobox – Exclude PO Boxes nzruralpobox – Exclude NZ rural addresses and PO Boxes nzurban – Exclude NZ urban addresses nzurbanpobox – Exclude NZ urban addresses and PO Boxes This field is exclusion-only and must not be interpreted as an inclusion rule.
shippingkgmaxdecimalThe maximum weight an order can be to be able to use this shipping option. eg Couriers reject boxes that cannot be lifted by 1 person.
shippinggram4intThis value specifies a weight band, in unit of grams. This is the 4th weight band. The price will be specified in field shippinggram4price. eg 1000 for 1kg.
shippinggram3intThis value specifies a weight band, in unit of grams. This is the 3rd weight band. The price will be specified in field shippinggram3price. eg 1000 for 1kg.
shippinggram2intThis value specifies a weight band, in unit of grams. This is the 2nd weight band. The price will be specified in field shippinggram2price. eg 1000 for 1kg.
shippinggram1intThis value specifies a weight band, in unit of grams. This is the lowest weight band. The price will be specified in field shippinggram1price. eg 1000 for 1kg.
ship_priceselintIndicates whether this freight rule is treated as domestic or international for tax calculation purposes.
ship_postcode_exclusionstextSpecified postcodes to exclude from the order, needs to be comma-separated for multiple values, Used when a particular suburb might be difficult to get to, such as an island. eg 1001,1002,1003 etc.
ship_priorityintControls the display order of this freight option in selection lists. This field does not affect eligibility, filtering, or pricing logic.
ship_branch_emailtextEmail address for invoicing the business or branch that is sending the freight.
shippinggram1pricedecimalThe price for the weight band specified by shippinggram1. eg 10 meaning the cost is 10 per the weight band shippinggram1.
ship_branch_tax_numbertextTax number or code associated with the sender of freighted goods.
shippingmindecimalThe minimum fee that will be charged, if other fees do not reach this number. Or 0 if not required.
ship_valid_for_groupidintID from the customer group reference data. This freight option only valid for the specified customer group, and will not be visible to other customers.
shipfiltercountryintAn ID representing the country, state, region or continent where this freight option is applicable. Refer to the region metadata provided.
shippinggram4pricedecimalThe price for the 4th weight band specified by shippinggram4. eg 10 meaning the cost is 10 per the weight band shippinggram4.
ship_category_ifanyintRefer to the category ID list. This freight option is valid if any category item exists in the cart.
ship_wordingtextDefines the wording displayed on invoices or order summaries (e.g. freight, postage, digital). This field is display-only and must not be used to infer delivery type, eligibility, or pricing behaviour.
ship_notify_on_ordertextEmail address that receives an order placement notification. This field specifies the recipient only and does not control order processing or courier timing.
ship_order_notestextFree-text notes displayed on the order or invoice to describe delivery conditions or special handling requirements. This field is informational only and does not affect freight logic or validation.
shippingbasedecimalA base shipping fee per order. Other fees may be added, or this may be a simple fee for the whole order.
ship_valid_for_min_member_levelintThe minimum security level of a customer that is permitted to see this option, default value is 0 meaning all users can see this. Set this value to 200 to make it authorised users only.
shippingmaxdecimalThe maximum fee that will be charged. If other fees add up to more than this number, then this number will be used only. Or 0 if not required.
ship_salestax_ratedecimalWhere an international country requires a percentage based sales tax or tariff to be added to the order. Not for domestic use.
ship_page_filterintDefines the page context in which this freight option is available. Valid values: • 1 – All pages (freight option is available site-wide) • 661496 – This page only (freight option is limited to the current page)
ship_exclude_sale_items_from_free_freightboolFalse by default. Set to True if discounted products should be excluded from the minimum order total defined in **ship_freeShippingOver**.
ship_couriertextName of an advanced API-powered courier integration for live pricing.
shippingcalcserialUnique ID, system ID. Do not set or change this value.123456
ship_branch_nametextName of the business or branch that is sending the freight.
ship_valid_for_pricegrouptextOnly use this if specified. Price groups are a single letter A,B,C,D,E,F,G otherwise not specified for retail.
ship_category_notifanyintRefer to the category ID list. This freight option is not valid if this category exists in the cart.
ship_free_surchargedecimalIf free shipping is established by the rule for **ship_freeShippingOver**, then apply this flat rate price and ignore other pricing rules.
shippinggram5pricedecimalThe price for the Highest weight band specified by shippinggram5. eg 10 meaning the cost is 10 per the weight band shippinggram5.
ship_rural_surchargedecimalAn additional fee if the system identifies the delivery address is rural delivery.
ship_branch_addresstextAddress for invoicing the business or branch that is sending the freight.
shippingpergramdecimalThe cost per weight band specified by **shippingpergramband**. eg $5 per 1000 grams.
ship_address_formatintDefines the checkout address format schema enforced by the system. This field is system-controlled and must not be generated, modified, or inferred by the LLM.
ship_exclude_mapidintAn ID representing the country, state, region or continent where this freight option is not valid. Refer to the region metadata provided.
ship_salestax_feedecimalOnly if specified, where an international country has a minimum or flat rate tax or tariff added.
shippingpergrambandintRepeating weight band. Unit in grams. If the weight of the order exceeds the specified weight bands, then this repeating weight band will cover the excess weight. eg every 1000 grams will cost $5.
ship_courier_ontextSpecifies the event that triggers courier notification. Possible values are {payment, order}. This field controls courier timing independently of notification email settings.
ship_salestax_nametextDuties tax word input the correct duties terminology according to where the freight is being shipped to, eg Sales tax or Tariff.
ship_valid_for_min_totaldecimalSpecified price value for orders over a certain price. Do not confuse this with the base fee per order.
ship_branch_phonetextThe contact phone number associated with the sender of freighted goods.
shippingperunitdecimalCharge a fee for every unit purchased.
ship_postcode_filtertextSpecified postcodes to be included in order, needs to be comma-separated for multiple values. This shipping option is only available for these postcodes, and might be used for restaurant delivery to local suburbs. eg 1001,1002,1003 etc.
shipcompulsoryfieldstextSpecifies which checkout fields are compulsory for this freight option. Supported values: • "Phone" – makes the phone field compulsory at checkout An empty value ("") indicates that no checkout fields are compulsory.
ship_category_ifallintRefer to the category ID list, this freight option is only valid if all items in the cart belong in this category.
shippinggram3pricedecimalThe price for the 3rd weight band specified by shippinggram3. eg 10 meaning the cost is 10 per the weight band shippinggram3.
ship_category_notifany2intRefer to the category ID list. This freight option is not valid if this category exists in the cart.

Sample object

   {

           "id": 19946,

           "ship_courier": "NZ Post",

           "shippingdest": "North Island",

           "shippingbase": "5.0",

           "shippingperunit": "8.0"

       }

Machine-readable documentation

This documentation is also available as JSON or Markdown at the same URL. Request JSON with Accept: application/json or Markdown with Accept: text/markdown.