2010-12-07 3 views
1

Cette question fait référence à l'encapsuleur PHP de l'API CampaignMonitor, fonction subscriberAddWithCustomFields().Campaignmonitor: Comment mettre à jour un champ multi-options (select many) en utilisant l'encapsuleur PHP

Dans le CampaignMonitor back-end j'ai créé un multi-option personnalisée (sélectionner plusieurs) champ appelé « Subscribedto » où l'utilisateur peut sélectionner (case à cocher) qui lettre qu'il aime recevoir: « Nouvelles & Mises à jour » et/ou 'Nouvelles des partenaires'. Maintenant, je voudrais mettre à jour ce champ en utilisant le wrapper API PHP, mais ne peux pas comprendre comment faire cela.

De ma base de données:
'Nouvelles & Mises à jour' peut être 0 ou 1
'Nouvelles des partenaires' peut être 0 ou 1

Ce qui suit ne fonctionne pas:

$extras = array('Subscribedto'=>array("News & Updates"=>0,"News from Partners"=>1)); 
$cm_res = $cm->subscriberAddWithCustomFields($email,$name, $extras); 
+0

Pouvez-vous nous faire connaître le contenu de la fonction de subscriberAddWithCustomFields? – Stoic

Répondre

3

Leur nouvelle API v3 facilite grandement cette tâche. Voir http://www.campaignmonitor.com/forums/viewtopic.php?id=5166 dans leurs forums pour une réponse.

Voici quelques exemples de code d'un de mes formes:

$wrap = new CS_REST_Subscribers($list_id, $api_key); 
     $result = $wrap->add(array(
      'EmailAddress' => $email, 
      'Name' => '', 
      'CustomFields' => array(
       array(
        'Key' => 'Events', 
        'Value' => 'Event 1' 
       ) 
      ), 
      'Resubscribe' => true 
     )); 

     //echo "Result of POST /api/v3/subscribers/{list id}.{format}\n<br />"; 
     if($result->was_successful()) { 
      $success = true; 
      $message = 'Cool! We\'ll be in touch soon.'; 
     } else { 
      $message = $result->response; 
     } 
Questions connexes