samedi 25 avril 2015

Trouble adding groups on mailchimp api


I have an ajax form that is submitting the email address properly to mailchimp, but I can't figure out how to integrate groups.

Here's is my submit.php code:

<?php header("HTTP/1.1 200 OK");
if ((isset($_POST['email'])) && (strlen(trim($_POST['email'])) > 0)) 
$email = trim(stripslashes(strip_tags($_POST['email'])));
else
$email = '';
// download from http://ift.tt/1GiR0rR
require_once 'MCAPI.class.php';
$apikey = 'my-key';
$listId = 'my-list-id';
$apiUrl = 'http://ift.tt/1z0PZHy';
// create a new api object
$api = new MCAPI($apikey);

// Interest Groups
$merge_vars = array(
'groupings' => array(
    array(
        'name' => "How often?", 
        'groups' => array("subscribe for weekly inspiration","subscribe for daily inspiration")
    )
  )
);


if($email !== '') {
$return_value = $api->listSubscribe( $listId, $email, $merge_vars );
// check for error code
if ($api->errorCode){
echo "<p>Error: $api->errorCode, $api->errorMessage</p>";
} else {
  echo '<p>Well hello there!</p>';
  }
 }
?>

And here's my html ajax form:

<div id="form-container">
  <label for="email-address">Email address</label>
  <input type="email" id="email-address" name="email-address"  placeholder="Please enter your email." value="">   

<div id="interestTable">
    <div id="mergeRow-100-1" class="mergeRow dojoDndItem mergeRow-interests-checkboxes">
        <label>How often?</label>
        <div class="field-group groups">
            <ul class="interestgroup_field checkbox-group"> 
            <li class="below12"> <label class="checkbox" for="group_1"><input type="checkbox" id="group_1" name="group[1][1]" value="1"  class="av-checkbox"><span>subscribe for weekly inspiration</span> </label> </li>
            <li class="below12"> <label class="checkbox" for="group_2"><input type="checkbox" id="group_2" name="group[1][2]" value="1"  class="av-checkbox"><span>subscribe for daily inspiration</span> </label> </li> 
            </ul>
        </div>
    </div>

</div>

  <!-- for bots -->
  <div style="position: absolute; left: -6000px;"><input type="text" id="extra-info" name="extra-info" tabindex="-1" value=""></div>
  <button type="button" name="subscribe" id="subscribe">Submit</button>                            
</div>

 <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

<script>
  jQuery("#subscribe").click(function() {
  var email = jQuery("#email-address").val();
  var other_text = jQuery("#extra-info").val();
  // don't send if we have other text
  if(other_text === '') {
    if(email !== '')
      jQuery.ajax({
        type: "POST",
        async: true,
        data: { 
            email: email
            },
        url: "submit.php",
        dataType: "html",
        success: function (data)
          { jQuery("#form-container").html(data); },
        error: function (err)
          { alert(err.responseText);}
      });
  }
  });  
</script>    

Does anyone know what I'm missing or where I can look to figure it out?


Aucun commentaire:

Enregistrer un commentaire