Understanding product segments

The Product Segment feature is a possibility for each retailer to categorize their products per category.
It corresponds to the hierarchy tree present on the left side of the catalog where the retailer can affect their product (one product per segment) and allows the retailer to filter its products.
It is also named retailer Categories below.

The format to be used to import the Product Segment is described below (retailerCategories.xml).
Once the Product Segment has been imported, it is then possible for the retailer to import his Active Range (retailerProducts.xml).

retailerCategories.xml (Product Segment)

<?xml version="1.0" encoding="UTF-8"?>
<retailerCategories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <version>1.0</version>
    <feedDate>2017-01-01T00:00:00</feedDate>
    <contentOwner>
        <gln><!-- Retailer GLN --></gln>
    </contentOwner>
    <categoriesTree>
        <id>0</id>
        <name>Alimentaire</name>
        <children>
            <category>
                <id>1</id>
                <!-- Id must be unique for all categories, id is an alphanumeric-->
                <name>Epicerie sucrée</name>
                <children>
                    <category>
                        <id>2</id>
                        <name>PANIFICATION</name>
                    </category>
                    <category>
                        <id>3</id>
                        <name>COMMERCE EQUITABLE</name>
                    </category>
                    <category>
                        <id>4</id>
                        <name>FRUITS AU SIROP</name>
                    </category>
                </children>
            </category>
            <category>
                <id>5</id>
                <name>Epicerie salée</name>
                <children>
                    <category>
                        <id>6</id>
                        <name>CONSERVES DE VIANDES</name>
                    </category>
                    <category>
                        <id>7</id>
                        <name>OLIVES</name>
                    </category>
                    <category>
                        <id>8</id>
                        <name>CONSERVES DE POISSONS</name>
                    </category>
                    <category>
                        <id>9</id>
                        <name>CONSERVES DE LEGUMES</name>
                    </category>
                    <category>
                        <id>10</id>
                        <name>HUILES</name>
                    </category>
                    <category>
                        <id>11</id>
                        <name>FARINES</name>
                    </category>
                </children>
            </category>
            <category>
                <id>12</id>
                <name>Epicerie fine</name>
                <children>
                    <category>
                        <id>13</id>
                        <name>BIO + DIETETIQUE</name>
                    </category>
                    <category>
                        <id>14</id>
                        <name>PRODUITS DU MONDE</name>
                    </category>
                </children>
            </category>
        </children>
    </categoriesTree>
</retailerCategories>

SupplierXM provides a XSD file so retailers can validate the XML file before importing onto SupplierXM.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
    <xs:element name="retailerCategories" type="retailerCategoriesType"/>
    <xs:complexType name="category">
        <xs:sequence>
            <xs:element name="id" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        Unique id of this specific category.
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="32"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="name" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        Category's name.
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="64"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="children" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>
                        List of all children product categories.
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="retailerCategoriesType">
        <xs:sequence>
            <xs:element name="version" minOccurs="1" maxOccurs="1" type="xs:decimal">
                <xs:annotation>
                    <xs:documentation>
                        Corresponds to the XSD version to use to validate the message.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <!-- example -->
            <xs:element name="feedDate" minOccurs="1" maxOccurs="1" type="xs:dateTime">
                <xs:annotation>
                    <xs:documentation>
                        Datetime when the XML file is produced.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="contentOwner" minOccurs="1" maxOccurs="1">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="gln" minOccurs="1" maxOccurs="1">
                            <xs:annotation>
                                <xs:documentation>
                                    GS1 identification for the company that is producing the XML message. Always 13 digits. Will be used to identify the message's sender when received by SupplierXM. See http://www.gs1.org/gln.
                                </xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                                <xs:restriction base="xs:long">
                                    <xs:totalDigits value="13"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="categoriesTree" minOccurs="1" type="category">
                <xs:annotation>
                    <xs:documentation>
                        Contains the whole retailer's classification.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            
        </xs:sequence>
    </xs:complexType>
</xs:schema>

What’s Next

These sections document all the endpoints that allow interaction with product segments: