У меня странная проблема. В основном работает приведенный ниже код:
function invokeMauticAPI(requestProperties) {
let caller = saRequest[requestProperties.method.toLowerCase()](requestProperties.url);
caller = caller.set("Authorization", "Basic " + generateMauticAuthToken());
if (requestProperties.body !== undefined && requestProperties.body !== null) {
caller = caller.send(requestProperties.body);
} else {
caller = caller.send();
}
return new Promise((resolve, reject) => {
caller.end((err, response) => {
if (err) {
if (response && !err.response) {
err.response = response;
}
return reject(err);
}
if (response.ok) {
//creepy case made by mautic which is surely NOT very REST-full
if (response.body && response.body.success === false) {
let errObj = new Error(`Error response from mautic with status ${response.status} `);
errObj.details = response.body;
reject(errObj);
}
return resolve(response.body);
}
let errObj = new Error(`Error response from mautic with status ${response.status} `);
errObj.response = response;
return reject(errObj);
})
});
}
Код вызывается с настройками запроса, такими как (некоторые данные заменены для безопасности):
{
"method": "POST",
"url": "https://mautic.example.com/api/emails/31/contact/705/send",
"body": {
"tokens": {
"{userName}": "Kote",
"{siteUrl}": "https://dev.example.com/staging/",
"{messageText}": "Hello world",
"{detailsUrl}": "https://dev-local.example.com/staging/message/1234ABCD"
}
}
}
При mautic вместо этого случайным образом возвращается странная ошибкауспеха и когда это происходит, электронное письмо не отправляется:
{"success":false,"failed":[]}
Версия Mautic - 2.15.2. Что может быть причиной такого поведения mautic?