This onboarding document will provide details on the CAKE Publisher tools available to you for day to day management of your Ecommerce program.  You will find instructions on how to leverage the CAKE publisher portal and the various feeds and APIs.   This guide is organized into four sections:

1     Affiliate – Product and Creative Feeds

In order for Publishers to pull product and creative (offer) related information, CAKE offers an easy to use, flexible export wizard.  CAKE supports multiple export methods, and Publishers can get their data in one of two methods – by creating a feed through the CAKE Publisher portal or through an API call.

 File Formats

CAKE supports currently supports CSV formats on export.   CAKE can work directly with your operational team to set up the feed export process.

Feed Setup Process

Through the Publisher portal, setting up a feed is a simple, wizard driven process. 

Login:  First step is to sign into the publisher portal with your user credentials.

 

 1-11-2014_10-20-14_AM.png

Feed Setup:  Within CAKE, each ecommerce offer is related to an Advertiser or Merchant’s product catalog.  This enables CAKE to leverage that catalog to create custom payout rules based on brand, category or sku.

On the main Publisher portal page, you can select “Feeds” from the left navigation.  This will show you the grid where you can create the two feed types.  On the top are your available Product Feeds.  Below it lists the Creative Feeds.

 1-11-2014_1-42-53_PM.png

 Publisher Product Feed Setup:

In order to set up a Product Feed, simply click the “Add Feed” button on the upper right hand corner.

 1-11-2014_1-43-39_PM.png

You can also go to the “Offers” option, select the offer for your feed and then select “Product Feed” from the Offer Card.

1-11-2014_1-44-23_PM.png

When you select “Add Feed”, you can select the Offer you’d like to tie it to and click “Create”.

 1-11-2014_1-56-54_PM.png

The “Create Feed” card will then open and you can begin the feed creation process.  You first enter in the “Feed Name” – this can be any descriptor you’d like and it is best practice to name it something distinct and easily identifiable.  The “Storefront” field will be prepopulated and is tied to storefront catalog created by the CAKE admin.

In order to create your Product feed, you need to enter a unique Feed Name, determine a feed type – CSV and include/exclude categories.

 1-11-2014_1-57-32_PM.png

You can filter the feed at three levels – the storefront categories, brands or skus.  Each tab will be populated with the imported data and you can include or exclude items by simply clicking the “+” (for include) or “-“ (for exclude). 

For example, let’s say you wanted to include all skus under the “Toy Kitchen” category, with the exception of skus from the “Hasbro” brand.  You simply add the “Toy Kitchen” category from the “Categories” tab and then exclude “Hasbro” from the “Brands” tab.

Also, on the upper right hand side of the Feed card, you can check/uncheck certain fields that you’d like to include in your feed.  By default, all available fields are checked.

You also have the option to select a delivery schedule.  You can set up a delivery schedule by clicking the “Delivery Option” button.  When the Delivery Options window opens, you can set a file name, delivery method (FTP), login credentials and select a schedule – Frequency (daily, every 12 hours, etc.) a specific time and a start date.

 1-11-2014_2-12-34_PM.png

Once the feed has been configured properly, you can click “Save” and it will then automatically appear on the “Feeds” section.  From here, you can click “Download” to grab your feed manually or retrieve it automatically via the CAKE API.

2     Affiliate – Creative Feeds

In order to set up a Creative Feed, simply click the “Add Feed” button on the upper right hand corner.

 1-11-2014_2-13-37_PM.png

In order to create your Creative feed, you need to enter a unique Feed Name, determine a feed type – CSV and include/exclude categories.

Each creative is grouped by category and you can filter your feed to include just those categories you’re targeting.  The categories tab is populated with the imported data and you can include or exclude items by simply clicking the “+” (for include) or “-“ (for exclude). 

For example, let’s say you wanted to include all creatives under the “Toy Kitchen” category, you simply add the “Toy Kitchen” category from the “Categories”.

Once the feed has been configured, you also have the option to select a delivery schedule.  You can set up a delivery schedule by clicking the “Delivery Option” button.  When the Delivery Options window opens, you can set a file name, delivery method (FTP), login credentials and select a schedule – Frequency (daily, every 12 hours, etc.) a specific time and a start date.

 1-11-2014_2-14-23_PM.png

Once the feed has been configured properly, you can click “Save” and it will then automatically appear on the “Feeds” section.  From here, you can click “Download” to grab your feed manually or retrieve it automatically via the CAKE API.

3     Affiliate – API Access

