2017-06-21 127 views
-1

我在我的网页上有一个电子邮件弹出窗口,其中包含三个字段:电子邮件,出生月份和出生日期。因此,如果用户填写这些数据并点击提交,我希望这些数据被写入mailchimp列表中。 有什么办法可以做到吗?如何通过我的页面发送数据到mailchimp列表

谢谢

+0

你应该考虑添加一些代码,你如何实现的API。没有任何信息,没有人可以帮助你。 –

回答

1

试试这个:

function syncMailchimp($data) { 
    $apiKey = 'your api key'; 
    $listId = 'your 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'], // You can add your fields here 
      'LNAME'  => $data['lastname'], 
      'DOB'  => 'mm/dd', // Add your date of birth here in mm/dd format 
     ] 
    ]); 

    $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; 
} 
+0

函数syuncMail($ data)中的$ data参数是什么? – Stefanos

+0

这是您的$ _POST阵列.. – Sehdev

+0

您可以不使用它。在这种情况下,只需使用$ _POST而不是$ data – Sehdev

相关问题