0
我试图插入数据到mailchip使用下面的代码,但它不工作,问题与我的新领域'Q1' => "50000",
当我将删除这然后能够成功添加,但我需要插入额外领域。我需要插入电子邮件,姓名,Q1,Q2,Q3,Q4和Q5。Mailchimp插入自定义表单域
这里是mailchimp形式Q1字段设置
而且我的PHP代码:
$data = [
'email' => '[email protected]',
'status' => 'subscribed',
'firstname' => 'john',
'lastname' => 'doe'
];
Mailchimp($data);
function Mailchimp($data) {
$apiKey = 'XXXXXXXXXXXXXXXXX';
$listId = 'XXXXXXXX';
$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'],
'Q1' => "50000",
],
]);
$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;
}
任何帮助将不胜感激
尝试下探后'“50000”'最后一个逗号,看看列是mailchimp? – Syfer
尝试但没有结果相同的问题 –
当您在'merge_fields'中包含'Q1'时,您从MailChimp API收到的回复是什么?如果出现错误,则响应可能会包含一条消息,说明可能发生了什么问题。另外,你确定'Q1'的合并域是否被创建? – Terry