Specification of import XML feeds for owlcure mailing

For connecting to owlcure mailing, you need to provide several feeds with customers, products and orders data. Based on these data owlcure mailing is predicting which products could be interesting for users. This specification is the just general interface, for each customer there could be another data which are unique in their custom solution.

Products feed

Contain information about products which will be used in email templates in automatically generated email parts.

We use same XML feed as heureka specified here.

You can add voluntary tags for us.

REGULAR_PRICE

To this tag, you can add information about price before sale if the product is discounted.

RETENTION

If the product is usually sold repatetly, you can specify the average interval between orders of one piece of product.

RATING

Average rating of the product. Generally the float number from 0 to 5.

RATING_VOTES

The number of people who rates product.

ITEMGROUP_ID

If you have several variants of the same product, you can join them by ITEMGROUP_ID.

ITEMGROUP_NAME

Name of ITEMGROUP joined by ITEMGROUP_ID.

INVENTORY_QUANTITY

Current quantity of product in inventory. Value is strictly an integer.

PARAM

For additional parameters like size, web labels, etc. You have to specify PARAM_NAME and VAL. In below example, you can see two size parameters (L, XL) and web label 'Best sell'. You can also specify VAL_ID for given VAL, if you want to use it for real-time filtering measurement.

Example of product xml feed

<?xml version="1.0" encoding="utf-8"?>
<SHOP>
 <SHOPITEM>
  <ITEM_ID>123001</ITEM_ID>
  <PRODUCTNAME>Owlcure T-shirt M</PRODUCTNAME>
  <CATEGORYTEXT>Clothes | Men | T-shirts</CATEGORYTEXT>
  <DESCRIPTION>T-shirt for everyday wearing</DESCRIPTION>
  <MANUFACTURER>Adidas</MANUFACTURER>
  <URL>https://owlcure.com/shirts/123</URL>
  <IMGURL>https://owlcure.com/images/shirt-123</IMGURL>
  <IMGURL_ALTERNATIVE>https://owlcure.com/alts/shirt-123</IMGURL_ALTERNATIVE>
  <PRICE>19.90</PRICE>
  <REGULAR_PRICE>29.90</REGULAR_PRICE>
  <RATING>4.5</RATING>
  <RATING_VOTES>9110</RATING_VOTES>
  <INVENTORY_QUANTITY>14</INVENTORY_QUANTITY>
  <ITEMGROUP_ID>123</ITEMGROUP_ID>
  <ITEMGROUP_NAME>Owlcure T-shirt</ITEMGROUP_NAME>
  <PARAM>
   <PARAM_NAME>SIZE</PARAM_NAME>
   <VAL>M</VAL>
   <VAL_ID>14321</VAL_ID>
  </PARAM>
  <PARAM>
   <PARAM_NAME>WEB</PARAM_NAME>
   <VAL>Best sell</VAL>
  </PARAM>
 </SHOPITEM>
 <SHOPITEM>
 ...
 </SHOPITEM>
</SHOP>

Users feed

Feed of users for importing to Owlcure Platform.

The best way how to create import with users is with random part of the name. There also should be the GET parameters:

parameter limit limits number of results

parameter offset sets first returned result

parameter days specifies from how many previous days are data downloaded

For example
http://www.mywebsite.com/e3242mads343k-users.php?days=7&limit=100&offset=200 should return users who were created or modified in the past week, from 200 position in list to 299.

USERS

The root element of XML file. Contains all users.

USER

The element contains data for the user.

USER_ID

Unique identification of the user.

NAME

First name and last name of the user.

BIRTH_DATE

Birthdate of the user. In format YYYY-MM-DD.

SEX

Sex of user. In format M or F.

EMAIL

Email address of the user.

CREATED_AT

Date and time when the user was registered to the newsletter. In format YYYY-MM-DD hh:mm:ss.

GROUPS

List of groups, where user will be assigned. If you are usign Owlcure Mailing, you should set up the group of users who accepts marketing e-mails.

Example of users xml feed

