【问题标题】:mailchimp api 2.0 subscribe through php?mailchimp api 2.0 通过 php 订阅?
【发布时间】:2013-08-27 22:56:13
【问题描述】:

我需要一个示例,说明如何将电子邮件地址订阅到 mailchimp 时事通讯。

请在此处查看新的 api 链接: https://bitbucket.org/mailchimp/mailchimp-api-php

这是新的 malichimp api,我不知道如何使用它。 :(

对于 MailChimp 2.0 API,不适用于 1.3。

请有人提供有关如何为用户订阅 mailchimp 的示例。

谢谢。

Edit1:已尝试以下代码,但无法正常工作:

$merge_vars = array('MM1'=>$mm1);
$MailChimp = new Mailchimp($apikey);
$result = $MailChimp->call('lists/subscribe', array(
            'id'                => $listid,
            'email'             => array('email'=>$email),
            'merge_vars'        => $merge_vars,
            'double_optin'      => false,
            'update_existing'   => true,
            'replace_interests' => false,
            'send_welcome'      => false,
        ));
    print_r($result);

但不工作。抛出以下错误: 致命错误:在第 22 行的 subscribe.php 中对非对象调用成员函数 call()

【问题讨论】:

标签: php mailchimp


【解决方案1】:

参考文档,应该是这样的:

$merge_vars = array('MM1'=>$mm1);
$listid = 'YOURLISTID';
$MailChimp = new Mailchimp($apikey);
$result = $MailChimp->lists->subscribe($listid,
                                        array('email'=>"contact@twittstrap.com"),
                                        $merge_vars,
                                        false,
                                        true,
                                        false,
                                        false
                                       );
    print_r($result);

经过测试并且可以正常工作。

【讨论】:

  • 什么是 $mm1?在 $merge_vars
  • 列表ID是用户订阅的列表,创建新列表后可以在mailchimp中找到。
【解决方案2】:

这可能对一些简单的带有 php 的 mailchimp 订阅者 API 代码示例有所帮助

mailchimp subscriber API code example in PHP

【讨论】:

    【解决方案3】:

    这里是 Try & Catch(当 dup 电子邮件示例)

    header('Content-Type: application/json');
    include_once 'Mailchimp.php';
    
    $api_key = '';
    $list_id = '';
    
    
    $email = 'hello@email.com';
    $merge_vars = array();
    
    $Mailchimp = new Mailchimp($api_key);
    $Mailchimp_Lists = new Mailchimp_Lists($Mailchimp);
    
    try{
        $subscriber = $Mailchimp_Lists->subscribe(
            $list_id,
            array('email'=>htmlentities($email)),
            $merge_vars,
            false,
            false,
            false,
            false
        );
        echo json_encode(array('status' => !empty($subscriber['leid'])?'submitted':'error'));
    } catch(Mailchimp_Error $e){
        echo json_encode(array(
                'status' => 'error',
                'message' => $e->getMessage()
            ));
    }
    

    阅读有关subscribe() 的更多信息:https://apidocs.mailchimp.com/api/2.0/lists/subscribe.php

    【讨论】:

      【解决方案4】:

      使用 curl 通过 php 订阅。

      $apikey     = 'xxxxxxxxxx'; //your apikey
      $listId     = 'xxxxxxxxxx';  // your list id
      $endpoint   = "http://yourdatacenter.api.mailchimp.com/3.0/lists/";      // find your datacenter in your apikey( xxxxxxxxxxxxxxxxxxxxxxxx-us13 <= this is your datacenter)
      $auth       = base64_encode( 'user:'. $apikey );
      $data       = array(
                          'apikey'        => $apikey,
                          'email_address' => 'yourvalid_email_address',
                          'status'        => 'subscribed',
                          'merge_fields'  => array());
      
      $json_data = json_encode($data);
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $endpoint.$listId.'/members/');
      curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
                                                  'Authorization: Basic '.$auth));
      curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_TIMEOUT, 10);
      curl_setopt($ch, CURLOPT_POST, true);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
      $result = curl_exec($ch);
      
      echo "<pre>";  // Response form mailchimp
      print_r(json_decode($result,true));
      

      【讨论】:

        【解决方案5】:

        这是一个例子,可能对某些人有帮助。

        mailchimp subscriber api example

        【讨论】:

        • OP 说“对于 MailChimp 2.0 API,而不是 1.3。”
        猜你喜欢
        • 2014-07-12
        • 2014-02-19
        • 2013-12-14
        • 2018-05-31
        • 2016-06-12
        • 1970-01-01
        • 2014-09-29
        • 2019-02-28
        • 2013-11-09
        相关资源
        最近更新 更多