MailChimp API V2 ile Sisteme kullanıcı eklemek

Standard

Bir sisteminiz var ve üyeler otomatik olarak mailchimp te bulunan listeye eklensin istiyorsunuz.

Doğru düzgün döküman da bulmak sıkıntı derken burada bir bakmışsınız derdinizin dermanı 🙂

Öncelikli olarak mailchimp api v2 dosyalarını buraya tıklayarak indirelim..

API key ve List ID bilmeniz gerekiyor. Bunlar mailchimp in sitesinde zaten mevcut..

Öyleyse Hemen kodlara geçelim:

<?php
$api_key = "YOUR_API_KEY";
$list_id = "YOUR_LIST_ID";

require('Mailchimp.php');
$Mailchimp = new Mailchimp( $api_key );
$Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
$subscriber = $Mailchimp_Lists->subscribe( $list_id, array( 'email' => htmlentities($email) ) );

if ( ! empty( $subscriber['leid'] ) ) {
   echo "success";
}
else
{
    echo "fail";
}

?>

Tabi bu işlemi kayıt olduktan sonra eklediniz diyelim, yine listede gözükmeyecek çünkü çifte güvenlik onay mekanizması gibi bi olayı var mail chimp in o yüzden…

bunu da aşmak için parametreler ile gönderelim, yani:

$subscriber = $Mailchimp_Lists->subscribe( $list_id, array( 'email' => htmlentities($email)),null,'html',false);

En son gönderdiğimiz parametre yani false ile bu iş tamamdır.. Direk yolladığınız kişi sisteme eklenecektir.

Herkese iyi çalışmalar..

Print Friendly, PDF & Email
Facebooktwitterlinkedin

3 thoughts on “MailChimp API V2 ile Sisteme kullanıcı eklemek

  1. iyi günler opencart tabanlı internet sitesi oluşturdum temanın kendisinde e bülten özelligi ve mailchimp api ekleme yeri var apiyi ekledim fakat bu en son yazdıgınız kodu girmem gerekiyor galiba görünmüyor çünkü deneme maillerim nereye eklemem gerekiyor newsletter.php dosyalarınada baktım içlerinde api yada ona benzer birşey bulamadım

    • Onur Canalp

      opencart hakkında hiç bilgim yok. Ama eğer bunun için bir modül yaptılarsa kendi içinde bu özelliği barındırıyor olması lazım. Forumlarında bunla ilgili bilgi mevcuttur. opencart forumlarına bakmanızı öneririm.

  2. aslında onur bey opencart a ait mailchimp entegrasyonları var ama kullanışlı degiller kullanışlı olanlarda yüksek fiyatları var ben şimdi php kodlarına ulaştım nereye nasıl yapıştırmam gerekiyor son verdiginiz kodu.
    protected function mailchimpAction($setting) {
    // Check mailchimp setting
    if(empty($setting[‘key’])) {
    $this->error = $this->language->get(‘error_setting’);
    return false;
    }

    $api = new MCAPI($setting[‘key’]);

    // Check mailchimp init
    if(empty($api)) {
    $this->error = $this->language->get(‘error_mailchimp’);
    return false;
    }

    // Check mailchimp list_id
    if(empty($setting[‘list_id’])) {
    $this->error = $this->language->get(‘error_mailchimp_list’);
    } else {
    $mail = $this->request->post[‘subscribe’];
    $merge = array(
    ‘FNAME’ => ‘Email’,
    ‘LNAME’ => ‘ :’ . $mail,
    );

    $retval = $api->listSubscribe($setting[‘list_id’], $mail, $merge);

    if ($api->errorCode) {
    switch ($api->errorCode)
    {
    case 214:
    $this->error = sprintf($this->language->get(‘error_mail_existing’), $mail);
    break;
    default:
    $this->error = $api->errorCode . ‘ – ‘ . $api->errorMessage;
    }

    } else {
    $this->success = $this->language->get(‘success’);
    }
    }
    }

    protected function validate() {
    $mail = isset($this->request->post[‘subscribe’]) ? $this->request->post[‘subscribe’] : ”;
    if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
    return true;
    } else {
    $this->error = $this->language->get(‘error_email’);
    return false;
    }
    }

    private function translate($texts, $language_id)
    {
    if (is_array($texts))
    {
    $first = current($texts);

    if (is_string($first))
    {
    $texts = empty($texts[$language_id]) ? $first : $texts[$language_id];
    }
    else if (is_array($texts))
    {
    if (!isset($texts[$language_id]))
    {
    $texts[$language_id] = array();
    }

    foreach ($first as $key => $value)
    {
    if (empty($texts[$language_id][$key]))
    {
    $texts[$language_id][$key] = $value;
    }
    }
    }
    }

    return $texts;
    }
    }
    ?>

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.