【问题标题】:Add subscriber to a Mailchimp group / update form answers via web request通过网络请求将订阅者添加到 Mailchimp 组/更新表单答案
【发布时间】:2020-12-12 22:13:02
【问题描述】:

我有一个静态网页上的两步简报注册表单,它从登录页面上的一个简单文本字段开始,其中包含电子邮件文本字段和一个按钮。

我向自定义 Mailchimp 表单的 POST 端点发出 JSONP 请求以订阅用户。

当用户点击注册时,我已经想触发请求以确保以正确的方式完成,即使用户决定不给我任何进一步的信息,但它也会打开一个弹出窗口提示输入更多详细信息关于他们的兴趣,我想在 Mailchimp 中组织成小组。如果我只是尝试重新订阅电子邮件地址,则会失败并出现以下错误:

[xxx@yyy] 已订阅列表 [zzz]

所以这种方法似乎不起作用。我还能做些什么来实现这种用户体验,而不必延迟请求并可能丢失注册。

【问题讨论】:

    标签: javascript web frontend mailchimp


    【解决方案1】:

    第二个表单上带有附加信息的请求应该是 PATCH/PUT 以更新您创建的用户

    【讨论】:

      【解决方案2】:

      您可以通过“PATCH”方法使用 PHP Curl。一个例子:

      <?php
      
      $url = 'https://us2.api.mailchimp.com/3.0/lists/<LIST_ID>/members/<MEMBER_ID (= MD5 of subscriber's e-mail)>';
      
      $data = ['merge_fields' => ['FNAME' => $name]]; // If you want to add his/her name
      
      $ch = curl_init($url);
      curl_setopt_array($ch, [
      CURLOPT_CUSTOMREQUEST => 'PATCH',
      CURLOPT_HTTPHEADER => ['Authorization: Basic <YOUR_API_KEY>', 'Content-Type: application/json'],
      CURLOPT_POSTFIELDS => json_encode($data),
      CURLOPT_RETURNTRANSFER => 1,
      CURLOPT_SSL_VERIFYPEER => 0,
      CURLOPT_TIMEOUT => 10
      ]);
      curl_exec($ch);
      $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
      curl_close($ch);
      echo $httpcode;
      

      Mailchimp API 参考:https://mailchimp.com/developer/api

      【讨论】:

        猜你喜欢
        • 2016-06-12
        • 2020-12-24
        • 2012-01-07
        • 2017-05-21
        • 2023-04-05
        • 2019-02-10
        • 1970-01-01
        • 2015-11-11
        • 2018-05-15
        相关资源
        最近更新 更多