हेलो, हेब्र! आज मैं इस बारे में बात करूँगा कि आप अपनी साइट पर mailchimp मेलिंग सेवा को कैसे एकीकृत कर सकते हैं।
सेवा कई अवसर प्रदान करती है:
- उन्नत ट्रैकिंग;
- उपयोगकर्ता चयन;
- सुंदर पत्र टेम्पलेट्स;
- सामाजिक नेटवर्क के साथ एकीकरण;
- Google Analytics के साथ एकीकरण;
- अपनी परियोजना के विकास पर समय की बचत।
इस सेवा के आधार पर, हमने लक्ष्य स्लाइस - विशिष्ट विक्रेताओं और उत्पाद श्रेणियों द्वारा विशेष प्रस्तावों का एक स्वचालित वितरण किया। आइए कार्यान्वयन की कुछ विशेषताओं के बारे में संक्षेप में बात करने का प्रयास करें।
उपयोगकर्ताओं की एक सूची बनाएँ।Mailchimp में मेलिंग लिस्ट उपयोगकर्ताओं की एक सूची के आधार पर बनाई गई है, इसलिए सबसे पहले, अपने व्यक्तिगत अकाउंट
mailchimp.com में , निम्न सूची बनाएं: सूचियाँ - सूची बनाएँ। मेरी सूची को "विशेष ऑफ़र" कहा जाता है, इसमें ऐसे उपयोगकर्ता होते हैं जो हमारे ऑनलाइन स्टोर के समाचार और प्रचार की सदस्यता लेते हैं। सूची बनाने के बाद, आपको एपीआई के माध्यम से इस सूची के साथ काम करने के लिए इसकी विशिष्ट संख्या: सूचियों - विशेष प्रस्तावों - सेटिंग्स - सूची सेटिंग्स और अद्वितीय आईडी का पता लगाना होगा।

आइए सूची में उपयोगकर्ता समूह बनाते हैं, मेरे मामले में ये विक्रेता और श्रेणियां हैं: सूची - विशेष ऑफ़र - समूह - दृश्य समूह
यहाँ, उदाहरण के लिए, विक्रेता अनुभाग:

समूह बनाते समय, आपको यह विचार करने की आवश्यकता है कि नाम के अतिरिक्त, कोई अतिरिक्त पैरामीटर नहीं हैं, और यह एक कनेक्शन के निर्माण को जटिल बनाता है
समूह और आपका डेटाबेस हम समूह के यौगिक नाम पर बसे, पहला भाग - संख्या - हमारे डेटाबेस में विक्रेता / श्रेणी कोड, दूसरा - प्रदर्शित विक्रेता / श्रेणी का नाम।
वैसे, समूहों को स्वयं 60 से अधिक नहीं बनाया जा सकता है, और यह महत्वपूर्ण जानकारी एपीआई तरीकों में से एक पर एक टिप्पणी के रूप में संग्रहीत है।
मेलिंग सूची में उपयोगकर्ताओं को आयात करें।आमतौर पर, उपयोगकर्ता सदस्यता फॉर्म के माध्यम से मेलिंग सूची में आते हैं, लेकिन आप उन्हें आयात तंत्र के माध्यम से एक बंडल में डाउनलोड कर सकते हैं। (सूची - विशेष प्रस्ताव - आयात।) "जहां" की संभावनाएं काफी बड़ी हैं, फाइलों, Google संपर्कों, दस्तावेजों आदि से आयात होता है। आप तुरंत कुछ समूहों में आयात कर सकते हैं।

