Integrating your order feed into the Returns Portal
This feed is required so that order details can be provided to consumers requesting returns on their orders. Returns requires an exported list of daily orders to be uploaded to an FTPS or SFTP location, for subsequent import into the administration portal.
Tracking can also be sent back via the same method.
Note
You can request an FTPS/SFTP location from your Returns implementation consultant.
To set up the order feed, we require exported order files to be sent on a daily basis so that we know what was shipped to the buyer. This includes data such as order number, name and address details, product information and Images.
Note
The order numbers supplied must be unique as they constitute the primary order identifier.
You need to create a method of passing your orders to us, together with the despatch information. Initially, we will need the last 30-60 days' order history so that, when you launch the Returns portal, consumers can find recent orders within your Returns policy window. After you have gone live, you will need to send a daily file of despatches.
Returns can accept the order feed in any of the following formats:
-
CSV - The separator can be a comma, pipe, semicolon or tab, but please use the same one throughout. Files should be encoded using the Unicode standard.
-
XLS/XLSX
-
XML - Refer to the following XML example: orders-example.xml. The schema used is XSD: RetailerOutboundOrders v2.4.xsd.
Note
For full file details, refer to Order Feed File Specification. If you need help, send us your order feed in any layout and we can help map it correctly.
Please use the following naming convention for your files:
ReturnOrders_<timestamp>
.<suffix> (e.g. .csv
).
The <timestamp>
should be supplied in ISO 8601 format, for example:
2020-03-31T000000Z
,
<?xml version="1.0" encoding="UTF-8"?> <Root> <Data> <OrderNumber>346-346-36-33445</OrderNumber> <OrderDate>2017-05-15T11:00:00</OrderDate> <Salutation /> <ShippingLastName>Baker</ShippingLastName> <ShippingFirstName>Fred</ShippingFirstName> <CustomerId /> <BuildingNumber /> <ShippingAddress1>Bickenhall Street</ShippingAddress1> <ShippingAddress2 /> <ShippingCity>London</ShippingCity> <ShippingCounty /> <ShippingPostCode>NW1 5PS</ShippingPostCode> <ShippingCountry>GB</ShippingCountry> <Email>fred.baker@metapack.com</Email> <Phone>+44 9999 99 88 77</Phone> <BillingName>Baker</BillingName> <BillingAddress1>Bickenhall Street</BillingAddress1> <BillingAddress2 /> <BillingCity>London</BillingCity> <BillingCounty /> <BillingPostCode>NW1 5PS</BillingPostCode> <BillingCountry>GB</BillingCountry> <BillingPhone>+44 9999 99 88 77</BillingPhone> <Total>120</Total> <Currency>GBP</Currency> <Source>Source</Source> <ExternalReference>ext ref</ExternalReference> <SKU>T-5421</SKU> <ItemTitle>Red T-shirt Number 7</ItemTitle> <Quantity>2</Quantity> <Price>100</Price> <ShippingCost /> <TrackingNumber>3000103040-32</TrackingNumber> <CarrierName>Carrier</CarrierName> <Service>24h delivery</Service> <CustomsDescription>Best T-shirt</CustomsDescription> <ItemWeight>3.225</ItemWeight> <TotalWeight>6.24</TotalWeight> <Salutation>Sir.</Salutation> <ImageLink>http://images.sportsdirect.com/images/products/37700861_l.jpg</ImageLink> </Data> <Data> <OrderNumber>780-564-585-4</OrderNumber> <OrderDate>2017-05-15T11:00:00</OrderDate> <Salutation /> <ShippingLastName>Baker</ShippingLastName> <ShippingFirstName>Fred</ShippingFirstName> <CustomerId /> <BuildingNumber /> <ShippingAddress1>Bickenhall Street</ShippingAddress1> <ShippingAddress2 /> <ShippingCity>London</ShippingCity> <ShippingCounty /> <ShippingPostCode>NW1 5PS</ShippingPostCode> <ShippingCountry>GB</ShippingCountry> <Email>fred.baker@metapack.com</Email> <Phone>+44 9999 99 88 77</Phone> <BillingName>Baker</BillingName> <BillingAddress1>Bickenhall Street</BillingAddress1> <BillingAddress2 /> <BillingCity>London</BillingCity> <BillingCounty /> <BillingPostCode>NW1 5PS</BillingPostCode> <BillingCountry>GB</BillingCountry> <BillingPhone>+44 9999 99 88 77</BillingPhone> <Total>120</Total> <Currency>GBP</Currency> <Source>Source</Source> <ExternalReference>ext ref</ExternalReference> <SKU>T-212</SKU> <ItemTitle>Red T-shirt Number 7</ItemTitle> <Quantity>2</Quantity> <Price>100</Price> <ShippingCost /> <TrackingNumber>3000103040-32</TrackingNumber> <CarrierName>Carrier</CarrierName> <Service>24h delivery</Service> <CustomsDescription>Best T-shirt</CustomsDescription> <ItemWeight>3.225</ItemWeight> <TotalWeight>6.24</TotalWeight> <Salutation>Sir.</Salutation> <ImageLink>http://images.sportsdirect.com/images/products/37700861_l.jpg</ImageLink> </Data> <Data> <OrderNumber>08-547-5474-3</OrderNumber> <OrderDate>2017-05-15T11:00:00</OrderDate> <Salutation /> <ShippingLastName>Baker</ShippingLastName> <ShippingFirstName>Fred</ShippingFirstName> <CustomerId /> <BuildingNumber /> <ShippingAddress1>Bickenhall Street</ShippingAddress1> <ShippingAddress2 /> <ShippingCity>London</ShippingCity> <ShippingCounty /> <ShippingPostCode>NW1 5PS</ShippingPostCode> <ShippingCountry>GB</ShippingCountry> <Email>fred.baker@metapack.com</Email> <Phone>+44 9999 99 88 77</Phone> <BillingName>Baker</BillingName> <BillingAddress1>Bickenhall Street</BillingAddress1> <BillingAddress2 /> <BillingCity>London</BillingCity> <BillingCounty /> <BillingPostCode>NW1 5PS</BillingPostCode> <BillingCountry>GB</BillingCountry> <BillingPhone>+44 9999 99 88 77</BillingPhone> <Total>120</Total> <Currency>GBP</Currency> <Source>Source</Source> <ExternalReference>ext ref</ExternalReference> <SKU>T-213</SKU> <ItemTitle>Red T-shirt Number 7</ItemTitle> <Quantity>2</Quantity> <Price>100</Price> <ShippingCost /> <TrackingNumber>3000103040-32</TrackingNumber> <CarrierName>Carrier</CarrierName> <Service>24h delivery</Service> <CustomsDescription>Best T-shirt</CustomsDescription> <ItemWeight>3.225</ItemWeight> <TotalWeight>6.24</TotalWeight> <Salutation>Sir.</Salutation> <ImageLink>http://images.sportsdirect.com/images/products/37700861_l.jpg</ImageLink> </Data> </Root>
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="Root"> <xs:element name="Root" msdata:IsDataSet="true" msdata:Locale="en-US"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Data"> <xs:complexType> <xs:sequence> <xs:element name="OrderNumber" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="20" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="OrderDate" type="xs:date" minOccurs="1" /> <xs:element name="Salutation" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingFirstName" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingLastName" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CustomerId" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="30" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BuildingNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="5" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingAddress1" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="70" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingAddress2" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="70" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingAddress3" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="70" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingNeighborhood" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingCity" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingCounty" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingPostCode" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingCountry" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Email" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Phone" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="20" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingName" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="100" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingBuildingNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="5" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingAddress1" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingAddress2" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingAddress3" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingCity" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingCounty" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingPostCode" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingCountry" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="2" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="BillingPhone" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="20" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ShippingCost" type="xs:decimal" minOccurs="0" /> <xs:element name="Total" type="xs:decimal" minOccurs="1" /> <xs:element name="Currency" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="3" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Source" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ExternalReference" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="20" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SKU" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ItemTitle" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Color" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="20" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Size" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Quantity" type="xs:int" minOccurs="1" /> <xs:element name="Price" type="xs:decimal" minOccurs="1" /> <xs:element name="TrackingNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CarrierName" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Service" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CustomsDescription" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ItemWeight" type="xs:decimal" minOccurs="0" /> <xs:element name="TotalWeight" type="xs:decimal" minOccurs="0" /> <xs:element name="ItemWidth" type="xs:decimal" minOccurs="0" /> <xs:element name="ItemLength" type="xs:decimal" minOccurs="0" /> <xs:element name="ItemHeight" type="xs:decimal" minOccurs="0" /> <xs:element name="TotalWidth" type="xs:decimal" minOccurs="0" /> <xs:element name="TotalLength" type="xs:decimal" minOccurs="0" /> <xs:element name="TotalHeight" type="xs:decimal" minOccurs="0" /> <xs:element name="HSCode" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerName" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Account" minOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="InternalAccountNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="NumberOfParcels" type="xs:int" minOccurs="0" /> <xs:element name="WeightUnitOfMeasure" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Incoterms" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="3" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="AirwayBillNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="OriginalATA" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerBuildingNumber" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerAddress1" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerAddress2" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerAddress3" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerCity" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerCounty" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerPostcode" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RetailerCountryCode" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PostageLabel" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ImageLink" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="200" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="EligibleForFreeShipping" type="xs:boolean" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema>