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 Affiliates/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.

 

 

Feed Setup: Within CAKE, each ecommerce offer is related to an Advertiser or Merchants 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.

 

Publisher Product Feed Setup:

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

 

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

 

When you select Add Feed, you can select the Offer youd like to tie it to and click Create.

 

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 youd 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.

 

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, lets 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 youd 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.

 

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.

 

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 youre 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, lets 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.

 

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


api_key (string) REQUIRED affiliate_id (int) REQUIRED exportfeedid (int) REQUIRED updates_since(DateTime) REQUIRED | | | Possible Responses: __ creativefeedresponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xmlns="http://cakemarketing.com/affiliates/api/2/" successtrue/success rowcount1282/rowcount creatives creativefeedinfo creativeid658/creativeid creativenameGray Head/creativename creativetypeEmail/creativetype dateadded2009-12-21T17:39:09.93/dateadded expirationdate xsi:nil="true"/ uniquelink http://devtrk.cakemarketing.com/?a=5816oc=266c=658m=6s1= /uniquelink mediaurl http://dev.cakemarketing.com/affiliates/dc.ashx?ac=28251c=658d=1key=951fc169-0aec-41fa-9b7f-4fb6b7b4a3d1 /mediaurl height xsi:nil="true"/ width xsi:nil="true"/ offerlinkhttp://www.taxsettlements.com/2//offerlink /creativefeedinfo creativefeedinfo creativeid664/creativeid creativenameBuried in Debt/creativename creativetypeEmail/creativetype dateadded2010-01-04T11:07:54.723/dateadded expirationdate xsi:nil="true"/ uniquelink http://devtrk.cakemarketing.com/?a=5816oc=348c=664m=6s1= /uniquelink mediaurl http://dev.cakemarketing.com/affiliates/dc.ashx?ac=28288c=664d=1key=951fc169-0aec-41fa-9b7f-4fb6b7b4a3d1 /mediaurl height xsi:nil="true"/ width xsi:nil="true"/ offerlinkhttp://www.debt-nation.us//offerlink /creativefeedinfo /creatives /creativefeedresponse |


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

api_key (string) REQUIRED affiliate_id (int) REQUIRED start_date (date) REQUIRED end_date (date) REQUIRED offer_id (int) REQUIRED |

 

 

1 = Beginning row_limit (int) REQUIRED 0 = No limit **** |

 

Possible Responses:

successtrue/success rowcount1/rowcount summary price22.26555000000000/price ordertotal70.3670/ordertotal currencysymbol$/currencysymbol /summary conversions conversion conversionid221D4853/conversionid orderidorder-12345/orderid conversiondate2011-06-24T11:51:05.117/conversiondate storefrontABC Store/storefront offerid100/offerid offername$100 Bendy's Gift Card + Free Frosti/offername campaignid1781/campaignid subid1111770/subid1 subid2/ subid3/ subid4/ subid5/ price15.0000/price ordertotal70.3670/ordertotal dispositionVoicemail matches name/disposition testfalse/test currencysymbol/currencysymbol ordercurrencysymbol$/ordercurrencysymbol /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

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

 

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:

 

successtrue/success rowcount2/rowcount orderdetails orderdetail conversionid393990/ conversion _id orderidorder 1003/orderid skucodeClassroom Navy BG Princess Seam Jumper - 6/skucode skunameClassroom Navy BG Princess Seam Jumper - 6/skuname productnameClassroom Navy BG Princess Seam Jumper - 10 Plus/productname categorynameApparel Dresses Dresses Jumpers/categoryname mastercategoryname Apparel Accessories Clothing Baby Toddler Clothing Baby Toddler Dresses /mastercategoryname quantity2/quantity lineitemdiscount0.00000000000000/lineitemdiscount lineitemsubtotal25.98000000000000/lineitemsubtotal payoutrulenameBaby Dresses and Baby Shoes/payoutrulename /orderdetail orderdetail conversionid393991/ conversion id orderidorder 1003/orderid skucodeClassroom Navy BG Princess Seam Jumper - 58/skucode skunameClassroom Navy BG Princess Seam Jumper - 58/skuname productnameClassroom Navy BG Princess Seam Jumper - 20 Plus/productname categorynameApparel Dresses Dresses Jumpers/categoryname mastercategoryname Apparel Accessories Clothing Baby Toddler Clothing Baby Toddler Dresses /mastercategoryname quantity2/quantity lineitemdiscount0.00000000000000/lineitemdiscount lineitemsubtotal55.98000000000000/lineitemsubtotal /orderdetail /orderdetails /orderdetail_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

api_key (string) REQUIRED affiliate_id (int) REQUIRED change_since (date) REQUIRED includenewconversions (bool) 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:

 

successtrue/success rowcount2/rowcount orderdetails orderdetail conversionid393990/ conversion _id orderidorder 1003/orderid skucodeClassroom Navy BG Princess Seam Jumper - 6/skucode skunameClassroom Navy BG Princess Seam Jumper - 6/skuname productnameClassroom Navy BG Princess Seam Jumper - 10 Plus/productname categorynameApparel Dresses Dresses Jumpers/categoryname mastercategoryname Apparel Accessories Clothing Baby Toddler Clothing Baby Toddler Dresses /mastercategoryname quantity2/quantity lineitemdiscount0.00000000000000/lineitemdiscount lineitemsubtotal25.98000000000000/lineitemsubtotal /orderdetail orderdetail conversionid393991/ conversion id orderidorder 1006/orderid skucodeClassroom Navy BG Princess Seam Jumper - 58/skucode skunameClassroom Navy BG Princess Seam Jumper - 58/skuname productnameClassroom Navy BG Princess Seam Jumper - 20 Plus/productname categorynameApparel Dresses Dresses Jumpers/categoryname mastercategoryname Apparel Accessories Clothing Baby Toddler Clothing Baby Toddler Dresses /mastercategoryname quantity2/quantity lineitemdiscount0.00 000000000000/lineitemdiscount lineitemsubtotal55.98000000000000/lineitemsubtotal /orderdetail /orderdetails /orderdetail_response |

 

 

Add Link Creative APIAdd 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

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:

 

successtrue/success creativeid2850/creativeid /addlinkcreative_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

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:

 

successtrue/success orderinquiryid4311/orderinquiryid /SubmitOrderInquiryResponse |

 

 

Order Inquiry Status API


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

api_key (string) REQUIRED affiliate_id (int) REQUIRED start_date (datetime) REQUIRED end_date (datetime) REQUIRED orderinquiryid (int) OPTIONAL You must pass 0 to return all. Any value other than 0 causes startdate, enddate, orderid, and customerid to be ignored. order_id (string) OPTIONAL customer_id (string) OPTIONAL | | startatrow (int) REQUIRED 1 = Beginning row_limit (int) REQUIRED 0 = No Limit |

 

Possible Responses:

 

successtrue/success rowcount1/rowcount inquiries ordinquiry orderinquiryid5411/orderinquiryid orderidJ0034778/orderid customerid / storefrontnameACME.com/storefrontname inquirynotesPayment was wrong. Should have been $13.44/inquirynotes inquirydate2013-06-11T14:33:41.767/inquirydate disposition dispositiontype dispositiontypeid1/dispositiontypeid dispositiontypenamePending/dispositiontypename /dispositiontype dispositionnamePending Approval/dispositionname dispositiondate2013-06-19T09:07:21.118/dispositiondate /disposition conversionid22870/conversionid /ordinquiry /inquiries /orderinquiry_response |