The most important two calls are getDeals and getMerchants.
Before you begin your integration make sure you take a look at the Quick Tips for helpful information that will make your integration go more smoothly.
Here are two ways to process the FMTC Deals feed:
Full Feed Process - Flowcharts - This is best used to populate your database and, if necessary, sync your internal database to the active couponIDs in our feed. Using the getDeals HTTP call with no arguments delivers the entire database of deals for merchants that are selected for inclusion in your feed. When processing the full feed, only couponIDs with the status of 'active' and with an 'expired' time in the future should be displayed on your site. If you are processing the feed for the first time, ignore any couponIDs that don't have the status 'active'. If you are processing the feed for the purpose of syncing your database with the feed any coupon IDs with a status other than 'active' should be removed. Likewise, any couponIDs you previously received from FMTC that are no longer found in the full feed should be removed.
Incremental Process - Flowcharts - This is the ideal solution for keeping your internal database up-to-date with FMTC.
Here are some notes on processing the feed incrementally.
Querying the getDeals API with the &incremental=1 switch will return to you all the couponIDs that have been inserted, updated, or deleted since your last download. As you process the downloaded couponIDs, pay special attention to any couponID with the status of 'expired' or 'deleted'. These can be removed immediately from your database and must be prevented from displaying to visitors. Any couponIDs with the status of 'active' and not in your local databases should be inserted.
If a couponID comes in the incremental feed and is already in your database, it is an updated deal and we are letting you know that the couponID should be updated in your system. In this case, you can look to the Change Audit field to determine which field(s) changed since your last download.
For example, "Categories Change" denote that the "Categories" field has changed, "Expiration Date Change" denotes that the ExpirationDate field has changed.