Use the Mailchimp API

前端 未结 3 897
一个人的身影
一个人的身影 2021-01-01 04:50

I\'d like to use the Mailchimp Node.js API in my Parse Cloud Hosting app to subscribe a user to a mailing list. Parse doesn\'t support NPM but, given that the Mailchimp API

3条回答
  •  没有蜡笔的小新
    2021-01-01 05:14

    I've been unable to use the Mailchimp API directly but the REST API is pretty easy to use.

    In main.js, create a Cloud Function. Enter your API key and update the REST URL to point at the correct Mailchimp data center (http://apidocs.mailchimp.com/api/2.0/)

    var mailchimpApiKey = "<>";
    
    Parse.Cloud.define("SubscribeUserToMailingList", function(request, response) {
    
      if (!request.params ||
            !request.params.email){
        response.error("Must supply email address, firstname and lastname to Mailchimp signup");
        return;
      }
    
      var mailchimpData = {
        apikey  : mailchimpApiKey,
        id      : request.params.listid,
        email   : {
          email : request.params.email
        },
        merge_vars : request.params.mergevars
      }
    
      var url = "https://<>.api.mailchimp.com/2.0/lists/subscribe.json";
    
      Parse.Cloud.httpRequest({
        method: 'POST',
        url: url,
        body: JSON.stringify(mailchimpData),
        success: function(httpResponse) {
          console.log(httpResponse.text);
    
          response.success("Successfully subscribed");
        },
        error: function(httpResponse) {
          console.error('Request failed with response code ' + httpResponse.status);
          console.error(httpResponse.text);
    
          response.error('Mailchimp subscribe failed with response code ' + httpResponse.status);
        }
      });
    
    });
    

    Then, in the code which calls this function... (replace your list ID)

    Parse.Cloud.run("SubscribeUserToMailingList", {
        listid      : "<>",
        email       : email,
        mergevars   : {
            FNAME   : firstName,
            LNAME   : lastName
        }
    })
    .then(function(success){
        console.log("Successfully subscribed");
        // ...
    },
    function(error){
        console.log("Unable to subscribe");
        // ...
    });
    

提交回复
热议问题