कृपया ध्यान दें कि नि: शुल्क संस्करण में 2000 ग्राहकों की सीमा है, इसलिए यदि आप वहां अधिक ई-मेल पते अपलोड करते हैं, तो संदेश "आपने अपनी भेजने की सीमा को मारा है।" आपकी फॉरएवर फ्री योजना केवल तभी भेज सकती है जब आपकी कुल ग्राहक संख्या (सभी सूचियाँ संयुक्त हों) 2000 या उससे कम हों। पुनः सक्षम करने के लिए अपग्रेड करें ”और आप मेलिंग शुरू नहीं कर पाएंगे भले ही सभी ग्राहक मेलिंग में शामिल न हों, लेकिन केवल एक छोटा सा सेगमेंट।
इसके अलावा, आयात करने के बाद, आपको सबसे अधिक संदेश दिखाई देगा "हमारी समीक्षा टीम ने हाल ही में आपको कुछ प्रश्न ईमेल किए हैं। इससे पहले कि हम ईमेल अभियान भेजने के लिए आपके खाते को अनुमोदित कर सकें, हमें आपके उत्तर की आवश्यकता है। " यह आपको आपकी कंपनी के बारे में बताने के लिए कहता है, इंगित करता है कि आपको उपयोगकर्ता सूची कहां से मिलती है - सामान्य तौर पर, एक तरह के सत्यापन से गुजरते हैं। यहाँ इस बात की व्याख्या की गई है कि इस तरह के चेक की आवश्यकता क्यों है:
kb.mailchimp.com/article/why-is-my-account-under-reviewMailChimp APIउपयोगकर्ताओं की सूची बनाने के बाद, आप पहली मेलिंग सूची बनाना शुरू कर सकते हैं। Mailchimp कंट्रोल पैनल के माध्यम से मेल बनाने और चलाने से हमें कोई दिलचस्पी नहीं है, क्योंकि हमें एक स्वचालित प्रणाली की आवश्यकता है। इसलिए, हम तुरंत MailChimp API का अध्ययन करने जा रहे हैं।
वर्तमान में, API का संस्करण 1.3 है और यहाँ स्थित है:
apidocs.mailchimp.com/api/1.3लगभग सभी चीजें जो नियंत्रण कक्ष के माध्यम से की जा सकती हैं, वे एपीआई विधियों में लागू की जाती हैं और विभिन्न भाषाओं के लिए तैयार रैपर कक्षाओं का एक सेट है। यहाँ php के लिए है:
apidocs.mailchimp.com/api/downloads/#phpएपीआई के साथ काम करने के लिए, आपको एक कुंजी की आवश्यकता है जो आपके खाते में बनाई जा सकती है:

एपीआई के साथ काम करने का एक उदाहरण:
<?php require_once('MCAPI.class.php'); // API $apiKey = 'd43a8xxxxxxxxxxxxxxxxxc6867cbd-us4'; //ID $listId = '8e2xxxxx44'; $mailchimpAPI = new MCAPI($apiKey); // $groups = $mailchimpAPI->listInterestGroupings($listId); print_r($groups);
सेगमेंट।सेगमेंट एक सेवा के लिए एक महान अवसर है जो सूची में सभी उपयोगकर्ताओं के लिए एक समाचार पत्र शुरू करने के लिए नहीं है, बल्कि केवल उन लोगों के लिए है जो कुछ मानदंडों को पूरा करते हैं - उदाहरण के लिए, एक समूह, उपयोगकर्ता नाम या यहां तक कि स्थान।