Along with configuring and downloading publisher feeds from the portal, you also have the option of retrieving Creative Feed via CAKE API and the product feed via persistent link.  When retrieving your Creative feed through the API, you can leverage:

CreativeFeed (Offer Feed)

Sample Creative Feed:

API URL: http://<admindomain.com>/affiliates/api/2/offers.asmx/CreativeFeed

Accepted GET or POST parameters

api_key (string)                    REQUIRED

affiliate_id (int)                    REQUIRED

export_feed_id (int)            REQUIRED

updates_since(DateTime)    REQUIRED

 

 

Possible Responses:

 

<creative_feed_response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xmlns="http://cakemarketing.com/affiliates/api/2/">

<success>true</success>

<row_count>1282</row_count>

       <creatives>

              <creative_feed_info>

                     <creative_id>658</creative_id>

                     <creative_name>Gray Head</creative_name>

                     <creative_type>Email</creative_type>

                     <date_added>2009-12-21T17:39:09.93</date_added>

                     <expiration_date xsi:nil="true"/>

                     <unique_link>

                           http://devtrk.cakemarketing.com/?a=5816&oc=266&c=658&m=6&s1=

                     </unique_link>

                     <media_url>

                           http://dev.cakemarketing.com/affiliates/dc.ashx?ac=28251&c=658&d=1&key=951fc169-0aec-41fa-9b7f-4fb6b7b4a3d1

                     </media_url>

                     <height xsi:nil="true"/>

                     <width xsi:nil="true"/>

                     <offer_link>http://www.taxsettlements.com/2/</offer_link>

              </creative_feed_info>

              <creative_feed_info>

                     <creative_id>664</creative_id>

                     <creative_name>Buried in Debt</creative_name>

                     <creative_type>Email</creative_type>

                     <date_added>2010-01-04T11:07:54.723</date_added>

                     <expiration_date xsi:nil="true"/>

                     <unique_link>

                           http://devtrk.cakemarketing.com/?a=5816&oc=348&c=664&m=6&s1=

                     </unique_link>

                     <media_url>

                           http://dev.cakemarketing.com/affiliates/dc.ashx?ac=28288&c=664&d=1&key=951fc169-0aec-41fa-9b7f-4fb6b7b4a3d1

                     </media_url>

                     <height xsi:nil="true"/>

                     <width xsi:nil="true"/>

                     <offer_link>http://www.debt-nation.us/</offer_link>

              </creative_feed_info>

       </creatives>

</creative_feed_response>

 

Conversion, Order Detail, and Order Detail Change API

CAKE provides extensive order reconciliation APIs which allows you to retrieve, in real time, specific order and order detail information. 

Note:  Assuming order detail information is enabled by the CAKE administrator, you can leverage these APIs to retrieve that detail.

Conversions API

CAKE provides a Conversions API, which allows Publishers to access order level  transactional information.

API URL: http://<admindomain.com>/affiliates/api/5/reports.asmx/Conversions

Accepted GET or POST parameters

 

api_key (string) REQUIRED

affiliate_id (int) REQUIRED

start_date (date) REQUIRED

end_date (date) REQUIRED

offer_id (int) REQUIRED

 

0 – Returns All Campaigns

 

start_at_row (int) REQUIRED

1 = Beginning

row_limit (int) REQUIRED

0 = No limit

 

 

Possible Responses:

<conversion_response>

       <success>true</success>

       <row_count>1</row_count>

       <summary>

              <price>22.26555000000000</price>

              <order_total>70.3670</order_total>

              <currency_symbol>$</currency_symbol>

       </summary>

       <conversions>

              <conversion>

                     <conversion_id>221D4853</conversion_id>

                     <order_id>order-12345</order_id>

                     <conversion_date>2011-06-24T11:51:05.117</conversion_date>

                     <storefront>ABC Store</storefront>

                     <offer_id>100</offer_id>

                     <offer_name>$100 Bendy's Gift Card + Free Frosti</offer_name>

                     <campaign_id>1781</campaign_id>

                     <subid_1>111770</subid_1>

                     <subid_2/>

                     <subid_3/>

                     <subid_4/>

                     <subid_5/>

                     <price>15.0000</price>

                     <order_total>70.3670</order_total>

                     <disposition>Voicemail matches name</disposition>

                     <test>false</test>

                     <currency_symbol>€</currency_symbol>

                     <order_currency_symbol>$</order_currency_symbol>

              </conversion>

       </conversions>

</conversion_response>

 

 

 