<?xml version="1.0" encoding="utf-8"?>
<USERS>
 <USER>
  <USER_ID>121</USER_ID>
  <NAME>John Smith</NAME>
  <BIRTH_DATE>1980-03-31</BIRTH_DATE>
  <SEX>M</SEX>
  <EMAIL>john.smith@owlcureexample.com</EMAIL>
  <CREATED_AT>2016-08-28 19:45:15</CREATED_AT>
  <GROUPS>
   <GROUP>Newsletter</GROUP>
   <GROUP>B2B</GROUP>
  </GROUPS>
 </USER>
 <USER>
 ...
 </USER>
</USERS>

Orders feed

Orders feed should contain information about orders for providing enough data to learn our algorithms predict similarities among products.

Best way how to create import with orders is with random part of name. There also should be the GET parameters:

parameter limit limits number of results

parameter offset sets first returned result

parameter days specifies from how many previous days are data downloaded

For example
http://www.mywebsite.com/e3242mads343k-orders.php?days=7&limit=100&offset=200 should return orders which were created or modified in past week, from 200 position in list to 299.

ORDERS

Root element of XML file. Contains all orders.

ORDER

Element contains data for order.

ORDER_ID

Unique identification of order.

CREATED_AT

Date and time of finished order. In format YYYY-MM-DD hh:mm:ss.

USER_ID

Identification of user who finished order.

ITEMS

Element contains all things in order.

ITEM

Contain one item in order.

ITEM_ID

Identification of item.

PRICE

Price of one piece of item paid in order.

QUANTITY

Number of pieces of item in order.

SALE

Percentage of sale when the item was on sale.

Example of orders feed

<?xml version="1.0" encoding="utf-8"?>
<ORDERS>
 <ORDER>
  <ORDER_ID>521</ORDER_ID>
  <CREATED_AT>2016-08-28 19:45:15</CREATED_AT>
  <USER_ID>10</USER_ID>
  <ITEMS>
   <ITEM>
    <ITEM_ID>25</ITEM_ID>
    <PRICE>599.0</PRICE>
    <QUANTITY>2</QUANTITY>
    <SALE>0.2</SALE>
   </ITEM>
   <ITEM>
    <ITEM_ID>27</ITEM_ID>
    <PRICE>299.0</PRICE>
    <QUANTITY>1</QUANTITY>
    <SALE>0</SALE>
   </ITEM>
  </ITEMS>
 </ORDER>
 <ORDER>
 ...
 </ORDER>
</ORDERS>

Abandoned cart feed

It should be in the similar format like orders feed but only with orders which weren’t finished. It also contains these other elements.

Best way how to create import with abandoned cart is with random part of name. There also should be the GET parameters:

parameter limit limits number of results

parameter offset sets first returned result

parameter days specifies from how many previous days are data downloaded

For example
http://www.mywebsite.com/e14542mads283k-abandoned-carts.php?days=7&limit=100&offset=200 should return carts which were created or modified in past week, from 200 position in list to 299.

UPDATED_AT

Date and time of last modification of the order. In format YYYY-MM-DD hh:mm:ss.

BASKET_URL

URL where the user can find this unfinished order in his basket.

Example of abandoned cart feed

<?xml version="1.0" encoding="utf-8"?>
<ORDERS>
 <ORDER>
  <ORDER_ID>521</ORDER_ID>
  <CREATED_AT>2016-08-28 19:45:15</CREATED_AT>
  <UPDATED_AT>2016-08-29 16:41:32</UPDATED_AT>
  <USER_ID>10</USER_ID>
  <BASKET_URL>http://www.sampleeshop.com/carts/11d868082aa70da0083</BASKET_URL>
  <ITEMS>
   <ITEM>
    <ITEM_ID>25</ITEM_ID>
    <PRICE>599.0</PRICE>
    <QUANTITY>2</QUANTITY>
    <SALE>0.2</SALE>
   </ITEM>
   <ITEM>
    <ITEM_ID>27</ITEM_ID>
    <PRICE>299.0</PRICE>
    <QUANTITY>1</QUANTITY>
    <SALE>0</SALE>
   </ITEM>
  </ITEMS>
 </ORDER>
 <ORDER>
 ...
 </ORDER>
</ORDERS>