स्क्रीनशॉट 3 अलग-अलग खंडों में उपयोगकर्ताओं का एक नमूना दिखाता है: समूह, भाषा, स्थान। सामान्य तौर पर, चयन काफी जटिल हो सकते हैं और यहां तक कि इस तरह के चयनों को बनाने के लिए एक अलग टूल भी बनाया गया था - हेयरबाल, यहां अधिक विवरण:
ब्लॉग.मेलचंपी /
introducing -hairball-an-air-app-for-real-complicated-mailchimp-
listsहमारी परियोजना में हम समूहों (विक्रेताओं / श्रेणियों) द्वारा केवल खंडों का उपयोग करते हैं। यहां समूह-आधारित समाचार पत्र बनाने का एक उदाहरण दिया गया है:
$opts= array( 'list_id' => $listId, 'from_email' => ' ', 'from_name' => ' ', 'tracking' => array('opens' => true, 'html_clicks' => true, 'text_clicks' => false), 'authenticate' => true, 'analytics' => array('google'=>'UA-XXXXXX-2'), 'subject' => ' ', 'title' => ' ', ); $content = array( 'html' => 'html ', 'text' => 'plain text ', ); $segmentGroups = array( 'match' => 'any', 'conditions' => array( array('field' => 'interests-5555', 'op' => 'all', 'value' => '17#ABBYY, 19#Adobe Systems, 20#McAfee Inc'), array('field' => 'interests-4444', 'op' => 'all', 'value' => '88#. , 99# , 77# '), ) );
$ Opts सरणी में, वितरण सेटिंग्स सेट की जाती हैं, $ सामग्री में संदेश, html और सादे पाठ की सामग्री होती है।
पैरामीटर $ सेगमेंट समूहों में, सूची से उपयोगकर्ता सेगमेंट के साथ एक विशेष रूप से बनाई गई सरणी होनी चाहिए।
यदि खंड एक समूह (हमारा मामला) है, तो खंड नाम में उपसर्ग 'रुचियों' से युक्त होना चाहिए- 'मूल समूह की ID (आमतौर पर समूह - समूहन), और मान अल्पविराम के साथ सूचीबद्ध समूहों के नाम होना चाहिए।
जैसा कि आप देख सकते हैं 5555 और 4444 मूल समूहों की आईडी हैं, हमारे मामले में, विक्रेताओं और श्रेणियों में।
आप सूची के माध्यम से रूट समूहों की सूची और समूहों की सभी जानकारी प्राप्त कर सकते हैं
$groups = $mailchimpAPI->listInterestGroupings($listId); print_r($groups);
apidocs.mailchimp.com/api/1.3/listinterestgroupings.func.phpयह देखा जा सकता है कि एपीआई कई खंडों में नमूने का समर्थन करता है। मेरे मामले में, ये 2 समूह हैं, और विभिन्न स्थितियों का भी समर्थन करते हैं, दोनों खंडों के बीच - कुंजी मिलान = "कोई" (या), मिलान = "सभी" (और), और खंडों के अंदर - कुंजी ऑप = "सभी" (पूर्ण मिलान) मूल्य में सूची के साथ), op = "एक" (मूल्य में सूची के साथ मैचों में से एक)।
apidocs.mailchimp.com/api/1.3/campaigncreate.func.phpचलो $ सामग्री सरणी पर लौटें - जहां पत्र का पाठ प्राप्त करना है?
कई स्थितियां हैं - उदाहरण के लिए, mailchimp व्यवस्थापक पैनल में प्रबंधक एक अच्छा पत्र टेम्पलेट चुन सकता है, और उनमें से कई हैं, पाठ को वांछित में संपादित करें, इसे "मेरे टेम्पलेट" में सहेजें। अगला, टेम्प्लेट () विधि, (http://apidocs.mailchimp.com/api/1.3/templates.func.php) के माध्यम से हम वांछित टेम्प्लेट की आईडी प्राप्त करते हैं और उसके आधार पर एक न्यूज़लेटर बनाते हैं (अभियान के $ opts सरणी में )Create () विधि, आपको निर्दिष्ट करने की आवश्यकता है प्रमुख template_id)।
लेकिन स्वचालित मेलिंग के मामले में, यह विकल्प उपयुक्त नहीं है, यदि केवल इसलिए कि हमें संदेश के पाठ को प्रोग्रामेटिक रूप से बदलने की आवश्यकता है, इसलिए हम अपने सर्वर पर आवश्यक टेम्प्लेट की सामग्री को स्टोर करते हैं, विशेष प्रस्तावों के ग्रंथों को बदलने के लिए ट्विग टेम्पलेट इंजन के लिए टैग जोड़ते हैं। यह सुविधाजनक है, अब टेम्प्लेट स्वयं संस्करण नियंत्रण प्रणाली में संग्रहीत हैं और आप लेआउट को तोड़ने से डर नहीं सकते।
अभियानक्रीट () विधि एक अभियान बनाएगी और अपनी आईडी लौटाएगी, यह अभियान स्वयं मेलचम्प कंट्रोल पैनल के अभियानों की सूची में देखा जा सकता है, और अभियान चलाने के बाद SendNow (), मेलिंग शुरू हो जाएगी और ईमेल भेजने शुरू हो जाएंगे।

आप भेजे गए मेलिंग पर रिपोर्ट देख सकते हैं। उदाहरण के लिए, एक परीक्षण समूह के वितरण पर एक रिपोर्ट:

परिणामस्वरूप, हमने एक स्क्रिप्ट लिखी है कि:
1. हमारे डेटाबेस से नए विशेष प्रस्तावों का चयन करता है
2. विशेष प्रस्तावों के चयन के आधार पर मेलचैंप में उपयोगकर्ता समूहों की खोज (विशेष ऑफ़र विक्रेता / श्रेणी से जुड़े होते हैं)
3. टॉप-एंड के ब्लॉक, अतिरिक्त विशेष ऑफ़र, एक प्रबंधक ब्लॉक, बैनर आदि के साथ, टेग टैग के साथ लेआउट के आधार पर पत्र के पाठ को उत्पन्न करता है।
4. समाचार पत्र शुरू करता है और अंतिम लॉन्च का समय नोट करता है
5. अगले दिन चरण 1 पर जाता है :)
न्यूज़लैटर सदस्यता फार्म।न्यूज़लेटर्स के लिए सदस्यता प्रपत्र के लिए सेवा पहले से ही उपलब्ध है, वे दृश्य संपादक के माध्यम से संपादित किए जा सकते हैं, फ़ील्ड जोड़ सकते हैं, विभिन्न भाषाओं के लिए अनुवाद कर सकते हैं या रंग योजनाओं को बदल सकते हैं, इस फॉर्म का स्रोत कोड प्राप्त कर सकते हैं और इसे अपनी साइट पर पेस्ट कर सकते हैं।

