85 lines
2.6 KiB
JavaScript
85 lines
2.6 KiB
JavaScript
const server_constants = require('../tools/server_constants');
|
|
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
const request = require('superagent');
|
|
|
|
const sendemail = require('../sendemail');
|
|
|
|
const newsletter = [
|
|
{
|
|
name: 'Paolo',
|
|
mailchimpInstance: 'us16',
|
|
listUniqueId: 'e70fd8ba4c',
|
|
mailchimpApiKey: '24d1eb0e4f21dd7c52d47214b0d62cfd-us16'
|
|
// CLIENT ID 682712991042
|
|
// Client Secret 69c627f5dad15f6072ac4f86f5312a6078c94f72a0902d2f4c
|
|
},
|
|
{
|
|
name: 'Paolo',
|
|
mailchimpInstance: 'us16',
|
|
listUniqueId: 'e70fd8ba4c',
|
|
mailchimpApiKey: '24d1eb0e4f21dd7c52d47214b0d62cfd-us16'
|
|
// CLIENT ID 682712991042
|
|
// Client Secret 69c627f5dad15f6072ac4f86f5312a6078c94f72a0902d2f4c
|
|
},
|
|
{
|
|
name: 'AssShen',
|
|
mailchimpInstance: 'us4',
|
|
listUniqueId: '991c0b8321',
|
|
mailchimpApiKey: '07dd8b0bd078ae3a79e398656c276bbd-us4'
|
|
// CLIENT ID 682712991042
|
|
// Client Secret 69c627f5dad15f6072ac4f86f5312a6078c94f72a0902d2f4c
|
|
},
|
|
{
|
|
name: 'AssociazioneShen',
|
|
mailchimpInstance: '',
|
|
listUniqueId: '',
|
|
mailchimpApiKey: ''
|
|
}
|
|
|
|
];
|
|
|
|
router.post('/', (req, res) => {
|
|
|
|
idwebsite = req.body.idwebsite;
|
|
idapp = req.body.idapp;
|
|
locale = req.body.locale;
|
|
|
|
const user = {
|
|
email: req.body.email,
|
|
name: req.body.firstName,
|
|
surname: req.body.lastName,
|
|
};
|
|
|
|
sendemail.sendEmail_Newsletter(locale, user, idapp);
|
|
|
|
request
|
|
.post('https://' + newsletter[idwebsite].mailchimpInstance + '.api.mailchimp.com/3.0/lists/' + newsletter[idwebsite].listUniqueId + '/members/')
|
|
.set('Content-Type', 'application/json;charset=utf-8')
|
|
.set('Authorization', 'Basic ' + new Buffer('any:' + newsletter[idwebsite].mailchimpApiKey).toString('base64'))
|
|
.send({
|
|
'email_address': req.body.email,
|
|
'status': server_constants.RIS_SUBSCRIBED_STR,
|
|
'merge_fields': {
|
|
'FNAME': req.body.firstName,
|
|
'LNAME': req.body.lastName
|
|
}
|
|
})
|
|
.end(function (err, response) {
|
|
console.log("STAT", response.status);
|
|
|
|
if (response.status < 300 || (response.status === 400 && response.body.title === "Member Exists")) {
|
|
if (response.status === 400 && response.body.title === "Member Exists")
|
|
res.send({result: server_constants.RIS_SUBSCRIBED_ALREADYEXIST, msg: server_constants.RIS_SUBSCRIBED_MSG_ALREADYEXIST[locale]});
|
|
else
|
|
res.send({result: server_constants.RIS_SUBSCRIBED_OK, msg: server_constants.RIS_SUBSCRIBED_MSG[locale]});
|
|
} else {
|
|
res.send({result: server_constants.RIS_SUBSCRIBED_ERR, msg: server_constants.RIS_SUBSCRIBED_MSG_FAILED[locale]});
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
module.exports = router;
|