# Integration with Mailchimp

## What You'll Need <a href="#what-youll-need" id="what-youll-need"></a>

Backbench account - [Sign Up](https://bench.backbench.io/signup), the personal account will always remain free to use.

Mailchimp account- sign up, create a list and add recipient into the list, create your Campaign and customize your content of email also add the list to your campaign.

## Backend <a href="#frontend" id="frontend"></a>

1. Select +, in the upper right corner to create a Module. For example, say "mailchimp.js" and select CREATE or hit Enter.
2. Copy and paste the code module from below.
3. Replace USER NAME, PASSWORD  and API key from mailchimp setting section (create a new api key using create button).
4. Select save.

{% tabs %}
{% tab title="NodeJS" %}

```javascript
var request = require("request");
module.exports.endpoint = function(req, cb){
var options = { 
method: 'POST',url:
'https://us12.api.mailchimp.com/3.0/campaigns/[campaign_id]/actions/test',
  headers: { 
     content_type: 'application/json'
      },
  auth:{
      username:'username', 
     password: 'api_key'
    },
  body: { 
    test_emails: [ 'TO Mail' ],
    send_type: 'html' 
  },
  json: true 
};

request(options, function (error, response, body) {
  if (error) {
      cb({res:error})
  }
  console.log(body);
  cb({d:body});
});
 
}; 
```

{% endtab %}

{% tab title="BBLANG" %}

```javascript
chimp:handler(req)->{
bb:http:post({
url: 'https://us12.api.mailchimp.com/3.0/campaigns/[campaign_id]/actions/test',
  headers: { 
   content_type: 'application/json'
      },
  Auth:{
   username:'username', 
   password: 'api_key'
    },
  
 body: { 
         test_emails: [ 'TO EMAIL' ],
         send_type: 'html' 
        }
 }) 
 },

 redirect:ghandler(req, url)-> {
    return {
        status: 302,
        headers: {
            Location: url
        }
    }
}
```

{% endtab %}
{% endtabs %}