लेकिन हमें एक गतिशील रूप की आवश्यकता थी, जो उन पृष्ठों के आधार पर कुछ समूहों की सदस्यता लेता है जिन पर यह स्थित है।
हम एपीआई का उपयोग करेंगे।
एक उपयोगकर्ता की सदस्यता को 2 विधियों द्वारा दर्शाया गया है: listSubscribe - एक नए उपयोगकर्ता के लिए एक सदस्यता बनाएँ और listUpdateMember - उपयोगकर्ता की सदस्यता को अपडेट करें:
apidocs.mailchimp.com/api/1.3/listsubscribe.func.phpapidocs.mailchimp.com/api/1.3/listupdatemember.func.phpविधियाँ लगभग समान हैं, उदाहरण के लिए, मुख्य update_existing = सही सूचियों को निर्दिष्ट करना सूची में छोड़ें () सूची में जोड़ें ()
हम केवल सूची विधि पर विचार करेंगे, क्योंकि यह अधिक पूर्ण है:
$mailchimpAPI->listSubscribe($listId, $email, $mergeVars, $emailType, $doubleOptin, $updateExisting, $replaceGroups, $sendWelcome);
महत्वपूर्ण पैरामीटर:
• $ listId - उपयोगकर्ता सूची ID
• $ ईमेल - उपयोगकर्ता का मेलिंग पता जिसकी सदस्यता बनाने या अद्यतन करने की आवश्यकता है
• $ मर्जवार्स - म्यूटेबल डेटा के साथ एक सरणी, उदाहरण के लिए, समूह
• $ updateExisting - सदस्यता को अपडेट करें, अगर यह पहले से मौजूद है
• $ प्रतिस्थापन समूह - समूहों को प्रतिस्थापित करें यदि वे $ विलय में हैं या मौजूदा लोगों के साथ विलय करते हैं
उपयोगकर्ता समूहों को अपडेट करने के लिए, हमें $ mergeVars पैरामीटर की आवश्यकता है, जहां आईडी कुंजी रूट समूहों (विक्रेताओं और श्रेणियों) की आईडी है, और समूह कुंजी समूह नाम है, जो अल्पविराम द्वारा अलग किया गया है:
$mergeVars = array('GROUPINGS' => array( array( 'id' => '4444', 'groups' => '99# , 77# ' ), ));
हमने $ रिप्लेसमेंट में मौजूदा समूहों को नए लोगों के साथ जोड़ने के लिए $ रिप्लेसग्रुप = झूठ भी निर्धारित किया है।
नए लोगों के साथ समूहों को पूरी तरह से बदलने के लिए, आपको पहले $ रिप्लेसग्रुप = ट्रू सेट करना होगा, और दूसरी बात, $ मर्जवेर्स में, समूहों के खाली मानों के साथ रूट समूहों के पूरे ऐरे को स्वयं ट्रांसफर करें।
$mergeVars = array('GROUPINGS' => array( // array( 'id' => '4444', 'groups' => '99# , 77# ' ), // array( 'id' => '5555', 'groups' => '' ), // array( 'id' => '7777', 'groups' => '' ), ));
यही है, $ रिप्लेसग्रुप = सच्चा पैरामीटर एक ही रूट समूह के भीतर काम करता है, और सभी नहीं।
इस पद्धति का उपयोग करते हुए, हमने 2 फॉर्म विकल्प बनाए:
1. सभी उपयोगकर्ताओं के लिए - वर्तमान पृष्ठ के आधार पर, वितरण समूहों के लिए एक ईमेल फ़ील्ड और छिपे हुए फ़ील्ड के साथ सामान्य रूप।
2. आपके खाते में एक फॉर्म जहां उन समूहों के चेकबॉक्स की एक सूची है जहाँ से आप सदस्यता / सदस्यता समाप्त कर सकते हैं।
सूची की विशेषताएँ लिखें विधि:1. यदि सदस्यता नई है, तो उसका सारा प्रसंस्करण मेलचिंम्प सेवा में जाता है, एक पुष्टिकरण ईमेल भेजा जाता है, पुष्टि के बाद ग्राहक के प्रोफाइल पर एक लिंक दिया जाता है, जहां वह अपना डेटा संपादित कर सकता है, प्रोफ़ाइल फिर से मेलचिप्स वेबसाइट पर है।
2. यदि उपयोगकर्ता का ईमेल पहले से ही मेलिंग सूची में है, तो विधि एक त्रुटि उत्पन्न करेगी और व्यक्तिगत डेटा और ग्राहक समूहों को मैन्युअल रूप से संपादित करने का सुझाव देगी, प्रोफ़ाइल का लिंक $ mailchimpAPI-> errorMessage त्रुटि के पाठ में आएगा। सब्सक्रिप्शन अपडेट करने के लिए $ updateExisting = true - को निर्दिष्ट करना आवश्यक है, लेकिन इस कुंजी का उपयोग किसी और की सदस्यता को अधिलेखित करने के लिए भी किया जा सकता है, इसलिए यह अनधिकृत उपयोगकर्ता के लिए उपयुक्त नहीं है।
नतीजतन, हमें 2 समस्याएं हैं:
1. एक नए ग्राहक का सभी प्रसंस्करण हमारे साथ नहीं होता है, हम इसे प्रभावित नहीं कर सकते हैं, उदाहरण के लिए, वितरण समूह को बेनकाब करें।
2. यह स्पष्ट नहीं है कि अनधिकृत उपयोगकर्ता को सदस्यता का नवीनीकरण कैसे करना है, क्योंकि हम यह सुनिश्चित नहीं कर सकते हैं कि निर्दिष्ट ईमेल उसका है।
इसलिए, हमने सूची को सदस्यता पुष्टि पत्र भेजने से रोक दिया - पैरामीटर $ doubleOptin = false, $ sendWelcome = false और एक तंत्र लिखा:
1 - हमारी वेबसाइट पर सदस्यता फॉर्म भेजते समय एक यूनीक कन्फर्मेशन लिंक के साथ एक ईमेल भेजा जाता है।
2 - एक लिंक हैंडलर जो $ doubleOptin = false, $ sendWelcome = false, $ updateExisting = true का उपयोग करके किसी सदस्यता को कठोरता से बनाता या अपडेट करता है। अब हमें यकीन है कि निर्दिष्ट ईमेल वास्तव में एक अनधिकृत उपयोगकर्ता का है, क्योंकि वह अपने पत्र में लिंक पर क्लिक करता है।
यह समझा जाना चाहिए कि पैरामीटर $ doubleOptin = false हम बिना पुष्टि किए किसी भी उपयोगकर्ता की सदस्यता पर हस्ताक्षर / नवीनीकरण करते हैं, इसलिए इस दृष्टिकोण का उपयोग केवल वहीं किया जाना चाहिए जहां आप सुनिश्चित हों कि यह सदस्यता वर्तमान उपयोगकर्ता की है, उदाहरण के लिए, आपके व्यक्तिगत खाते में या किसी अनूठे लिंक पर क्लिक करते समय ।
संक्षेप में:Mailchimp मेलिंग के आधार पर, विशिष्ट सेगमेंट - विक्रेता समूहों और उत्पाद श्रेणियों के लिए स्वचालित मेलिंग की एक प्रणाली बनाना, विशिष्ट सेगमेंट के लिए सदस्यता और सदस्यता समाप्त फ़ॉर्म बनाना और पत्र टेम्पलेट को कस्टमाइज़ करना संभव है। सदस्यता / सदस्यता समाप्त करने के सभी तर्क आपकी वेबसाइट पर स्थानांतरित किए जा सकते हैं और अपने स्वयं के विवेक पर लागू किए जा सकते हैं, सेवा को ईमेल भेजने और आंकड़े एकत्र करने के लिए छोड़ दिया जाता है।
एंड्री राइबिन द्वारा पोस्ट किया गया - सॉफ्टलाइन डेवलपर