Note: End Date is calculated according to server time, meaning 12 AM Midnight at the beginning of the specified end date. For example, specifying a date range of January 1 through January 7 will return all activity logged during the six, 24-hour periods that occurred from January 1 to January 6. Always specify one day later than desired to return the correct records for the needed date range.

Order Detail API

CAKE provides an Order Detail API, which allows Publishers to access the most accurate transactional order detail information.

API URL: http://<admindomain.com>/affiliates/api/2/reports.asmx/OrderDetails

Accepted GET or POST parameters

api_key (string) REQUIRED

affiliate_id (int) REQUIRED

order_id (string) REQUIRED

start_date (date) REQUIRED

end_date (date) REQUIRED

conversion_id (int) REQUIRED

0 – Returns All Campaigns

  order_id (string) REQUIRED

 

start_at_row (int) REQUIRED

1 = Beginning

row_limit (int) REQUIRED

0 = No limit

sort_field (string) REQUIRED

Available sort strings:

conversion_id

order_id

sku_code

sort_descending (bool) REQUIRED

 

Possible Responses:

 

<order_detail_response>

       <success>true</success>

       <row_count>2</row_count>

       <order_details>

              <order_detail>

                     <conversion_id>393990</ conversion _id>

                     <order_id>order 1003</order_id>

                     <sku_code>Classroom Navy BG Princess Seam Jumper - 6</sku_code>

                     <sku_name>Classroom Navy BG Princess Seam Jumper - 6</sku_name>

                     <product_name>Classroom Navy BG Princess Seam Jumper - 10 Plus</product_name>

                     <category_name>Apparel > Dresses > Dresses > Jumpers</category_name>

                     <master_category_name>

                     Apparel & Accessories > Clothing > Baby & Toddler Clothing > Baby & Toddler Dresses

                     </master_category_name>

                     <quantity>2</quantity>

                     <line_item_discount>0.00000000000000</line_item_discount>

                     <line_item_subtotal>25.98000000000000</line_item_subtotal>

                     <payout_rule_name>Baby Dresses and Baby Shoes</payout_rule_name>

              </order_detail>

              <order_detail>

                     <conversion_id>393991</ conversion _id>

                     <order_id>order 1003</order_id>

                     <sku_code>Classroom Navy BG Princess Seam Jumper - 58</sku_code>

                     <sku_name>Classroom Navy BG Princess Seam Jumper - 58</sku_name>

                     <product_name>Classroom Navy BG Princess Seam Jumper - 20 Plus</product_name>

                     <category_name>Apparel > Dresses > Dresses > Jumpers</category_name>

                     <master_category_name>

                     Apparel & Accessories > Clothing > Baby & Toddler Clothing > Baby & Toddler Dresses

                     </master_category_name>

                     <quantity>2</quantity>

                     <line_item_discount>0.00000000000000</line_item_discount>

                     <line_item_subtotal>55.98000000000000</line_item_subtotal>

              </order_detail>

       </order_details>

</order_detail_response>

 

 

 

Note: End Date is calculated according to server time, meaning 12 AM Midnight at the beginning of the specified end date. For example, specifying a date range of January 1 through January 7 will return all activity logged during the six, 24-hour periods that occurred from January 1 to January 6. Always specify one day later than desired to return the correct records for the needed date range.

Order Detail Change API

CAKE provides an Order Detail Change API, which allows Publishers to access any new transactional order information.

API URL: http://<admindomain.com>/affiliates/api/2/reports.asmx/OrderDetailChanges

Accepted GET or POST parameters

 

api_key (string) REQUIRED

affiliate_id (int) REQUIRED

change_since (date) REQUIRED

include_new_conversions (bool) REQUIRED

 

 

start_at_row (int) REQUIRED

1 = Beginning

row_limit (int) REQUIRED

0 = No limit

sort_field (string) REQUIRED

Available sort strings:

conversion_id

sku_code

sort_descending (bool) REQUIRED

 

Possible Responses:

 

