CMS Tool API

CMS Tool API schema

Public API version 1.4.51.

Shop Configuration

The shop settings of one shopping page as a single flat object: currency and tax, how products, prices, stock and buy buttons are displayed, checkout options, order numbering, notifications and how long customers may edit or cancel a submitted order.

Endpoint URL

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

/api/shopconfig

Read and update the shop configuration of each shopping page as one flat object.

GET

List the shop configuration of every shopping page, or retrieve one by appending its page ID to the path.

Query parameters

NameTypeExampleNotes
pageint123Filter results by page.

POST

Update the shop configuration of a shopping page from a JSON object. Send only the settings to change.

Request content type: application/json

Request body fields

NameTypeExampleNotes
pageint123Set the page value.
currencytextNZDThree letter ISO currency code that prices on the shopping page are charged in.
taxRatenumber19.95Sales tax (GST/VAT) rate as a percentage, from 0 to 100.
taxNumbertextGST 123-456-789The merchant's sales tax registration number, up to 30 characters.
priceDisplayFormattextINCLHow prices and tax are displayed at checkout, for example AUTO, EXCL, INCL or INCLEXCL.
priceEntryFormattextInclHow prices are entered: Excl, Incl, Split or Mixed.
orderNumberPrefixtextWWText added in front of order and invoice numbers.
nextInvoiceNumberint123The number the next invoice will use.
hideSavingsAndRrpbooleantrueHide savings and RRP prices and totals. Accepts true or 1.
showVoucherBoxbooleantrueShow the promo code and voucher redemption box in the cart and checkout. Accepts true or 1.
minLevelToBuyint123Lowest member level that may see the buy button: 0 everyone, 100 logged in, 200 to 500 authorised levels, 999 no one.

Any setting listed in the field dictionary may be posted, not only those shown here. The page field selects the shopping page and may be omitted when the website has only one. Unknown fields are ignored. An empty value clears a setting, and a flag set to false or 0 is turned off. If any value is not valid, nothing is saved and the error names each field.

Data definitions

FieldTypeDescriptionFormatExample
quantityControltextBuy quantity control: COMBO (combo with #.###), MINMAX (combo without #.###), TEXT (text box), PLUSMINUS, REMOVE (remove only) or NONE (no quantity option).
redirectSingleProductCategoryboolTrue to send a visitor straight to the product when a category holds only one product.
hideProductCodeboolt to hide the product code on product pages and lists.
weeklyOutOfStockReportboolTrue to send the merchant a weekly out of stock report.
checkoutFileUploadtextCheckout file upload: SaveWithOrder (saved with the order) or TempByEmail (kept temporarily and emailed separately). Blank disables uploads.
vipPricingboolTrue to give logged in opted-in or authorised members VIP prices (price group A).
linkedProductSearchtextHow linked products are found: BiDirectional (links work both ways) or Children (child products only).
hoverImageSlideshowboolTrue to reveal a slideshow of the additional images when the pointer rests on a product in a list.
cancelCutoffBeforeDeliveryintervalHow long before the target delivery date or booking start the customer may still cancel, eg 1 day, 1 week. 0 or blank disables cancelling before delivery.
showPromoStampsboolTrue to show promotion stamps on products.
categoryHeaderLayouttextCategory header layout: none, 320left, 320right, 160left, 160right (medium or small image left or right of the summary text), text (summary text only), imgtext (full image above the summary text) or textimg (full image below the summary text).
listShowTagsboolTrue to show linked categories as tags in product lists.
showOrderMarketingSourceboolTrue to show marketing source details when viewing orders.
productShowSupplierboolTrue to show the supplier on the product page.
listShowCodetextSet to BelowDescription to show the product code below the description in product lists. Blank does not show it.
listBuyButtonFormattextBuy button format in product lists: BUTTONONLY, QTYBUTTON (quantity and buy button), BUTTONWITHOPTIONS (options, quantity and buy button), ViewAndBuy (view details and buy buttons), VIEWBUTTON (view link) or the last option on the shop setup screen, which shows nothing. Blank uses the default.
hideUnitFromShortPriceboolTrue to hide the unit of measure from the short price.
idintShopping page ID. The same as page.
categoryListFormattextLayout of the category list: -1 (no category list), 1, 2, 2LARGE, 3, 3LARGE, 4, 18, 5, 6, GRID, 9, 10, 11, 12, 13 or 14 (column, thumbnail, grid and bullet point layouts chosen on the shop setup screen). Blank uses the same layout as products.
categoryPricingModetextCategory pricing mode: blank disabled, Price Discount or Cost Plus.
showDocketWeightsboolTrue to show item weights on shipping dockets.
showCartSubTotalboolTrue to show a sub total in the cart.
listShowWeightboolTrue to show the product weight in product lists.
hideSavingsAndRrpboolTrue to hide savings and RRP prices and totals.
productShowPublisherboolTrue to show the publisher or manufacturer on the product page.
taxNumbertextMerchant's sales tax registration number (eg GST#, VAT#, ABN#), up to 30 characters.
editCutoffBeforeDeliveryintervalHow long before the target delivery date or booking start the customer may still edit the order, eg 1 day, 1 week. 0 or blank disables editing before delivery.
listPaginationtextHow a customer moves through long product lists: PAGES (page number buttons) or SHOWMORE (a show more button).
showArtistsInCategoriesboolTrue to show the artists for exhibitions in category lists.
extraField1textLabel for extra product field 1 on this shopping page. Blank means the field is not used.
nextInvoiceNumberintThe number the next invoice will use. Increases by one each time an order is submitted through the shop API.
orderNumberPrefixtextPrefix added to order and invoice numbers.
editWindowAfterPurchaseintervalHow long after submitting an order the customer may edit it, eg 1 hour, 1 day, 7 days. 0 or blank disables editing after purchase.
showCartVolumeboolTrue to show the total volume of the cart.
showSavingsboolt to show the savings value after the price and RRP.
extraField6textLabel for extra product field 6 on this shopping page. Blank means the field is not used.
listTradeOptionLayouttextTrade option display format in product lists (a product option layout code). Blank uses the default.
extraField4textLabel for extra product field 4 on this shopping page. Blank means the field is not used.
extraField5textLabel for extra product field 5 on this shopping page. Blank means the field is not used.
extraField2textLabel for extra product field 2 on this shopping page. Blank means the field is not used.
categoryFooterLayouttextCategory footer layout, using the same codes as categoryHeaderLayout.
extraField3textLabel for extra product field 3 on this shopping page. Blank means the field is not used.
minLevelToSeePricesintLowest member level that may see prices: 0 everyone, 100 logged in, 200 authorised users, 300 level 2, 400 level 3, 500 level 4, 999 no one.
productShowTagsboolTrue to show linked categories as tags on the product page.
buyButtonLabeltextText on the buy button in product lists, up to 20 characters. Used when there is no buyButtonImage.
rememberSizeboolTrue to remember the customer's last size choice.
limitToCountrytextLimits checkout to one country, given as the country name from the merchant's contact details. Blank means no limit.
cascadeVariantPricingboolTrue to cascade variant pricing by default.
minimumOrderValuedecimalSmallest order value a customer may check out with. Blank means no minimum.
productImagePreferencetextWhich image the product page shows first: Main (main image only), Material, Colour (selected colour swatch) or Style (selected style swatch). Blank uses the default variant image or the main image.
priceEntryFormattextHow the merchant enters prices when editing products: Excl (tax excluded), Incl (tax included), Split (dual price entry) or Mixed (retail incl, trade excl).
listStockDisplayFormattextHow stock availability is shown in product lists. A stock display code, as for stockDisplayFormat.
showSaveCartButtonboolTrue to show a Continue and Save Cart button in the order summary.
checkoutCampaignIdintID of the email campaign that customers are subscribed to at checkout. Blank means none.
currencytextThree letter ISO currency code that prices on this shopping page are entered and charged in, eg NZD.
showPriceRangeboolTrue to show a price range for products whose variants have different prices.
askGiftMessageboolt to ask the customer for a gift message at checkout.
rememberStyleboolTrue to remember the customer's last style or option choice.
blockCrossPagePurchasesboolTrue to prevent purchases between different shopping pages in one order.
productTabsLocationtextWhere the product tabs go: DefaultLocation (full width, mid page) or UnderPriceTableBlock (under the details beside the photo).
checkoutCampaignRuletextLimits who is subscribed at checkout: NoPreviousOrders (only new customers with no previous orders). Blank means everyone.
priceDisplayFormattextHow prices and tax are displayed and calculated at checkout. AUTO (default), NONE, PRICE (tax excl, no wording), INCLQUIET (tax incl, no wording), EXCL (tax excl with wording), INCL (tax incl with wording), INCLEXCL (bold incl plus small excl), EXCLINCL (bold excl plus small incl), INCL_SHIPPING (shipping included, dual line), INCL_VIP (VIP pricing, dual line incl tax), INCL_TRADEEXCL (retail incl, trade excl).
disableFastProductSearchboolTrue to turn off the fast search that goes straight to a product.
suggestOnProductboolt to suggest products on the product page (autosuggest plugin).
checkoutAddressProcesstextCheckout address process: METHODFIRST (delivery method first), SEARCHADDRESS (address search first), BOTH (delivery method and address search) or CHECKOUTBUTTON (checkout button only).
rememberColourboolTrue to remember the customer's last colour choice.
searchBoxStyletextSearch box style on shopping pages: Default (keywords), Address (product availability by address), AdvancedLeft, AdvancedTop, Specifications, FiltersTopExpand or FiltersTopExpandAndSort.
productRetailOptionLayouttextRetail option display format on the product page (a product option layout code). DEFAULT uses the standard layout.
showSortMenuboolt to show the product sorting dropdown on product lists.
customerEditScopetextWhat a customer may change on a submitted order: Notes (notes and contact details), NotesDeliveryDate (plus delivery date) or FullEdit (reopens the order).
thumbnailClickActiontextWhat clicking a product thumbnail does: ColourBoxSlideShow (popup slideshow) or ReplaceMainImage. Blank uses the default.
stockDisplayFormattextHow stock availability is shown on the product page. A stock display code, eg NONE, OOS, INSTOCKOUT, LOWSTOCKIFONE, INSTOCKONLY, QTY, QTYPOS, QTYBO, HIDE.
optionsPrompttextPrompt text shown above the style/option choices on a product, up to 40 characters.
showMerchantAddressboolt to show the merchant address footer on shopping pages.
productBuyButtonLabeltextBuy button label on the product page.
priceRoundingdecimalRounding step applied to tax inclusive prices: 0.00 (no rounding), 0.05, 0.10, 0.50 or 1.00.
suggestAtCheckoutboolt to suggest products at checkout (autosuggest plugin).
sendTaxInvoicesboolT to email order confirmations as tax invoices. Blank sends them as orders.
listShowPricePerboolTrue to show the price per unit in product lists.
suggestOutOfStockboolTrue to include out of stock products in product suggestions.
lowStockLeveldecimalStock quantity at or below which a product counts as low stock. The setup screen starts at 5.
listShowExtraFieldsboolTrue to show the product code and the extra product fields in product lists.
showCategoryProductsOnProductboolt to show other products in the same category, with images, on the product page.
minLevelToEditOrdersintLowest member level that may edit or cancel their own orders: 100 logged in, 200 authorised users, 300 level 2, 400 level 3, 500 level 4.
productShowWeightboolTrue to show the product weight on the product page.
taxCalculatedBytextHow tax is totalled on an order: Item (tax worked out on each item) or Line (tax worked out on each order line).
showVoucherBoxboolt to show the promo code / voucher redemption box in the cart and checkout.
docketEmailOnOrdertextEmail address that receives the delivery docket when an order is submitted, before payment (up to 100 characters).
deductVoucherTaxboolTrue to deduct the GST on a voucher when it is redeemed.
minLevelToBuyintLowest member level that may see the buy button: 0 everyone, 100 logged in, 200 authorised users, 300 level 2, 400 level 3, 500 level 4, 999 no one.
showProductSubtitleboolTrue to show the product subtitle on the product page.
taxRatedecimalSales tax (GST/VAT) rate as a percentage, eg 15 for 15%. Product prices are stored excluding tax; this rate is added where prices are shown or charged tax inclusive.
cartItemOrdertextItem order in the cart: CHRONO (chronological), HISTORICAL, CODE or TITLE.
listRetailOptionLayouttextRetail option display format in product lists (a product option layout code). Blank means none.
showContinueShoppingButtonboolTrue to show a Continue Shopping button in the order summary.
showCartWeightboolTrue to show the total weight of the cart.
listShowAuthorboolTrue to show the author or artist in product lists.
productTitleFormattextProduct title format on the product page: TITLEONLY (name), CODETITLECAT (name (code) - category), TITLECAT (name - category), CODETITLE (code - name) or CATTITLE (category - name).
listShowPublisherboolTrue to show the publisher in product lists.
pageintShopping page ID that these settings belong to.
marketplaceCategoryIdintMarketplace category ID this shopping page is listed under (0 or blank when not categorised).
docketItemOrdertextItem order on delivery dockets: bi_id (default), p_title, p_code, p_location or p_suppliername.
lastItemRuletextWho gets the last item in stock when two customers want it: Add2Cart (the first to add it to the cart) or Checkout (the first to reach checkout).
hideOutOfStockProductsboolTrue to leave out of stock products out of product lists.
productTabsFormattextProduct page tabs format: Tabs, Accordian (sections expand as required), AccordianSingular (one section open at a time) or Visible (no tabs). Accordian is the stored spelling.
listShowColourSwatchesboolTrue to show colour swatches in product lists.
eventNotificationstextWhen event booking notifications are sent for orders: OnOrderSubmit, OnOrderPaid or None.
multiVariantFormboolTrue to show variants as one form where several options and quantities can be bought together.
cancelWindowAfterPurchaseintervalHow long after submitting an order the customer may cancel it, eg 1 hour, 1 day, 7 days. 0 or blank disables cancelling after purchase.
requireFullNameboolTrue to require the customer's full name at checkout.
listShowQuantityBreaksboolTrue to show quantity price breaks in product lists.
preferredDeliveryInputtextHow the customer gives a preferred delivery date or time: ShopHoursOnly (mandatory, within shop hours), FreeTextDate (free text with date picker), FreeText, Date, DateTime or Weekdays. Blank hides the question.
buyButtonDestinationtextWhere the buy button takes the customer: CART (shopping cart), CHECKOUT (checkout final step), LIST (top of product list), TOP (top of current page), POPUP (popup cart, full), POPUPCHANGES (popup cart, changes only), WIDGET (template specific), MESSAGE (small added to cart message that fades) or NUMBER (cart item count increase only).
showPurchaseOrderFieldboolTrue to show a purchase order number field at checkout.
buyButtonImagetextImage used as the buy button in product lists. When blank, buyButtonLabel is used instead.
unpaidOrderReminderintervalHow long after submitting an unpaid order the customer is reminded: an interval such as 1 day, 2 days, 1 week, 1 month. 0 disables the reminder.
productTradeOptionLayouttextTrade option display format on the product page (a product option layout code). Blank uses the default.
docketEmailOnPaymenttextEmail address that receives the delivery docket once an order is paid (up to 100 characters).
showProductEnquiryFormboolTrue to include an enquiry form on the product page.
showCategoryLinksOnProductboolt to show a list of links to other products in the same category on the product page.
productImageLayouttextProduct page image layout: slider, sliderthumbs, zoomleft, zoomright, inlinethumbs, squarethumbs, leftthumbs, 3colthumbs or thumbslider.
checkoutAddressFormatintCheckout address format: 6 (basic customer contact and basic delivery address), 5 (basic customer contact and full delivery address with contacts), 3 (full customer and delivery addresses), 4 (full customer address plus billing email and full delivery address), 2 (full customer address block only), 1 (short customer address, not compatible with couriers or afterpay) or 0 (no postal addresses, digital delivery only).

Usage instructions and examples

Each shopping page has one flat object with all of its shop settings. List them all with GET /api/shopconfig, or read one with GET /api/shopconfig/{page}. POST an object with the page and only the settings to change. An empty value clears a setting, a flag accepts true or 1, and if any value is not valid nothing is saved. Settings that are not set are returned as null, or false for a flag.

Sample object

{"id": 112137, "page": 112137, "currency": "NZD", "taxRate": 15, "taxNumber": "GST 123-456-789", "priceDisplayFormat": "INCL", "priceEntryFormat": "Incl", "orderNumberPrefix": "WW", "nextInvoiceNumber": 1042, "minLevelToBuy": 0, "showVoucherBox": true, "hideOutOfStockProducts": false, "lowStockLevel": 5, "unpaidOrderReminder": "2 days", "buyButtonLabel": null}

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.