1

我正在使用他们的包装类与 mailchimp APi 集成。我已经在我的 mailchimp 仪表板中配置了 webhook,并且将获得 webhook 响应的文件在顶部有这个

 if(isset($_POST['type'])){
 $yes=$_POST['data']['email'];

 $querynewsubscrip="INSERT into newslettersubscrips SET optemail='$yes'";
 $resultnewsubscripxx=mysql_query($querynewsubscrip) or die('Query failed: ' .  mysql_error());

 }

这是我需要捕捉 Mailchimp 的响应吗?我假设的是,webhook 通过 post 向我发送数据,类型告诉我操作是什么,数据数组包含所有数据。请指导

4

2 回答 2

2

Mailchimp 在这里有一个指南:http://apidocs.mailchimp.com/webhooks/downloads/#php 这里有一些 示例代码: http: //apidocs.mailchimp.com/webhooks/downloads/webhooks.phps

这应该解释你需要做什么。

于 2012-08-13T10:59:06.170 回答
0

根据您的代码,您似乎只想在触发适当的 MailChimp webhook 时订阅用户。

您所要做的就是检查$_POST['type']MailChimp 发送的变量,如果它等于所需的状态,请执行以下操作,例如:

if( isset( $_POST['type'] ) && $_POST['type'] == 'subscribe' ) {

    $yes=$_POST['data']['email'];

    $querynewsubscrip="INSERT into newslettersubscrips SET optemail='$yes'";
    $resultnewsubscripxx=mysql_query($querynewsubscrip) or die('Query failed: ' .  
    mysql_error());

}

因此,您的代码中唯一缺少的就是$_POST['type'] == 'subscribe'条件。因为如果您没有添加它,所有其他 webhook 类型也将连接到您的代码。

关于 webhooks 的 MailChimp 官方文档:https ://developer.mailchimp.com/documentation/mailchimp/guides/about-webhooks/和教程https://rudrastyh.com/mailchimp-api/webhooks.html#processing-webhooks

于 2018-08-23T05:33:50.793 回答