---- dataentry ----
type : integration # do not change this line
systems : ConstantContact.
name : Add customers to mailing list.
description : Allow customers to 'opt in' to your Constant Contact mailing list during checkout.
tags_tags : mailing list, emarketing
date_dt : 2008-05-21
version : 1
developer_url : http://themancan.com
----
====== ConstantContact ======
===== Description =====
Constant Contact... everyone's got it, it's the standard, so why not plug your FoxyCart into it for some hands-off customer subscription power?
This script uses the FoxyCart XML datafeed to automatically add customers to one of your Constant Contact mailing lists, if the the customer checks the opt-in checkbox during checkout. (The opt-in could easily be changed to an opt-out, but isn't generally recommended.)
===== Requirements =====
* PHP4 or later, built with the XML extensions (you've probably got 'em).
* A [[http://www.constantcontact.com|ConstantContact]] account.
===== Installation =====
- Set up a list in your Constant Contact account.
- [[http://github.com/phred/constantfoxy/tarball/master|Download the latest tarball]] from the constantfoxy git repository on github. Alternatively, you may use git, if that's the way you roll. Alternative to the alternative: {{:integration:constantfoxy.zip|download right from the Foxy wiki}}. The goods are in fc-constantcontact.php Included for good measure are a PHP4-compatible XML parser, RC4 decryption library, and test harness.
- Upload all 4(!) files to a folder your web server. Customize this block at the top of fc-constantcontact.php:
// ...
$ConstantContact_Auth = array(
'user' => 'username', // Replace "username" with your Constant Contact username
'pass' => 'password' // Replace "password" with your Constant Contact password
);
$ListName = 'My Awesome List!'; // The exact name of your list in Constant Contact.
/**
* Use a custom field during checkout? If true, check for the presence of $Custom_Field below.
* If false, always subscribe the customer. Use wisely.
*/
$Use_Custom_Field = true;
$Custom_Field = 'Subscribe'; // Name of the custom "Opt In" field during checkout.
$Custom_Field_Value = 'yes'; // The value of the custom field that indicates the customer's agreement.
$key = 'CHANGE THIS TEXT to your own datafeed keyphrase'; // Make up something random and 30+ characters. This is the encryption key that your XML is encrypted using, and you'll use it below as well.
// ...
- Point FoxyCart to http://www.your-domain.com/path/to/fc-constantcontact.php
- Log into your FoxyCart admin and go to Store -> Datafeed.
- Check the checkbox to turn the datafeed on, enter a SUPER SECRET datafeed key and copy it to your configuration.
- Enter the URL to ''fc-constantcontact.php'' (e.g. ''http://your.domain.dom/path/to/fc-constantcontact.php'') that you uploaded as described above.
- Save your settings.
- TEST! It should work, but give it a test transaction to make sure. Enter your datafeed key and the URL of your ''fc-constantcontact.php'' into ''test.xmldatafeed.php'', then open ''http://your.domain.dom/path/to/test.xmldatafeed.php'' in your browser. You should get a page that contains only the word ''foxy'' in reply. If you get something else, double-check your datafeed keys in both files and, if all else fails, pop on by the forums.
- Don't panic. You're done!
==== Code =====
[[http://github.com/phred/constantfoxy/tarball/master|Download the Very Latest]] from
[[http://github.com/phred/constantfoxy/tree/master|the constantfoxy github repository]]. Alternatively, {{:integration:constantfoxy.zip|download right from the Foxy wiki}}.