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
| Name | Type | Example | Notes |
|---|---|---|---|
id | int | 123 | Filter results by id. |
shippingdest | text | example | Filter results by shippingdest. |
ship_courier | text | example | Filter results by ship courier. |
isDomestic | boolean | true | Filter results by is domestic. Accepts true or 1. |
offset | int | 123 | Skip this many matching records before returning results. |
pageSize | int | 123 | Limit the number of records returned. |
POST
Create or update a record from a JSON object.
Request content type: application/json
Request body fields
| Name | Type | Example | Notes |
|---|---|---|---|
id | int | 123 | Set the id value. |
shippingdest | text | example | Set the shippingdest value. |
shippingbase | number | 19.95 | Set the shippingbase value. |
shippingperunit | number | 19.95 | Set the shippingperunit value. |
ship_courier | text | example | Set the ship courier value. |
ship_currency | text | example | Set the ship currency value. |
Data definitions
| Field | Type | Description | Format | Example |
|---|---|---|---|---|
shippingpercent | decimal | Shipping 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_delivery | bool | If specified as a collect, pickup, or digital delivery option, the customer is not required to enter a delivery address at checkout. | ||
shippinggram5 | int | This 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_json | text | Defines 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_level | int | Members of this level and above are denied using the discount. Only use member level ID from reference data. | ||
shippingkgmin | decimal | The minimum weight an order must be to be able to use this shipping option. eg when a truck might be needed for large items. | ||
shippinggram2price | decimal | The price for the 2nd weight band specified by shippinggram2. eg 10 meaning the cost is 10 per the weight band shippinggram2. | ||
shipnotifyoncallback | text | Email address that receives a payment confirmation notification. This field specifies the recipient only and does not control workflow timing. | ||
ship_currency | char | Specifies the currency that this freight option applies to. This field does not perform currency conversion and does not affect pricing logic. | ||
ship_categories_json | json | Custom 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. | ||
shippingdest | text | A 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_freeshippingover | decimal | If the value of the shopping cart reaches this total value for products purchased, excluding GST, then the shipping will be free. | ||
ship_category_notifall | int | Refer to the category ID list. This freight option is not valid if all items in the cart belong in this category. | ||
ship_exclude_rural_codes | text | Enum 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. | ||
shippingkgmax | decimal | The 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. | ||
shippinggram4 | int | This 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. | ||
shippinggram3 | int | This 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. | ||
shippinggram2 | int | This 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. | ||
shippinggram1 | int | This 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_pricesel | int | Indicates whether this freight rule is treated as domestic or international for tax calculation purposes. | ||
ship_postcode_exclusions | text | Specified 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_priority | int | Controls the display order of this freight option in selection lists. This field does not affect eligibility, filtering, or pricing logic. | ||
ship_branch_email | text | Email address for invoicing the business or branch that is sending the freight. | ||
shippinggram1price | decimal | The price for the weight band specified by shippinggram1. eg 10 meaning the cost is 10 per the weight band shippinggram1. | ||
ship_branch_tax_number | text | Tax number or code associated with the sender of freighted goods. | ||
shippingmin | decimal | The minimum fee that will be charged, if other fees do not reach this number. Or 0 if not required. | ||
ship_valid_for_groupid | int | ID from the customer group reference data. This freight option only valid for the specified customer group, and will not be visible to other customers. | ||
shipfiltercountry | int | An ID representing the country, state, region or continent where this freight option is applicable. Refer to the region metadata provided. | ||
shippinggram4price | decimal | The price for the 4th weight band specified by shippinggram4. eg 10 meaning the cost is 10 per the weight band shippinggram4. | ||
ship_category_ifany | int | Refer to the category ID list. This freight option is valid if any category item exists in the cart. | ||
ship_wording | text | Defines 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_order | text | Email address that receives an order placement notification. This field specifies the recipient only and does not control order processing or courier timing. | ||
ship_order_notes | text | Free-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. | ||
shippingbase | decimal | A 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_level | int | The 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. | ||
shippingmax | decimal | The 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_rate | decimal | Where an international country requires a percentage based sales tax or tariff to be added to the order. Not for domestic use. | ||
ship_page_filter | int | Defines 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_freight | bool | False by default. Set to True if discounted products should be excluded from the minimum order total defined in **ship_freeShippingOver**. | ||
ship_courier | text | Name of an advanced API-powered courier integration for live pricing. | ||
shippingcalc | serial | Unique ID, system ID. Do not set or change this value. | 123456 | |
ship_branch_name | text | Name of the business or branch that is sending the freight. | ||
ship_valid_for_pricegroup | text | Only use this if specified. Price groups are a single letter A,B,C,D,E,F,G otherwise not specified for retail. | ||
ship_category_notifany | int | Refer to the category ID list. This freight option is not valid if this category exists in the cart. | ||
ship_free_surcharge | decimal | If free shipping is established by the rule for **ship_freeShippingOver**, then apply this flat rate price and ignore other pricing rules. | ||
shippinggram5price | decimal | The price for the Highest weight band specified by shippinggram5. eg 10 meaning the cost is 10 per the weight band shippinggram5. | ||
ship_rural_surcharge | decimal | An additional fee if the system identifies the delivery address is rural delivery. | ||
ship_branch_address | text | Address for invoicing the business or branch that is sending the freight. | ||
shippingpergram | decimal | The cost per weight band specified by **shippingpergramband**. eg $5 per 1000 grams. | ||
ship_address_format | int | Defines 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_mapid | int | An ID representing the country, state, region or continent where this freight option is not valid. Refer to the region metadata provided. | ||
ship_salestax_fee | decimal | Only if specified, where an international country has a minimum or flat rate tax or tariff added. | ||
shippingpergramband | int | Repeating 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_on | text | Specifies the event that triggers courier notification. Possible values are {payment, order}. This field controls courier timing independently of notification email settings. | ||
ship_salestax_name | text | Duties 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_total | decimal | Specified price value for orders over a certain price. Do not confuse this with the base fee per order. | ||
ship_branch_phone | text | The contact phone number associated with the sender of freighted goods. | ||
shippingperunit | decimal | Charge a fee for every unit purchased. | ||
ship_postcode_filter | text | Specified 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. | ||
shipcompulsoryfields | text | Specifies 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_ifall | int | Refer to the category ID list, this freight option is only valid if all items in the cart belong in this category. | ||
shippinggram3price | decimal | The price for the 3rd weight band specified by shippinggram3. eg 10 meaning the cost is 10 per the weight band shippinggram3. | ||
ship_category_notifany2 | int | Refer 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.