XML Schema Guide

Much of Bunting’s power comes from its knowledge of your products, and its ability to cross reference them with visitor profiles. You should now select a method of sending information about your products to Bunting.

Specification

Below are the specifications showing the mandatory, recommended and optional fields to allow your fields to be configured.

Benefits of using an XML within Bunting.

Unique Product Code <upc> Mandatory

The identifier for each product has to be unique within your account, and cannot be re-used. You can use any sequence of letters and digits for the product ID.

Type: Character Limit: Example Value: XML Example:
Text 250 Characters Max abc123 <upc>abc123</upc>
Important: Once a product has been submitted, the ID must not be changed when you update your data or be used for a different product at a later point in time.

 Product Name <ns> Mandatory

This is the name of your product, which is required. Within the <ns>…</ns> node should be the name, in each relevant language accepted by your site, as demonstrated below. It is highly recommended that you wrap your values in a CDATA section to avoid invalid XML.

We recommend that you include characteristics such as colour or brand in the title, which differentiates the product from other products.

Type: Character Limit: Example Value: XML Example:
Text 250 Characters Max iPad <ns>
<ENG><![CDATA[iPad]]></ENG>
</ns>
Important: For variant products, you must only include the common title for the product, to represent all variations. For example if “Men’s Pique Polo Shirt” is available in red and blue, you should only include the product once within the feed, using the title “Men’s Pique Polo Shirt”. Do not include the product multiple times for each variation.

 Product Price <ps> Mandatory

The price of the product. Within the <ps>…</ps> node should be the price, in each relevant currency accepted by your site, as demonstrated below.

Type: Example Value: XML Example:
Number 399.99 <ps>
<GBP>399.99</GBP>
<USD>399.99</USD>
</ps>
Important: If the product is on offer, then the price should be after the reduction, not before. So, for example, if a product was 300 reduced to 250, then the price should be ‘250’

 Product URL <u> Mandatory

This is the web address of the product on your website. It must be an absolute URL, including the ‘http://’ protocol. Please do not include any tracking parameters. It is highly recommended that you wrap your values in a CDATA section to avoid invalid XML.

 Required for all products.

