Die Aktualisierung von Abonnenten in einer Liste mit cURL und Mailchimp API v3
Ich habe diesen code unten, fügt ein Benutzer zu einer bereits vorhandenen Liste in Mailchimp.
$apikey = '<api_key>';
$auth = base64_encode( 'user:'.$apikey );
$data = array(
'apikey' => $apikey,
'email_address' => $email,
'status' => 'subscribed',
'merge_fields' => array(
'FNAME' => $name
)
);
$json_data = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://us2.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);
var_dump($result);
die('Mailchimp executed');
Dieser code fügt nur Benutzer auf der Liste und wenn ich versuche, fügen Sie die details von dem gleichen user zweimal wirft er folgenden Fehler auf den zweiten Versuch:
[email protected] ist bereits eine Liste mit Mitglied. PATCH zum update der bestehenden Mitglieder.
Wie gehe ich über die Verwendung von PATCH-update user-details? Ich bin mir nicht sicher, wo Sie es angeben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich herausgefunden habe, wohin ich gehe falsch. Wenn der Benutzer zuerst zu der Liste Hinzugefügt, die Reaktion liefert eine ID. Ich brauche zum speichern der ID in meiner Datenbank durch die person, die details und die Referenz ID in der url-ich mache einen Anruf an, wenn ich aktualisieren möchten, müssen Sie die details des Benutzers in der Mailchimp-Liste.
Dank @TooMuchPete für die richtige curl Befehl.
md5(strtolower($email))
. Hier ist die MailChimp Dokumentation link auf dieser.Du suchst die
CURLOPT_CUSTOMREQUEST
- option in cURL.Aber, denn das ist jetzt Ihre zweite Frage, in wie vielen Tagen Fragen, wie zu verwenden der integrierten cURL-Bibliothek, könnte es sich lohnen, mit so etwas ein wenig besser. Wenn du auf PHP 5.4 oder besser, ich empfehle Saufen. PHP-Anforderungen ist auch sehr gut, aber, und funktioniert mit PHP 5.3.
Versuchen, diese ein. Es ist für mich arbeiten. Ich bin mit dieser Funktion. Hoffe, es sollte dein problem gelöst hat.