简体   繁体   English

mailchimp api 2.0通过php订阅?

[英]mailchimp api 2.0 subscribe through php?

I need an example of how to subscribe a email address to mailchimp newsletter. 我需要一个如何订阅mailchimp简报的电子邮件地址的示例。

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

This is new malichimp api and I am not sure how to use it. 这是新的applehimp api,我不知道如何使用它。 :( :(

For MailChimp 2.0 API, not for 1.3. 对于MailChimp 2.0 API,不适用于1.3。

Please somebody provide an example on how to subscribe user to mailchimp. 请有人提供一个如何订阅用户mailchimp的示例。

Thank You. 谢谢。

Edit1: Already tried following code, but not working: 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);

But not working. 但不行。 Throwing following error: Fatal error: Call to a member function call() on a non-object in subscribe.php on line 22 抛出以下错误:致命错误:在第22行的subscribe.php中的非对象上调用成员函数call()

Referring to the documentation, this should be like so: 参考文档,这应该是这样的:

$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);

Tested and working. 经过测试和工作。

this might be helpful for some, simple mailchimp subscriber API code sample with php 这可能对一些简单的mailchimp用户API代码示例有用

mailchimp subscriber API code example in PHP PHP中的mailchimp订阅者API代码示例

Here is with Try & Catch (example for when dup emails) 以下是Try&Catch(重复电子邮件时的示例)

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()
        ));
}

Readmore about subscribe() : https://apidocs.mailchimp.com/api/2.0/lists/subscribe.php 关于subscribe()https//apidocs.mailchimp.com/api/2.0/lists/subscribe.php

Subscribe through php using curl. 使用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));

Here is example may it helpful for some one. 这是一个例子,可能对某些人有帮助。

mailchimp subscriber api example mailchimp订户api示例

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM