CopyPastor

Detecting plagiarism made easy.

Score: -1; Reported for: Open both answers

Possible Plagiarism

Reposted on 2017-02-16
by Faisal

Original Post

Original - Posted on 2017-02-15
by Faisal



            
Present in both answers; Present only in the new answer; Present only in the old answer;

For **`Batch subscribe`** try this below code.This is tested and 100% working code.
<?php $apikey = ''; // Your Mailchimp ApiKey $list_id = ''; // your List ID Where you want to add subscriber $servername = 'localhost'; $username = 'root'; $password = ''; $dbname = 'dada_mail_to_mailchimp'; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die('Connection failed: ' . $conn->connect_error); } $sql = 'SELECT * FROM emails Limit 2'; $result = $conn->query($sql); $finalData = []; if ($result->num_rows > 0) { // output data of each row while ($row = $result->fetch_assoc()) { $individulData = array( 'apikey' => $apikey, 'email_address' => $row['email'], 'status' => $row['status'],//subscribe,pending,unsubscribe 'merge_fields' => array( 'FNAME' => $row['FNAME'], 'LNAME' => $row['LNAME'], ) ); $json_individulData = json_encode($individulData); $finalData['operations'][] = array( "method" => "POST", "path" => "/lists/$list_id/members/", "body" => $json_individulData ); } } $api_response = batchSubscribe($finalData, $apikey); print_r($api_response); $conn->close(); /** * Mailchimp API- List Batch Subscribe added function * * @param array $data Passed you data as an array format. * @param string $apikey your mailchimp api key. * * @return mixed */ function batchSubscribe(array $data, $apikey) { $auth = base64_encode('user:' . $apikey); $json_postData = json_encode($data); $ch = curl_init(); $dataCenter = substr($apikey, strpos($apikey, '-') + 1); $curlopt_url = 'https://' . $dataCenter . '.api.mailchimp.com/3.0/batches/'; curl_setopt($ch, CURLOPT_URL, $curlopt_url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic ' . $auth)); curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/3.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_postData); $result = curl_exec($ch); return $result; }
If you Want to run ***Batch Subscribe on a List using Mailchimp API*** . Then you can use the below function.
/** * Mailchimp API- List Batch Subscribe added function * * @param array $data Passed you data as an array format. * @param string $apikey your mailchimp api key. * * @return mixed */ function batchSubscribe(array $data, $apikey) { $auth = base64_encode('user:' . $apikey); $json_postData = json_encode($data); $ch = curl_init(); $dataCenter = substr($apikey, strpos($apikey, '-') + 1); $curlopt_url = 'https://' . $dataCenter . '.api.mailchimp.com/3.0/batches/'; curl_setopt($ch, CURLOPT_URL, $curlopt_url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic ' . $auth)); curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/3.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_postData); $result = curl_exec($ch); return $result; }
Function Use And Data format for **Batch Operations**:
<?php $apikey = 'Your MailChimp Api Key'; $list_id = 'Your list ID'; $servername = 'localhost'; $username = 'Youre DB username'; $password = 'Your DB password'; $dbname = 'Your DB Name'; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die('Connection failed: ' . $conn->connect_error); } $sql = 'SELECT * FROM emails';// your SQL Query goes here $result = $conn->query($sql); $finalData = []; if ($result->num_rows > 0) { // output data of each row while ($row = $result->fetch_assoc()) { $individulData = array( 'apikey' => $apikey, 'email_address' => $row['email'], 'status' => 'subscribed', 'merge_fields' => array( 'FNAME' => 'eastwest', 'LNAME' => 'rehab', ) ); $json_individulData = json_encode($individulData); $finalData['operations'][] = array( "method" => "POST", "path" => "/lists/$list_id/members/", "body" => $json_individulData ); } } $api_response = batchSubscribe($finalData, $apikey); print_r($api_response); $conn->close(); Also, You can found this code in my Github gist. [GithubGist Link][2]
Reference Documentation: [Official][1]

[1]: http://developer.mailchimp.com/documentation/mailchimp/guides/how-to-use-batch-operations/ [2]: https://gist.github.com/faisalim048/fa4667ce93caeb35d36fa538906eb57f

        
Present in both answers; Present only in the new answer; Present only in the old answer;