Reputation: 1639
I write this function:
public function mailchimp() {
$email = '[email protected]';
$first_name = 'Test';
$last_name = 'Test';
$api_key = 'dfrgergredgdfgdfgdfgdfg-us9'; // YOUR API KEY
// server name followed by a dot.
// We use us13 because us13 is present in API KEY
$server = 'us9.';
$list_id = '718943'; // YOUR LIST ID
$auth = base64_encode( 'user:'.$api_key );
$data = array(
'apikey' => $api_key,
'email_address' => $email,
'status' => 'subscribed',
'merge_fields' => array(
'FNAME' => $first_name,
'LNAME' => $last_name
)
);
$json_data = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://'.$server.'api.mailchimp.com/3.0/lists/'.$list_id.'/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);
$result_obj = json_decode($result);
// printing the result obtained
echo $result_obj->status;
echo '<br>';
echo '<pre>'; print_r($result_obj); echo '</pre>';
}
but I got this result (404 error) and I dont know what to do and where I'm wrong:
404
stdClass Object
(
[type] => http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/
[title] => Resource Not Found
[status] => 404
[detail] => The requested resource could not be found.
[instance] => 637c9154-9999-48d2-952f-e994b737a9b7
)
What is the problem here? Why I get 404 error? I don't see the error in my code anywhere. How I can solve this issue?
I use Laravel 5.1 Sorry for my English!
Upvotes: 1
Views: 1723
Reputation: 690
It looks like it's related to your list ID. I'm not sure if you've replaced your real list ID in the question, but its format should look something like z1593c999e
rather than only numbers. The list ID required for the API is different from the one you'd see in the URL when viewing your list in MailChimp.
To find this, you can follow these steps from MailChimp's knowledgebase:
- Navigate to the Lists page.
- Click the drop-down menu next to the list you want to work with, and choose Settings.
- Scroll to find the unique List ID field. The string of letters and numbers is the list ID.
You can also send an API request using the GET method to https://usX.api.mailchimp.com/3.0/lists
and find the list ID in the response.
Upvotes: 2