Type: URL (must include the http:// portion)
Character Limit: 250 Characters Max
Example Value: https://www.yoursite.com/products/abc123-ipad.html
XML Example: <u><![CDATA[http://www.yoursite.com/products/abc123-ipad.html]]></u>

 Image URL <iu> Mandatory

This is the URL of the main image for a product and is the first image that users see on product detail pages. It must be an absolute URL, including the ‘http://’ protocol.

If you have multiple different images of the product, submit the main image using this attribute and include a secondary image in the ‘Image 2 URL’ attribute. For best performance, images should ideally be around 700px by 700px.

It is highly recommended that you wrap your values in a CDATA section to avoid invalid XML.

Type: Text (must include the http:// portion)
Character Limit: 250 Characters Max
Example Value: http://bunting.example.com/main-images/abc123.jpg
XML Example: <iu><![CDATA[http://bunting.example.com/main-images/abc123.jpg]]></iu>

 Image 2 URL <i2u> Optional

If you have an additional image for this product, include its URL in this attribute, including the http:// protocol. For example, if you have an image that shows the product from a different angle than the main image, or if you have images of the packaging or the product in various settings. For best performance, images should ideally be around 700px by 700px.

It is highly recommended that you wrap your values in a CDATA section to avoid invalid XML.

Type: Text (must include the http:// portion)
Character Limit: 250 Characters Max
Example Value: http://bunting.example.com/secondary-images/abc123.jpg
XML Example: <i2u><![CDATA[http://bunting.example.com/secondary-images/abc123.jpg]]></i2u>

 Category <c> Mandatory

This attribute is the category path used by your system that contains the product. Nested categories should be separated by > symbols.

It is highly recommended that you wrap your values in a CDATA section to avoid invalid XML.

Type: Character Limit: Example Value: XML Example:
Text 250 Characters Max Electronics > Computers > Tablets <c><![CDATA[Electronics > Computers > Tablets]]></c>

 Brand <b> Recommended

The name of the brand that manufactures the product. It is highly recommended that you wrap your values in a CDATA section to avoid invalid XML.

Type: Character Limit: Example Value: XML Example:
Text 250 Characters Max Apple <b><![CDATA[Apple]]></b>

 Offer Saving <oss> Recommended

Offer saving, if this product is on offer (number). For example, if the price is 250, but used to be 300 when not on offer, then this value should be ’50’

Within the <oss>…</oss> node should be the offer saving, in each relevant currency accepted by your site, as demonstrated below.

Type: Example Value: XML Example:
Number 399.99 <oss>
<GBP>399.99</GBP>
<USD>399.99</USD>
</oss>

 

 Offer Expiry <oe> Recommended

If the product is on offer, then this attribute should be set to the expiry date. Dates can be submitted as Unix Timestamps only (timestamp info). If the product isn’t on offer, or if the offer doesn’t have an end date then simply enter ‘0’.

Type: Format: Example Value: XML Example:
Number A 10 digit number 1528988987 <oe>1528988987</oe>

 

 Product Rating <rt> Recommended

If this product has been rated then enter the rating here. Rating values should be between 0 and 5. If your rating uses a different scale, then this should be converted. For example, a product rated 9 / 10 should be halved to make ‘4.5’. Decimal places accepted.

Type: Format: Example Value: XML Example:
Number Number between 0 and 5 4.5 <rt>4.5</rt>

 Stock Level <s> Recommended

Is the product in stock? Passing a number means: yes – XX units are remaining. Passing the value ‘y’ means units are remaining, but the number is unspecified. Passing ‘n’ or ‘0’ mean out of stock.

Type: Format: Example Value: XML Example:
Alpha-numeric value ‘y’, ‘n’, or a number 14 <s>14</s>

 GTIN <gtin> Optional

Use the ‘GTIN’ attribute to submit Global Trade Item Numbers (GTINs) in one of the following formats:

  • UPC (in North America): 12-digit number such as 3234567890126
  • EAN (in Europe): 13-digit number such as 3001234567892
  • JAN (in Japan): 8- or 13-digit number such as 49123456 or 4901234567894
  • ISBN (for books): 10- or 13-digit number such as 0451524233. If you have both, only include the 13-digit number.
Type: Character Limit: Example Value: XML Example:
8-, 12- or 13-digit number (UPC, EAN, JAN or ISBN) 20 3001234567892 <gtin>3001234567892</gtin>
Important: For products with multiple variations and, consequently, multiple GTIN numbers, you can separate each number with a comma. For example, a jumper in red, blue and yellow could have the following GTINs:
<gtin>3001234567892,4001234567892,5001234567892</gtin>

 

 Keywords <kw> Recommended

Part of Bunting’s product recommendation algorithm involves matching keywords found in each product’s name to find similarities. However, if your product names are short or keyword-poor then we recommend including additional keywords in this field to compensate. These could be, for example, the name of a range that each product is part of, or a characteristic that plays in important role in visitor’s buying decisions, such as colour or size.

Well chosen keywords can notably improve product recommendations while supportive order data is being collected. However, conversely, poorly chosen keywords can damage them. Therefore we recommend including keywords only if you have good ones available.

Keywords can be separated by commas or spaces. It is highly recommended that you wrap your values in a CDATA section to avoid invalid XML.

Type: Character Limit: Example Value: XML Examples:
Text 250 black 250Gb <kw><![CDATA[black 250Gb]]></kw>

 Target Gender <g> Optional

Does product have a target gender, such as a lady’s jumper, or a man’s watch? If so, enter ‘male’ or ‘female’. If the product is unisex (applicable to both genders) then leave this field blank. Any other value, including blank, will default to unisex.

Type: Format: Example Value: XML Example:
Text ‘male’,’female’, or any other value including blank for unisex female <g>female</g>

 Custom Values 1 – 5 <cv1> – <cv5> Optional

Within the product recommendations that Bunting delivers to your website you may wish to have unique features or benefits displayed against some products but not others. To achieve this you can use Custom Values. Up to 5 values are accepted per product.

Values can contain HTML such as an <img />, they can be text strings that can be styled within your recommendation widgets, or be simple flag values to be caught by a recommendation widget IF statement. Anything within 250 characters length.

It is highly recommended that you wrap your values in a CDATA section to avoid invalid XML.

Type: Character Limit: Example Value: XML Examples:
Text 250 Free Carry Case
3 Year Extended Warranty
<cv1><![CDATA[Free Carry Case]]></cv1>
<cv2><![CDATA[3 Year Extended Warranty]]></cv2>