私はそれをv3でmailchimp APIを試してきました。私はPHPを使用して以来、私はいくつかのトラブルが始まったが、今はすべてがうまくいく。Mailchimp api v3:バッチサブスクリプションは常に保留中
私はリストに複数の加入者を追加しようとしています。
私が見た:https://devs.mailchimp.com/blog/batch-operations-and-put-in-api-v3-0/
を、次のコードを試みた:
<?php
$apiKey = "apikey";
$listId = "listid";
$memberId = md5(strtolower("[email protected]"));
$dataCenter = substr($apiKey,strpos($apiKey,'-')+1);
$url = 'https://'. $dataCenter . '.api.mailchimp.com/3.0/lists/' . $listId .'/members';
$batchurl = 'https://'. $dataCenter . '.api.mailchimp.com/3.0/batches';
$filename = "test_csv.csv";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
$user_info = str_getcsv($contents, ";");
$ch = curl_init($batchurl);
curl_setopt($ch, CURLOPT_USERPWD, 'apikey:'.$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_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
$array = array();
for ($i = 1; $user_info[$i]; $i++) {
$array[] = array(
"method" => "PUT",
"path" => 'lists/'.$listId.'members/'.md5(trim($user_info[$i])),
"body" => '{"email_address" => '.trim($user_info[$i]).',"status" => "subscribed"}'
);
}
$bck = '{"operations": '.json_encode($array).'}' ;
curl_setopt($ch, CURLOPT_POSTFIELDS, $bck);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
をさらに残念ながら、このコードは、エラーを返しません。のみ:
string(624) "{"id":"af07a55fea","status":"pending","total_operations":0,"finished_operations":0,"errored_operations":0,"submitted_at":"2016-05-09T14:46:21+00:00","completed_at":"","response_body_url":"","_links":[{"rel":"parent","href":"https://us13.api.mailchimp.com/3.0/batches","method":"GET","targetSchema":"https://us13.api.mailchimp.com/schema/3.0/Batches/Collection.json","schema":"https://us13.api.mailchimp.com/schema/3.0/CollectionLinks/Batches.json"},{"rel":"self","href":"https://us13.api.mailchimp.com/3.0/batches/af07a55fea","method":"GET","targetSchema":"https://us13.api.mailchimp.com/schema/3.0/Batches/Instance.json"}]}"
私は悲しいかなか完全にわからないが、なぜそれが保留中ですか?私は生成されたidのリクエストを取得しようとしました、そして悲しいことに、 "待っています"と言っていました。
誰も同じ問題が発生しましたか?上記のコードを動作させるには何ができますか?
ありがとうございます!
EDIT 1:TooMuchPeteによって与えられた最初の回答による修正。
これらは一度に1つずつ実行されるため、送信された複数のメールがある場合は、そのメールが自分のターンになるまで保留になります。あなたが「保留中」から離れていない場合は、カスタマーサポートに連絡し、何が起きているかを確認する必要があります。 – TooMuchPete
私はノードで非常に似たような操作をしていますが、私は同じ問題を抱えています。あなたがtotal_operationsが0であることに気づいたら、私はなぜそれがわからないのですか?しかし、私は同じことを得ています。私はまた、差をつけなかったメンバーの後にメールアドレスのmd5ハッシュを追加しました。 – mikedklein
total_operations:0は、私たちが問題を説明する操作を許可されていないことを意味しますが、それはただの理論です。この日まで、私の操作は起動しません。 – LamaDelRay