Created
February 16, 2017 19:22
-
-
Save faisal-ibrahim/6bf796965a172d655d0b451f07af74bc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * Created by PhpStorm. | |
| * User: Faisal | |
| * Website: www.faisal-ibrahim.info | |
| * Date: 2/12/2016 | |
| * Time: 10:07 AM | |
| */ | |
| if (isset($_POST['email'])) { | |
| $email = $_POST['email']; | |
| } else { | |
| $email = 'faisal.im048@gmail.com'; | |
| } | |
| $data = [ | |
| 'email' => $email, | |
| 'status' => 'subscribed', | |
| 'firstname' => 'Faisal', | |
| 'lastname' => 'Ibrahim' | |
| ]; | |
| $api_response_code = listSubscribe($data); | |
| echo $api_response_code; | |
| /** | |
| * Mailchimp API- List Subscribe added function.In this method we'll look how to add a single member to a list using the lists/subscribe method.Also, We will cover the different parameters for submitting a new member as well as passing in generic merge field information. | |
| * | |
| * @param array $data Subscribe information Passed. | |
| * | |
| * @return mixed | |
| */ | |
| function listSubscribe(array $data) | |
| { | |
| $apiKey = "cf8a1fd222a500f27f9e042449867c7c-us15";//your API key goes here | |
| $listId = "e8f3f5f880";// your trageted list ID | |
| $memberId = md5(strtolower($data['email'])); | |
| $dataCenter = substr($apiKey, strpos($apiKey, '-') + 1); | |
| $url = 'https://' . $dataCenter . '.api.mailchimp.com/3.0/lists/' . $listId . '/members/' . $memberId; | |
| $json = json_encode([ | |
| 'email_address' => $data['email'], | |
| 'status' => $data['status'], // "subscribed","unsubscribed","cleaned","pending" | |
| 'merge_fields' => [ | |
| 'FNAME' => $data['firstname'], | |
| 'LNAME' => $data['lastname'] | |
| ] | |
| ]); | |
| $ch = curl_init($url); | |
| curl_setopt($ch, CURLOPT_USERPWD, 'user:' . $apiKey); | |
| curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); | |
| curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
| curl_setopt($ch, CURLOPT_TIMEOUT, 10); | |
| curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); | |
| curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); | |
| curl_setopt($ch, CURLOPT_POSTFIELDS, $json); | |
| $result = curl_exec($ch); | |
| $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); | |
| curl_close($ch); | |
| return $httpCode; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment