2012-01-06 12 views
15

मैं वर्तमान पीएचपी, संस्करण 1.3.1 (http://apidocs.mailchimp.com/api/downloads/#php)MailChimp एपीआई पीएचपी - रुचि समूह

मैं MailChimp में एक सूची को सेट कर लेने के लिए MailChimp एपीआई का उपयोग कर रहा हूँ में जोड़े, और गतिशील रूप से जोड़ना चाहते हैं: सूची में

  1. सदस्य (किया: $objMailChimp->listBatchSubscribe($strMailingListID, ...))
  2. ब्याज ग्रुपिंग (किया: $objMailChimp->listInterestGroupingAdd($strMailingListID, ...))
  3. ब्याज समूह उन समूहों में (किया: $objMailChimp->listInterestGroupAdd($strMailingListID, ...))
  4. 0,123,
  5. सदस्य प्रासंगिक समूह (नहीं किया) करने के लिए सौंपा

एपीआई (http://apidocs.mailchimp.com/api/1.3/#listrelated) कैसे एक ब्याज समूह के लिए एक ग्राहक जोड़ने के तरीके पर कुछ हद तक स्पष्ट नहीं है - है किसी को भी यहाँ किसी भी विचार है?

उत्तर

4

MailChimp API v3 के लिए

वी 3 के रूप में, 'ग्रुपिंग्स' को 'रुचियों' में बदल दिया गया है।

आपको उस समूह (रुचि) की आईडी पता लगाना है जिसे आप जोड़ना चाहते हैं। दुर्भाग्य से यह MailChimp डैशबोर्ड पर कहीं भी नहीं पाया जा सकता है।

'हित' आईडी पता लगाने के लिए (बजाय एक स्क्रिप्ट बनाने की तुलना में) सबसे आसान तरीका है, MailChimp playground और उसके बाद के लिए जाने की अपनी API कुंजी, मार्ग में प्रवेश करने के बाद है ...

सूचियों > सवाल> रुचि-श्रेणियों में सूची (उप-संसाधनों ड्रॉपडाउन में)

फिर ...

हितों रुचि श्रेणी के लिए (उप-संसाधनों ड्रॉपडाउन में)

तो ...

ब्याज के लिए और 'आईडी' फ़ील्ड को देखें, अन्य आईडी क्षेत्रों

या

सूचियों अनदेखी के माध्यम से क्लिक करें> प्रश्न में सूची> सदस्यों (उप-संसाधन ड्रॉपडाउन में)

तब ...

लोड (कार्रवाई ड्रॉपडाउन में) किसी भी सदस्य के लिए

या

सदस्य (बटन)

बनाएं पेज सदस्य के विवरण लोड होगा। जब तक आप 'रुचियां' सरणी/वस्तु नहीं देखते हैं तब तक नीचे स्क्रॉल करें। वहां आप आईडी देखेंगे। ध्यान दें कि उन्हें सही या गलत पर सेट किया जा सकता है।

आपको यह पता लगाना होगा कि कौन सी आईडी पिछले विधि के बारे में जाकर या कॉल करने के द्वारा 'समूह'/'रुचि' से संबंधित है, और फिर अपने MailChimp डैशबोर्ड के माध्यम से सदस्य के विवरण को देखकर।


तो जब यह वास्तव में पोस्ट कॉल ('सदस्य' बनाने) बनाने की बात आती है, तो आप की तर्ज पर कुछ चाहते हैं ...

{ 
    "email_address":"[email protected]", 
    "status":"subscribed", 
    "interests": { 
    "b8a9d7cbf6": true, 
    "5998e44916": false 
    }, 
# ADDITIONAL FIELDS, IF REQUIRED... 
    "merge_fields":{ 
    "FNAME": "foo bar", 
    "LNAME": "foo bar", 
    "MERGE3": "foo bar", 
    "MERGE4": "foo bar" 
    } 
} 

एक PUT कॉल ('सदस्य' संपादन) उदाहरण ...

{ 
    "interests": { 
    "b8a9d7cbf6": false, 
    "5998e44916": true 
    } 
} 

ऐसा लगता है कि आप हर 'हित', और राज्य की घोषणा करनी चाहिए कि क्या यह सही या ग़लत है ।

+1

मैं इस रूप में के बाद से स्वीकार किए जाते हैं अंकन कर रहा हूँ एपीआई v3 पर ले जाया गया है। यदि आपको v2 के समाधान की आवश्यकता है, तो ट्रेवर गेहमैन के उत्तर पर स्क्रॉल करें। इसे पोस्ट करने के लिए धन्यवाद, क्रिमबो – Joe

+0

कोई समस्या नहीं! एक [एपीआई गाइड] (http://developer.mailchimp.com/documentation/mailchimp/reference/overview/) के अलावा अभी भी कोई आधिकारिक दस्तावेज नहीं है। तो आपको अनुमान लगाने के लिए छोड़ दिया गया है कि क्या करता है – Crimbo

2

उपयोग GROUPINGS मर्ज var: समूहीकरण द्वारा

सेट ब्याज समूह। इस सरणी में प्रत्येक तत्व होना चाहिए जिसमें "समूह" पैरामीटर वाला एक सरणी है जिसमें एक अल्पविराम जोड़ने के लिए ब्याज समूहों की सीमित सूची शामिल है। ब्याज समूह नामों में कॉमा बैकस्लैश से बच निकले जाने चाहिए। यानी, "" => "\" और या तो एक "आईडी" या "नाम" पैरामीटर समूहीकरण निर्दिष्ट करने के लिए - से listInterestGroupings()

+0

जो विधि है कि में उपलब्ध है? – Joe

+0

शायद यह एक http://apidocs.mailchimp.com/api/1.3/listupdatemember.func.php हो सकता है? ;) – shybovycha

+0

, 2.0 भी या सिर्फ 1.3 – Chapsterj

8

मिल रहा काम करने के लिए इस पृष्ठ पर अन्य उत्तर नहीं मिल सका । यहां सम्मिलन वार्स कि मैं का इस्तेमाल किया था है:

$merge_vars = array(
    'GROUPINGS' => array(
     0 => array(
      'id' => "101", //You have to find the number via the API 
      'groups' => "Interest Name 1, Interest Name 2", 
     ) 
    ) 
); 
+0

केवल समाधान है कि मेरे लिए भी काम किया के लिए जाँच नहीं की थी एपीआई – rosswil

+1

हाँ, यह काम करता है। मुझे यह पता लगाना था कि 'आईडी' का क्या अर्थ था - यह ब्याज समूह LIST आईडी है। मैं नीचे अपना कोड पोस्ट करूंगा। – Urs

+0

वही है। महत्वपूर्ण बात समूह के भीतर सरणी कुंजी है। जब तक मुझे आपका जवाब नहीं मिला, तब तक मैंने इस पर एक घंटे बिताए। अफसोस की बात है, एपीआई ने अन्यथा अपवाद नहीं फेंक दिया। –

2

यहाँ कोड मैं

require_once 'MCAPI.class.php'; 
require_once 'config.inc.php'; //contains apikey 

// use this once to find out id of interest group List 
//$retval = $api->listInterestGroupings($listId); 
//echo '<pre>'; 
//print_r($retval); 
//echo '</pre>'; 
//die(); 

$emailAddress = '[email protected]'; 
//You have to find the number via the API (id of interest group list) 
$interestGroupListId = FILLMEIN; 

$api = new MCAPI($apikey); 

// Create an array of Interest Groups you want to add the subscriber to. 
$mergeVars = array(
    'GROUPINGS' => array(
     0 => array(
      'id' => $interestGroupListId, 
      'groups' => "FILL IN GROUP NAMES", 
     ) 
    ) 
); 

// Then use listUpdateMember to add them 
$retval = $api->listUpdateMember($listId, $emailAddress, $mergeVars); 

if ($api->errorCode){ 
    echo "Unable to update member info!\n"; 
    echo "\tCode=".$api->errorCode."\n"; 
    echo "\tMsg=".$api->errorMessage."\n"; 
} else {  
    echo "Returned: ".$retval."\n"; 
} 
21

काम करने के लिए MailChimp के एपीआई के संस्करण 2.0 के रूप में मिल गया है, यह काम करना चाहिए:

$merge_vars = array(
    'GROUPINGS' => array(
     array(
      'name' => "GROUP CATEGORY #1", // You can use either 'name' or 'id' to identify the group 
      'groups' => array("GROUP NAME","GROUP NAME") 
     ), 
     array(
      'name' => "GROUP CATEGORY #2", 
      'groups' => array("GROUP NAME") 
     ) 
    ) 
); 

स्रोत: http://apidocs.mailchimp.com/api/2.0/lists/subscribe.php

एक barebones PHP wrapper (https://github.com/drewm/mailchimp-api/) का उपयोग करके आप कर सकते हैं या तो सूचियों/सदस्यता लें या सूचियों/बैच से सदस्यता ले के माध्यम से MailChimp को यह अंत:

$MailChimp = new MailChimp('API_KEY'); 
$result = $MailChimp->call('lists/subscribe', array(
     'id'    => 'LIST ID', 
     'email'    => array('email'=>'[email protected]'), 
     'merge_vars'  => $merge_vars 
)); 
+0

अंदर सरणी इस एक के रूप में सही तो अन्य लोगों ने यहां उतरने इसे देख अंकन के लिए निर्दिष्ट करने गया था। APIv2 संस्करण पोस्ट करने के लिए धन्यवाद :) – Joe

+0

लगता है जैसे आप अपने सरणी तत्वों में अल्पविराम खो रहे हैं। मुझे उपरोक्त कोड में कोई त्रुटि नहीं दिखाई दे रही है। अपना पोस्ट करें और मैं एक नज़र डाल सकता हूं। –

+0

धन्यवाद @TrevorGehman, किसी भी तरह मैं समूहों के अंदर जा रहा है समूहों की पूरी गतिशील याद किया, इस यह स्पष्ट किया और काम मेरे बाद के चरणों मिला है। –

0

यह भी ध्यान रखें कृपया listUpdateMember की वैकल्पिक लेकिन बहुत महत्वपूर्ण पिछले पैरामीटर, डिफ़ॉल्ट रूप से replace_interests यह सही पर सेट किया है, तो यह किसी भी ऊपर लिख देगा आपके द्वारा अपडेट किए जा रहे उपयोगकर्ता की सदस्यता अतीत में हो सकती थी। यदि आप पिछले लोगों को छूने वाले नए लोगों को जोड़ना नहीं चाहते हैं तो बस नए समूह नाम को पास करें जिसे आप जोड़ना चाहते हैं और replace_interests को झूठी में सेट करना चाहते हैं।

$api = new MailChimp('API_KEY'); 
$pArray = array('GROUPINGS'=>array(
         array('name'=>'GROUP CATEGORY', 'groups'=>'group1,group2'), 
       ) 
    ); 
if (is_array($pArray)) { 
     $api->listUpdateMember($pListId, $pEmail, $pArray, '', false); 
} 
0

उदाहरण DrewM's MailChimp wrapper और सरणियों (PHP 5.4+) के लिए आशुलिपि सिंटैक्स का उपयोग add to groups:

$merge_vars = [ 
    'GROUPINGS' => array(
     0 => [ 
      'id' => 12345, // need grouping ID 
      'name' => 'Interests', // or name instead 
      'groups' => [ 'cars', 'trucks' ] 
     ] 
    ] 
]; 

$mc = new MailChimp('API_KEY'); 
$mc->call(
     'lists/subscribe', [ 
      'id'    => '9876', // list ID 
      'email'    => array[ 'email' => '[email protected]' ], 
      'merge_vars'  => $merge_vars, 
      'double_optin'  => true, 
      'update_existing' => true, 
      'replace_interests' => false, // do you want to add or replace? 
      'send_welcome'  => false, 
     ] 
    ); 

आप 'नाम' या 'आईडी' समूहीकरण की जरूरत है, दोनों आवश्यक नहीं हैं।समूहीकरण आईडी उपयोग पाने के लिए: lists/interest-groupings

2

यह Justins जवाब की एक विविधता है लेकिन कोशिश कर यह सब ऊपर केवल एक ही मैं DrewM के MailChimp आवरण

$merge_vars = array(
    'GROUPINGS' => array(
     0 => array(
      'id' => '[GROUP_LIST_ID]', // need grouping ID 
      'name' => '[OR_GROUP_LIST_NAME]', // or name instead 
      'groups' => array('[GROUP_NAME_1]', '[GROUP_NAME_2]') 
     ) 
    ), 
); 

$mc = new MailChimp('[YOUR_MAILCHIMP_API]'); 
$mc->call(
     'lists/subscribe', array(
      'id'    => '[YOUR_LIST_ID]', // list ID 
      'email'    => array('email' => '[email protected]'), 
      'merge_vars'  => $merge_vars, 
      'double_optin'  => true, 
      'update_existing' => true, 
      'replace_interests' => false, // do you want to add or replace? 
      'send_welcome'  => false, 
     ) 
    ); 

के साथ काम करने के लिए आप के अनिश्चित हैं, तो हो सकता है है अपने समूह आईडी सूचीबद्ध करता है और इसका इस्तेमाल करना चाहते हैं तो आप कॉल कर सकते हैं:

$current_groupings = $mc->call('lists/interest-groupings', array(
       'id' => '[GROUP_LIST_ID]', 
      )); 
var_dump($current_groupings); 
संबंधित मुद्दे