#javascript #api #mailchimp-api-v3.0
#javascript #API #mailchimp-api-v3.0
Вопрос:
Я пытаюсь использовать mailchimp API для подписки пользователя на существующий список.
Используя https-запрос узла, я отправляю следующий запрос на сервер mailchimp:
const url = `https://us7.api.mailchimp.com/3.0/lists/<list_id>/members?skip_merge_validation=true'`;
const options = {
method: "POST",
auth: "<name>:<API Key>",
};
const request = https.request(url, options, (response) => {
response.on("data", (data) => {
console.log(JSON.parse(data));
if (data.status === 200) {
res.redirect("/sucess");
} else {
res.redirect("/failure");
}
});
});
request.write(JSON.stringify(user_data));
request.end();
});
Перед отправкой запроса я выполняю консоль.регистрируйте пользовательские данные, собранные из интерфейса.
console.log("USER DATA : " JSON.stringify(user_data));
и это ответ, который я получаю от сервера API :
USER DATA : {"members":[{"email_address":"a.b@email.com","status":"subscribed","merge_fields":{"FNAME":"A","LNAME":"B"}}]}
{
type: 'http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/',
title: 'Invalid Resource',
status: 400,
detail: "The resource submitted could not be validated. For field-specific details, see the 'errors' array.",
instance: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
errors: [
{
field: 'email_address',
message: 'This value should not be blank.'
}
]
}
Как вы можете видеть в журнале, поле email_address не является пустым.
Кто-нибудь сталкивался с этой проблемой раньше? есть идеи?
Заранее спасибо
Ответ №1:
Я нашел проблему, она была связана с моей пользовательской структурой данных. Теперь он работает со следующим кодом
const user_data = {
email_address: req.body.email,
status: "subscribed",
merge_fields: {
FNAME: req.body.fName,
LNAME: req.body.lName,
}
}