<order_detail_response>

       <success>true</success>

       <row_count>2</row_count>

       <order_details>

              <order_detail>

                     <conversion_id>393990</ conversion _id>

                     <order_id>order 1003</order_id>

                     <sku_code>Classroom Navy BG Princess Seam Jumper - 6</sku_code>

                     <sku_name>Classroom Navy BG Princess Seam Jumper - 6</sku_name>

                     <product_name>Classroom Navy BG Princess Seam Jumper - 10 Plus</product_name>

                     <category_name>Apparel > Dresses > Dresses > Jumpers</category_name>

                     <master_category_name>

                     Apparel & Accessories > Clothing > Baby & Toddler Clothing > Baby & Toddler Dresses

                     </master_category_name>

                     <quantity>2</quantity>

                     <line_item_discount>0.00000000000000</line_item_discount>

                     <line_item_subtotal>25.98000000000000</line_item_subtotal>

              </order_detail>

              <order_detail>

                     <conversion_id>393991</ conversion _id>

                     <order_id>order 1006</order_id>

                     <sku_code>Classroom Navy BG Princess Seam Jumper - 58</sku_code>

                     <sku_name>Classroom Navy BG Princess Seam Jumper - 58</sku_name>

                     <product_name>Classroom Navy BG Princess Seam Jumper - 20 Plus</product_name>

                     <category_name>Apparel > Dresses > Dresses > Jumpers</category_name>

                     <master_category_name>

                     Apparel & Accessories > Clothing > Baby & Toddler Clothing > Baby & Toddler Dresses

                     </master_category_name>

                     <quantity>2</quantity>

                     <line_item_discount>0.00 000000000000</line_item_discount>

                     <line_item_subtotal>55.98000000000000</line_item_subtotal>

              </order_detail>

       </order_details>

</order_detail_response>

 

 

 

Add Link Creative API

Add Link Creative API

CAKE provides the ability to add Creative Links via API.  This will allow you to generate a creative ID and then deeplink to a specific product or landing page.

API URL: http://<admindomain.com>/api/2/offers.asmx/AddLinkCreative

Accepted GET or POST parameters

api_key (string)                               REQUIRED

affiliate_id (int)                               REQUIRED

campaign_id (int)                           REQUIRED

creative_name (string)               REQUIRED

offer_link (string)                          REQUIRED

description (string)     OPTIONAL

 

 

 

 

Possible Responses:

 

<add_link_creative_response>

<success>true</success>

<creative_id>2850</creative_id>

</add_link_creative_response>

 

 

 

 

Submit Order Inquiry and Order Inquiry Status API

If you are a Loyalty or Cashback Publisher, you understand the importance of correct and timely attribution for orders generated on the merchant site.  If you have an incorrectly attributed order, this can cause issues with commission payments both for your site as well as your end customers.  CAKE offers an easy method to manage Order Inquiries via the API.  You can submit an Order Inquiry as well as query the status of pending Order Inquiries.

Submit Order Inquiry API

API URL: http://<admindomain.com>/api/2/inquiries.asmx/SubmitOrderInquiry

Accepted GET or POST parameters

api_key (string)                    REQUIRED

affiliate_id (int)                    REQUIRED

offer_id (int)                          REQUIRED

order_id (string)                                  REQUIRED

customer_id (string)          OPTIONAL

inquiry_notes (string)       OPTIONAL

 

 

 

 

Possible Responses:

 

<SubmitOrderInquiryResponse>

<success>true</success>

<order_inquiry_id>4311</order_inquiry_id>

</SubmitOrderInquiryResponse>

 

 

 

 

Order Inquiry Status API

API URL: http://<admindomain.com>/api/2/inquiries.asmx/OrderInquiries

Accepted GET or POST parameters

api_key (string)                    REQUIRED

affiliate_id (int)                    REQUIRED

start_date (datetime)        REQUIRED

end_date (datetime)          REQUIRED

order_inquiry_id (int)        OPTIONAL

You must pass 0 to return all. Any value other than 0 causes start_date, end_date, order_id, and customer_id to be ignored.

order_id (string)                                  OPTIONAL

customer_id (string)          OPTIONAL

 

start_at_row (int)         REQUIRED

1 = Beginning

row_limit (int)          REQUIRED

0 = No Limit

 

Possible Responses:

 

<order_inquiry_response>

       <success>true</success>

       <row_count>1</row_count>

       <inquiries>

              <ord_inquiry>

                     <order_inquiry_id>5411</order_inquiry_id>

                     <order_id>J0034778</order_id>

                     <customer_id />

                     <storefront_name>ACME.com</storefront_name>

                     <inquiry_notes>Payment was wrong. Should have been $13.44</inquiry_notes>

                     <inquiry_date>2013-06-11T14:33:41.767</inquiry_date>

                     <disposition>

                           <disposition_type>

                                  <disposition_type_id>1</disposition_type_id>

                                  <disposition_type_name>Pending</disposition_type_name>

                           </disposition_type>

                           <disposition_name>Pending Approval</disposition_name>

                           <disposition_date>2013-06-19T09:07:21.118</disposition_date>

                     </disposition>

                     <conversion_id>22870</conversion_id>

              </ord_inquiry>

       </inquiries>

</order_inquiry_response>