West Field API POST to https://api.westfield.com/retailers/retailers/1234/jobs/all_products to upload a complete list of products, clearing all existing products for the specified retailer. Any <deleted_products> specified in the upload will be ignored. POST to https://api.westfield.com/retailers/retailers/1234/jobs/products to upload a list of changed products. Products that also exist in the database will be updated with the new information; products that are not already in the database will be created; products listed in <deleted_products> will be removed. Response codes There are a number of standard errors for all Westfield REST interfaces, as defined in REST response codes, e.g. GET may return 404 if the object requested was not found in the system. PUT or DELETE to https://api.westfield.com/retailers/retailers/1234/jobs/products will return 405 Method not allowed 202: Accepted -- upload request has been accepted and will be processed. The 202 code does not imply that all products will be uploaded successfully, only that the job has been accepted. Response body will contain a link to the job status check URL. 404: Not found -- there is no such retailer 409: Conflict -- there is a validation error in the representation the client provided to update/create this product that was immediately apparent to the server. No part of the job has been started and no changes have been made. Not getting this code does not imply that the job will succeed however - there may still be a problem that gets encountered by the batch processor. Mandatory fields : Product Name <product_name>Selvedge</product_name> Code <sku>xyz123</sku> Short Description <short_description>Innovative jeans, with extra large iPad pockets</short_description> Long Description <detailed_description><![CDATA[<h3>Original Japanese Selvedge denim</h3><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p><br/>]]></detailed_description> Categories – At least one category <categories> <category primary="true">mens-jeans</category> </categories> Prices and currency (amount and tax in cents) <prices> <price currency="AUD"> <amount>10295</amount>><!-- the sale price or discounted -- > <tax>1029</tax> <rrp>12995</rrp><!-- the orginal or non sale price -- > </price> </prices> Shipping <shipping> <shipping_metric units="kg">10</shipping_metric> <ship_options> <ship_option>standard</ship_option> <ship_option>express</ship_option> </ship_options> </shipping> Image image url with http:// <media> <image_url name="hero" default="true">http://www.superjeans.com.au/productimages/lrg_xyz123.jpg</image_url> <image_url name="#store_front">http://www.superjeans.com.au/productimages/lrg_xyz123b.jpg</image_url> <image_url name="front">http://www.superjeans.com.au/productimages/lrg_xyz123-bfront.jpg</image_url> <image_url name="back">http://www.superjeans.com.au/productimages/lrg_xyz123-bback.jpg</image_url> </media> Product Upload Request XML - Reference Key: Required Fields Element / Attribute Notes <product> @display_only The product is purchasable on the site (i.e. display_only=true signifies that the product can't be added to the shopping cart. Default is false, i.e. by default if this attribute is ommitted the product will be deemed to be for sale on the site). @featured The product is a featured product and should be promoted through featured product carousels, etc. @sale The product has a special offer sale price and should be shown as 'on sale' on the site. @new_product The product is being promoted as 'new', such as a new range/new season. @new_feature A new variant of an existing product has been added, such as a new colour. @gift The product should appear in the soon to be relaunched Westfield Gift Finder. See Westfield Gift Finder <sku> Stock Keeping Unit identifier (see http://en.wikipedia.org/wiki/Stock-keeping_unit) for the product. Must be unique across all products sold by the retailer. <brand> The Brand name for the product. <product_name> The name for the product. Date from which the product will be available on the site. Format: "yyyy-mm-dd" <data_available_from> Optional. If missing, the date available from is implied to be "now". Date at which the product will be removed from the site. <data_available_to> Format: "yyyy-mm-dd" Optional. If missing, the product will be available indefinitely. A one paragraph short description of the product. Must not contain HTML or special characters. <short_description> This description will be used throughout the site. Max 255 characters. <detailed_description> Long description, can range from a single line to multiple paragraphs/sections and can contain HTML markup. Only the following elements are allowed, and must be properly formatted (and closed) XHTML: h3, h4, h5, h6, p ol, ul li, em, strong br, table th, tr, td A product must have at least one category to which it belongs, and this category must be marked as 'primary'. The category code is the Westfield category code, and determines where in the Westfield category hierarchy the product sits. Subsequent category tags are optional, but will be treated as secondary, tertiary, etc. categories for the product. There is no restriction on number of categories to which a product belongs. Commission is calculated based on the primary category of the product; if the retailer does not have a commission rate agreed for the category, product upload will fail. There are different kinds of "categories." The main type, and the one that commissions rates are set on, are the "product categories." Product categories are a hierarchy of types of things, for example: Women's Fashion > Accessories > Shoes. In the namespace attribute is omitted from a category tag then <categories> |- <category> it is assumed that the category being specified is a product category. Other kinds of categories can be specified with the namespace attribute. For example, there is a set of categories called "ageranges" (or perhaps better thought of as "life stage"). A product might be appropriate for only some age ranges for example. Age ranges are used on the Gift Finder pages. To associate a product with an age range, set the namespace attribute to "westfield:age-ranges" and then specify the age range code in the category tag. SeeCategory Namespaces for a complete list. See also Westfield Gift Finder for namespaces relevant to the Gift Finder feature. Product category mappings are available here: Product Category Mappings <related_skus> <sku> Container element to hold the skus of upto 4 related products. These will appear on the product details page under “also from this store”. The sku of a related product. Maximum of 4 related sku's. <country_of_origin> Manufacturer's country. Required for international sales. <mid> Manufacturer Identifier - international ID of manufacturer. Required for international sales. A product must have at least one 'details' section. Multiple 'details' sections specify different variants on a basic product, e.g. red scarf, blue scarf, etc. <details> |- <detail> On a product browse page, the default variant and default image are identified by the 'default="true"' attribute: the default variant is marked as <details default="true"> with the default image as <image_url default="true"> @default Used to identify the default variant for the product browse page. Retailer-specific identifier for this particular variant, optional. <retailer_ref> This is transferred in the order XML for a purchase back to the retailer. <prices> |- <price> @currency The currency code. The default is "AUD". <amount> The sell price of the product in cents, i.e. the price that will be paid at checkout for a single unit of this product. <tax> The tax component of the <amount> value in cents. Retailer recommended price in cents. The presence of RRP specifies the original or non-sale price of <rrp> the product, and assumes that the amount field holds a discounted or on-sale price. Retailer-specific promotion reference. <promotion_id> Must correspond to a promotion already loaded into the site. <quantity> The number of items in stock. <ean> EAN for the product, optional (see http://en.wikipedia.org/wiki/European_Article_Number) <attributes> <colour> See Westfield Colours and Sizes for the list of permissible colour names. <colour_description> Use the actual product colour description. <size> See Westfield Colours and Sizes for the list of permissible colour names. <size_description> Use the actual product size description. <construction> Details of the product construction. <material> Details of the product material(s). <style> Details of the product style. <shipping> <shipping_metric units=""> Must match up with the shipping option identifiers uploaded in the retailer's shipping matrix. Please see Complex_Shipping <ship_options> comma-separated lists of the allowed shipping for the product. For example, a washing machine may only have 'standard' shipping, a memory card may have 'standard','express','custom'. |- <ship_option> The values are not hard-coded, but must match up with the shipping option identifiers uploaded in the retailer's shipping matrix. <media> The schema currently allows image files, videos and 360degree rotations to be specified, though all these media formats may not be supported by the site. Direct URL to the media to be uploaded with the product, i.e. not be a redirect. Must be HTTP (e.g. http://...) The system assumes that each image is immutable, which means that if the system has previously downloaded <image_url> successfully from the specified URL, it won't attempt to download it again. So, if a new product image is required, the URL in the feed must be changed. - @default Used to identify the default image for the product. - @name A name for the image. <video_url> Direct URL to the media to be uploaded with the product. - @default Used to identify the default video for the product. - @name A name for the video. <threesixty_url> Direct URL to the media to be uploaded with the product. - @default Used to identify the default 360-degree rotation for the product. - @name A name for the 360-degree rotation.